コマンドモードで、特に行にジャンプするなど、一般的に移動する方法を知っています。しかし、現在使用している行の最後にジャンプするコマンドは何ですか?
vimtutor
です。おそらく彼らはそれを知らなかったのでしょうか?
コマンドモードで、特に行にジャンプするなど、一般的に移動する方法を知っています。しかし、現在使用している行の最後にジャンプするコマンドは何ですか?
vimtutor
です。おそらく彼らはそれを知らなかったのでしょうか?
回答:
ただ、$ (ドル記号)キーを押します。を使用Aして行の最後に移動し、編集モード(追加)に切り替えることができます。空白以外の最後の文字をジャンプするには、g次に_キーを押します。
余談ですが、その反対AはI(行の先頭に挿入モード)です。だけを押すと^、カーソルが行の最初の空白以外の文字に置かれます。
g_
g_
バリエーションには空白文字が含まれていないため、バリエーションの方が便利な場合があります
多くの人が言ったように:
だけでなく:
|
コマンドはカウントを取得できます(例:3 |)。3列目にジャンプします。
g _ 空白以外の最後の文字に移動します。
g $ 画面行の終わりに移動します(バッファー行が複数の画面行にまたがっている場合)
b
まったく同じではない前の単語の先頭に移動します。ほぼと同等$ge
です。
_
とg_
ヤンキングにand を使用してい$
ます。
g_
行の最後に到達するために私が見つけた唯一の方法です。
$
は、私のためにラップされた場合でも、行の終わりに行きます。私はその行動を調整する設定がないことを知っています。たぶんそれはあなたの.vimrcによってg$
?
主な質問-行末
$ 行末に移動し、コマンドモードのまま
A 行末に移動し、挿入モードに切り替えます
逆に- 行頭(技術的には最初の非空白文字)
^ 行頭に移動し、コマンドモードのまま
I (大文字のi)行頭に移動し、挿入モードに切り替えます
さらに- 行頭(技術的には空白に関係なく最初の列)
0 (ゼロ)行頭に移動し、コマンドモードのまま
0i (ゼロの後に小文字のiが続く)行の先頭に移動し、挿入モードに切り替えます
viの学習を始めた人のために、ここでは、viの典型的なWindows GUIエディターのカーソルの動きとショートカットキーにviコマンドを並べて一覧表示することにより、viの概要を紹介します。
I
ないです0
けど^
、両方とI
して^
最初に行くの非空白の行の文字が、0
(その名前が示すように)列ゼロになります。
0
か?(行の最初の文字(=列0)に移動し、挿入モードに移動します)
0i
。:-)
現在の行が表示画面を次の行に折り返す場合、g $を使用して画面行の終わりに到達できます。
gw
、gq
テキストを再フォーマットするコマンドです。(:h gw
およびを参照:h gq
)gw{motion}
画面の行が実際の行に対応するようにテキストを変更しました。
多くの場合、文字列内にいるときは二重引用符で囲まれています。またはステートメントを書いているときに、エスケープを押して矢印キーでその行の終わりに行き、セミコロン(;
)を押して終わりにしたくないこの線。vimrcファイル内に次の行を記述します。
imap <C-l> <Esc>$a
行は何と言いますか?Ctrl + lを一連のコマンドにマッピングします。これはEsc、(コマンドモード)、$(行末)、a(追加)を同時に押すのと同じです。
vim
確かに、このようなことで、はるかに少ない時間で多くのことができるようになります。@razorxpress、マイナー調整はになりますimap <C-l> <Esc>A
。これにより、Ctrl + lはEsc
(終了挿入モード)、次にA
(行末に追加)を押すのと同じになります。
inoremap <C-l> <C-o>A
また、line(または物理行)とscreen lineの違いにも注意してください。行は行末文字( "\ n")で終了します。画面の行とは、端末または画面に1行の文字として表示されるものです。画面幅よりも物理的な線が長い場合、2つはばらばらになります。これは、電子メールなどを書くときに非常に一般的です。
この違いは、行末コマンドにも表示されます。
常に後者の動作を好む場合は、次のようにキーを再マップできます。
:noremap 0 g0
:noremap $ g$
g_
物理的な行の最後の非空白文字です。スクリーンラインはどうですか?
または、明らかな答えがあります。Endキーを使用して行の最後に移動します。
標準端末でvimを使用するためのmacbookのホットキーが表示されません。それが誰かを助けることを願っています。macOSユーザー向け(macbook pro 2018でテスト済み):
fn+ ← -開始行に移動
fn+ → -最終行に移動
fn+ ↑ -ページを上に移動
fn+ ↓ -ページを下に移動
fn+ g -カーソルをドキュメントの先頭に移動します
fn+ shift + g -カーソルをドキュメントの最後に移動します
最後の2つのコマンドでは、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-も使用できますが、このような場所には貼り付けられません。