コマンドモードで一般的に移動する方法、具体的には行にジャンプする方法を知っています。しかし、現在行っている行の最後にジャンプするコマンドは何ですか?
15 に答える
$ (ドル記号)キーだけです。を使用Aして行末に移動し、編集モード (追加) に切り替えることができます。空白以外の最後の文字にジャンプするには、g次に_キーを押します。
余談ですが、(行頭に挿入モード)の反対ですA。Iだけを押すと^、行の最初の非空白文字にカーソルが置かれます。
多くの人が言ったように:
- $行の終わりにあなたを連れて行きます
だけでなく:
- ^または_、行の最初の非空白文字に到達し、
- 0(ゼロ) を指定すると、行頭に移動します。空白
- $行の最後の文字に移動します。
g _最後の非空白文字に移動します。
g $画面行の終わりに移動します (バッファ行が複数の画面行にまたがっている場合)
主な質問 - 行末
$行末に移動し、コマンド モードのまま
A行末に移動し、挿入モードに切り替えます
逆に - 行頭 (技術的には最初の非空白文字)
^行頭に移動し、コマンドモードのまま
I(大文字の i) 行頭に移動し、挿入モードに切り替えます
さらに - 行の開始 (技術的には、空白に関係なく最初の列)
0(ゼロ) 行頭に移動し、コマンド モードのまま
0i(ゼロの後に小文字の i が続きます) 行頭に移動し、挿入モードに切り替わります
vi を学び始めた人のために、vi のコマンドと典型的な Windows GUI エディターのカーソル移動およびショートカット キーを並べてリストすることで、vi の優れた紹介を示します。
現在の行が表示されている画面を次の行に折り返す場合、g$を使用して画面の行の終わりに到達できます。
を押すAと、行末から始まる編集モードに入ります。
ドル記号: $
「End」キーの利点は、通常モードと挿入モードの両方で機能することです。
'$' は通常/コマンド モードでのみ機能しますが、従来の vi エディターでも機能します (vim が利用できない場合に知っておくとよいでしょう)。
多くの場合、文字列内にいるときは二重引用符で囲みます。または、ステートメントを書いているときにエスケープを押したくない場合は、矢印キーでその行の末尾に移動し、セミコロン ( ;
) を押して終了します。この線。vimrcファイル内に次の行を記述します。
imap <C-l> <Esc>$a
行は何を言っていますか?Ctrl+l を一連のコマンドにマップします。Esc(コマンド モード)、$(行末)、a(追加) を同時に押すのと同じです。
また、 line (またはおそらく物理的な行) とscreen lineの違いにも注意してください。行は行末文字 ("\n") で終了します。スクリーン ラインとは、端末または画面でたまたま 1 行の文字として表示されるものです。電子メールなどを書くときに非常に一般的な、画面幅よりも長い物理的な行がある場合、この 2 つはバラバラになります。
この区別は、行末コマンドにも現れます。
- $0それぞれ、物理的な行または段落の末尾または先頭に移動します。
- g$g0画面の行または段落の末尾または先頭にそれぞれ移動します。
常に後者の動作を好む場合は、次のようにキーを再マップできます。
:noremap 0 g0
:noremap $ g$
または、明らかな答えがあります。Endキーを使用して行末に移動します。
おそらく無関係ですが、現在の行の後に新しい行を開始する場合は、行のどこでもoを使用できます。
私は Home/End を使用して、Mac がサポートしていない挿入モード (Windows と Linux での使用から) で行の先頭と末尾に移動することに慣れていました。これは、リモート システムで vim を使用しているときも簡単に実行できないため、特に厄介です。試行錯誤の結果.vimrc
、同じことを行うこれらの行を思いつきましたが、行の開始は Ctrl-A に、行の終了は Ctrl-D にバインドされています。(何らかの理由で、Ctrl-E が予約されているか、少なくともバインドする方法がわかりませんでした。) お楽しみください。
:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>
ここには、他の ASCII 制御文字コードの優れたチャートもあります。
http://www.physics.udel.edu/~watson/scen103/ascii.html
Ctrl-V + Ctrl- も同様に実行できますが、このような場所には貼り付けられません。