Vim で行末に移動するにはどうすればよいですか?
-
01-07-2019 - |
質問
コマンドモードで一般的に移動する方法、具体的には行にジャンプする方法などを知っています。しかし、現在いる行の最後にジャンプするコマンドは何でしょうか?
解決
ただ $ (ドル記号) 鍵。使用できます あ 行の末尾に移動し、編集モード (追加) に切り替えます。空白以外の最後の文字にジャンプするには、次のキーを押します。 g それから _ キー。
の反対 あ は 私 (行頭に挿入モード) 余談ですが。だけを押すと、 ^ カーソルを行の先頭に置きます。
他のヒント
多くの人が次のように言っています。
- $ 行の最後まで連れて行ってくれる
だけでなく:
- ^ または _ 行内の最初の非空白文字に移動し、
- 0 (ゼロ) を指定すると、行の先頭に移動します。空白
- $ 行の最後の文字に移動します。
g _ 空白以外の最後の文字に移動します。
g $ スクリーン行の末尾に移動します (バッファー行が複数のスクリーン行にまたがる場合)
主な質問 - 行末
$ 行末に移動し、コマンドモードのまま
あ 行末に移動し、挿入モードに切り替わります
逆に - 行の先頭 (技術的には最初の行) 空白以外の キャラクター)
^ 行の先頭に移動し、コマンドモードのままになります
私 (大文字の i) は行頭に移動し、挿入モードに切り替わります。
さらに - 行の先頭 (技術的には、内容に関係なく最初の列) 空白)
0 (ゼロ) は行の先頭に移動し、コマンド モードのままになります。
0i (ゼロの後に小文字の i) が行の先頭になり、挿入モードに切り替わります。
ここでは、vi を学習し始めている人向けに、vi コマンドと一般的な Windows GUI エディターのカーソル移動およびショートカット キーを並べてリストすることで、vi についての優れた入門書を提供します。
現在の行が表示されている画面の周りを次の行に折り返す場合は、次のようにすることができます。 g$ の終わりに到達するために 画面 ライン。
ドル記号:$
「End」キーの利点は、通常モードと挿入モードの両方で機能することです。
「$」は通常/コマンド モードでのみ機能しますが、クラシック vi エディタでも機能します (vim が使用できない場合に知っておくと便利です)。
多くの場合、文字列内にいる場合は二重引用符で囲まれている場合、またはステートメントを作成しているときにエスケープを押したくない場合は、矢印キーでその行の末尾に移動してセミコロン(;
) 行を終了するだけです。次の行を vimrc ファイル:
imap <C-l> <Esc>$a
ラインには何て書いてあるの?Ctrl+l を一連のコマンドにマップします。を押すのと同じです ESC (コマンドモード)、 $ (行末)、 ある すぐに(追加)。
の違いにも注意してください。 ライン (またはおそらく物理的なライン) スクリーンライン. 。行は行末文字 (「 」) で終了します。スクリーン行とは、端末または画面内で 1 行の文字として表示されるものです。物理的な行が画面の幅よりも長い場合、この 2 つは分離してしまいます。これは電子メールを書くときなどによく起こります。
この違いは行末コマンドにも現れます。
- $ そして 0 物理的な行または段落の末尾または先頭にそれぞれ移動します。
- g$ そして g0 それぞれ、画面の行または段落の終わりまたは先頭に移動します。
常に後者の動作を好む場合は、次のようにキーを再マップできます。
:noremap 0 g0
:noremap $ g$
プレス あ 行の末尾から編集モードに入ります。
あるいは次のような明白な答えもあります。使用 終わり キーを押して行の末尾に移動します。
関係ないかもしれませんが、現在の行の後に新しい行を開始したい場合は、行のどこでも o を使用できます。
最も簡単なオプションは、キーを入力することです $. 。テキストのブロックを操作している場合は、次のコマンドが役立つかもしれません。 { そして } それぞれ段落を前後に移動します。
私は挿入モードで Home/End を使用して行の先頭と末尾に移動することに慣れていました (Windows と Linux での使用による) が、Mac ではサポートされていません。リモート システムで 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- を押すこともできますが、このような場所にはうまく貼り付けられません。
標準ターミナルで vim を使用するための MacBook のホットキーが表示されません。誰かの役に立つことを願っています。macOS ユーザーの場合 (macbook pro 2018 でテスト済み):
ふん + ← - 開始行に移動
ふん + → - 終了行に移動
ふん + ↑ - ページを上に移動します
ふん + ↓ - ページを下に移動します
ふん + g - カーソルを文書の先頭に移動します
ふん + シフト + g - カーソルを文書の末尾に移動します
最後の 2 つのコマンドでは、2 回タップする必要がある場合があります。