1336

コマンドモードで一般的に移動する方法、具体的には行にジャンプする方法を知っています。しかし、現在行っている行の最後にジャンプするコマンドは何ですか?

4

15 に答える 15

2274

$ (ドル記号)キーだけです。を使用Aして行末に移動し、編集モード (追加) に切り替えることができます。空白以外の最後の文字にジャンプするには、g次に_キーを押します。

余談ですが、(行頭に挿入モード)の反対ですAIだけを押すと^、行の最初の非空白文字にカーソルが置かれます。

于 2008-09-19T21:20:48.503 に答える
326

多くの人が言ったように:

  • $行の終わりにあなたを連れて行きます

だけでなく:

  • ^または_、行の最初の非空白文字に到達し、
  • 0(ゼロ) を指定すると、行頭に移動します。空白
于 2008-09-19T22:22:49.087 に答える
142
  • $行の最後の文字に移動します。
  • g _最後の非空白文字に移動します。

  • g $画面行の終わりに移動します (バッファ行が複数の画面行にまたがっている場合)

于 2010-09-28T11:04:58.223 に答える
83

主な質問 - 行末

$行末に移動し、コマンド モードのまま

A行末に移動し、挿入モードに切り替えます

逆に - 行頭 (技術的には最初の非空白文字)

^行頭に移動し、コマンドモードのまま

I(大文字の i) 行頭に移動し、挿入モードに切り替えます

さらに - 行の開始 (技術的には、空白に関係なく最初の列)

0(ゼロ) 行頭に移動し、コマンド モードのまま

0i(ゼロの後に小文字の i が続きます) 行頭に移動し、挿入モードに切り替わります

vi を学び始めた人のために、vi のコマンドと典型的な Windows GUI エディターのカーソル移動およびショートカット キーを並べてリストすることで、vi の優れた紹介を示します。

Windows ユーザー向けの vi エディター

于 2015-02-07T11:02:51.260 に答える
47

現在の行が表示されている画面を次の行に折り返す場合、g$を使用して画面の行の終わりに到達できます。

于 2008-09-19T22:49:56.823 に答える
18

を押すAと、行末から始まる編集モードに入ります。

于 2008-09-19T21:20:51.203 に答える
17

ドル記号: $

于 2008-09-19T21:20:26.430 に答える
15

「End」キーの利点は、通常モードと挿入モードの両方で機能することです。

'$' は通常/コマンド モードでのみ機能しますが、従来の vi エディターでも機能します (vim が利用できない場合に知っておくとよいでしょう)。

于 2008-09-19T22:05:58.100 に答える
13

多くの場合、文字列内にいるときは二重引用符で囲みます。または、ステートメントを書いているときにエスケープを押したくない場合は、矢印キーでその行の末尾に移動し、セミコロン ( ;) を押して終了します。この線。vimrcファイル内に次の行を記述します。

imap <C-l> <Esc>$a

行は何を言っていますか?Ctrl+l を一連のコマンドにマップします。Esc(コマンド モード)、$(行末)、a(追加) を同時に押すのと同じです。

于 2010-11-27T07:04:55.670 に答える
13

また、 line (またはおそらく物理的な行) とscreen lineの違いにも注意してください。行は行末文字 ("\n") で終了します。スクリーン ラインとは、端末または画面でたまたま 1 行の文字として表示されるものです。電子メールなどを書くときに非常に一般的な、画面幅よりも長い物理的な行がある場合、この 2 つはバラバラになります。

この区別は、行末コマンドにも現れます。

  • $0それぞれ、物理的な行または段落の末尾または先頭に移動します。
  • g$g0画面の行または段落の末尾または先頭にそれぞれ移動します。

常に後者の動作を好む場合は、次のようにキーを再マップできます。

:noremap 0 g0
:noremap $ g$
于 2010-12-17T18:31:41.140 に答える
9

または、明らかな答えがあります。Endキーを使用して行末に移動します。

于 2008-09-19T21:35:06.083 に答える
6

おそらく無関係ですが、現在の行の後に新しい行を開始する場合は、行のどこでもoを使用できます。

于 2008-10-01T18:47:03.240 に答える
2

私は 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- も同様に実行できますが、このような場所には貼り付けられません。

于 2014-08-02T22:00:03.377 に答える