タグ付けされた質問 「cursor-movement」

カーソルをバッファ内の別の場所に移動します。

6
現在の行ではなく、カーソルの上/下の行を削除するにはどうすればよいですか?
現在の行より上の行(またはn行)を削除するコマンドはありますか?上記=電流は含まれていません。 dkつまり、現在の行を削除しない代替手段はありますか?o/ Oとp/のP動作に似ていますが、削除を伴います。 現在、を実行していますkdd。これは、カーソルを1行上に移動して削除します。私は何ができるnnoremap <Leader>d kddとnnoremap <Leader>D jdd-が、カーソルを移動しない代替を持つことは良いオプションのように思えます。そのようなものはありますか?

2
`wrap`オプションが設定されている場合のスクロールの問題
wrapオプションがアクティブになるたびに(マークダウンファイルを操作しているときはいつでも)この問題に対処しています。 何が起きるかは、jおよびkでバッファを上下にスクロールしているときに、最上部と最下部の折り返されたテキスト行(視覚的に段落を形成)が画面からスムーズに(つまり、1つずつ)スクロールしないことです。代わりに、段落全体が消えて突然見えなくなり、見た目が見えなくなり、方向感覚が失われて迷惑な効果が生じます。 GIFは何が起こるかをよりよく説明すると思います。ここでは、k上方向にスクロールするために繰り返し押すだけです。一番下の段落に注目してください! 私はそれが修正可能であるとは思わなかったので、私はこの動作に慣れましたが、それから、それは物理的なラインでは発生せず、wrap設定されていません。 物理的な行ではなく視覚的な行で画面からスクロールアウトするようにVimに指示する方法はありますか? PS:はい、私は私がマッピングされてきたjとkするgjとgk。


2
ここからXバイト移動
現在のカーソル位置(改行を含む)からXバイト先に移動するにはどうすればよいですか? [count]goバッファの先頭からXバイト先に移動するために使用できます。私は試してみましたShift + V, G, [count]go(それ[count]goが私の選択の最初からカウントを開始すると仮定しました)が、残念ながらgo、バッファの最初からカウントを開始するだけなので、それも機能しませんでした。 また:set rulerformat=%o、現在のバイトオフセットを表示しようとしました(バイトオフセットにジャンプしてバイトオフセットとして位置を表示することで提案されています)[count]go。頭に数字を追加して、最後にを発行しました。これは機能しますが、あまり実用的ではありません...

1
デッドキーでのマークの使用
私は、バックティック(`)がデッドキーであるキーボードレイアウトを使用しています。 これは、バックティックとそれに続く母音(たとえば`a)を入力すると、Vimに表示されるのはアクセント付き文字(à)であることを意味します。したがって、でマークを設定すると、でマークmaの行にジャンプでき'aます。しかし、マークの特定の場所にジャンプして`aも機能しません。 私はこれの回避策を見つけました:デッドキーを入力するときに、バックティックを押してからスペースバーを押すことで、Vimにバックティックを受信させることができます。マークaに行きたい場合は、と入力し`␣aます。 その余分なスペースを打たずにマークにジャンプする方法はありますか?副作用はありませんか?

2
文の最後の文字に移動するにはどうすればよいですか?
通常モードで(と)、それぞれの文の前のまたは次の最初の文字に移動します。最後のキャラクターに移動するにはどうすればよいですか。 すべての文がピリオド)T.(次の文の最初の文字、最初のピリオドに戻る)で終わる場合、マクロで使用するより堅牢なソリューションが必要です。 私はビジュアルモードで動作していることを知ってasおりis、動作しますvis<ESC>(ビジュアルモード、文の内部を選択して、ビジュアルモードを終了します)。 私は途方に暮れています。助けて!

1
vimdiffで一致しない次の行に移動する
vimdiffで次の一致しない行に移動する方法はありますか?「次の変更された行に移動する」ではなく、現在のファイルの次の一致しない行に移動します。 私の場合、私は2つの大きなファイルを比較しようとしています。そのうちの1つは実際には他のサブセットです。私がしたいことは、大きなファイルで欠けている小さなファイルの行があるかどうかを確認することです。大きなファイルにカーソルを置いて、次の「行方不明」の行の注釈に直接ジャンプできるはずだと考えました。 問題の現在のファイルがソートされているので、たぶん "comm"コマンドラインユーティリティを使用して行方不明の行を見つけることができますが、vimdiffで簡単に実行できる方法があるかどうか、特に行がソートされていません。

3
前の行の最後まで削除する方法は?
例(^カーソル位置です): 前: a bc def ghi j k l mn o p q rs ^ 後: a bc def ghimn o p q rs ^ または少なくとも: a bc def ghimn o p q rs ^ を使用できることはわかっていますがd0i<BS>、これを行うためのより高速な方法が必要で、コマンドモードを維持したいと思っています。私はvimの初心者であり、おそらく答えはの修正だと思いますkA。 どうもありがとうございました! :-)

6
かっこ/括弧などの開始と終了の両方を押すときにvimを使用する
私がプログラムすることを学んだとき、私は開始ブラケットと終了ブラケットの両方などを押してから、左矢印キーを押してテキストを入力します。だから、中に入れて[hello]入力し、私[]それが第1のブラケットの上にあるように、左の矢印を、そして([)。 私はいつも正しい数のブラケットなどを持っていることを知っているので、それが好きです。 しかし、Vimの考え方に固執するために、私は継続的に矢印キーに手を伸ばしたくありません。矢印キーを使用したり、挿入モードを継続的に切り替えて押し続けるだけhで実行できることはありますか?

2
[count]%は何をしますか?
[count]%一致する中括弧のcount時間などの間で前後にジャンプすることを期待しますが、代わりにそのコマンドを入力すると、カーソルがバッファ内のランダムな場所に移動するようです。それは常に一定の場所に行くようですcountが、異なる場所には別の場所に行きますcount。それで、そのコマンドは正確に何をしますか?

1
非トップレベルのPython関数定義に移動するためのモーション
私のようなものを探しています[[(または[]、]]、][)非トップレベルの関数定義の代わりに、最初の文字の最上位のクラスや関数の定義に次の行で動作しています。 class Foo(): def __init__(self): pass def baz(self): #jump from here... pass def box(self): #... to here without searching or... pass biz = 123 def bar(): #... without going straight here pass デフォルトでは、vimは行の最初の文字から始まる変数の定義やその他のものを無視するようですが、クラスメソッドを調べているときの唯一の手段は、を検索することdef XYZです。

2
vimで行の括弧の終わりに行く/行の括弧を抜ける方法は?
/programming/11037825/vim-get-out-of-parenthesis-brackets-etcで回答された解決策を読みます。それはA行末にあなたを連れ去るコマンドに他なりません。 しかし、私の要件は別のものです。私が含んでいるファイルがあるとしましょう- x = (3+5)/(2+1); カーソルがオンのときにカーソルを最初または+上に移動したいが、オンにしたくない場合(「文字の上」の代わりに「文字の後」を検討できます)。/);

1
matchit.vimの[%、]%、a%は何をしますか?
matchitの%/ g%は使用するのに十分単純ですが、他のマッピングを理解するのに苦労しています。これは潜在的に有用に聞こえますが、理解できる方法で機能していないようです。 ]% Go to [count] next unmatched group, as specified by |b:match_words|. Similar to |]}|. 私は、これは多分私がにジャンプできるようにすることを期待するendif、endfunction(などが内蔵されたVIM ftpluginを使用して、次vimscriptの例を取り、b:match_words設定することが表示されます。) function! SuperTab() let l:part = strpart(getline('.'),col('.')-2,1) if (l:part=~'^\W\?$') return "\<Tab>" else return "\<C-n>" endif endfunction [%ほとんどの場合、にジャンプしfunction!、時々(カーソル位置に応じて一貫性のない)がにジャンプし、s ifを完全に無視し(ます。 sに]%ジャンプし)、それ以外は何もしません。 この例とva%同じように動作し[%、何も選択しません。これは正常な動作ですか?これらのマッピングが意味を持ついくつかの例はありますか?

1
矢印キーを使用した後、以前に挿入したテキストがリセットされるのはなぜですか?
ヘルプから:help i_ctrl-a: CTRL-A Insert previously inserted text. {not in Vi} 空のバッファがあり、通常モードになっているとします。 入力iして挿入モードにします。 と入力して()から、カーソル<C-h>(<left>挿入モードでマップしたもの)を押してカーソルを1文字左に移動しfoo、と入力して、エスケープを押して通常モードに戻ります。 バッファには次のものが含まれています。(foo) 誤って、以前に挿入されたテキストはそうで(foo)あると考えましたが、そうではありません。 以前に挿入されたテキストは、挿入モードでもう一度foo入力:registers .またはヒットすることで確認できます<C-a>。 矢印キーを押すと、以前に挿入したテキストがリセットされるのはなぜですか? 矢印キーを押しても最後に挿入モードになったときに挿入されたすべてのテキストをドットレジスタに保存する方法はありますか?

2
現在の行の特定の文字で始まる次の単語に移動する
タイトルに記載されているコマンドが欲しいです。組み込みのVimコマンドで探しましたが見つかりませんでした。私はvimの関数についていくつかのチュートリアルをオンラインで実行しました、アイデアは私のようなものを持つことです.vimrc: map <command> <argument>: call nextWordWithLetter(argument) function nextWordWithLetter(letter) " for word i in line " if word i's first letter = letter " col = column of word i " break col | "The command to jump to column number 'col' end function

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.