Nvim の :help
ページは、生成されており、ソース を tree-sitter-vimdoc パーサーを使って解析したものです。
:splitこのコマンドは画面を2つのウィンドウに分割し、カーソルを上のウィンドウに置きます。
+----------------------------------+ |/* file one.c */ | |~ | |~ | |one.c=============================| |/* file one.c */ | |~ | |one.c=============================| | | +----------------------------------+
CTRL-W
w コマンドを使用して、ウィンドウ間を移動できます。上のウィンドウにいる場合、CTRL-W
w は下のウィンドウにジャンプします。下のウィンドウにいる場合は、最初のウィンドウにジャンプします。(CTRL-W
CTRL-W
も同じことを行います。CTRLキーを少し遅れて離した場合に便利です。):close実際には、":quit" や "ZZ" など、ファイルの編集を終了するコマンドはすべて機能します。しかし、":close" は、最後のウィンドウを閉じるときに誤って Vim を終了してしまうのを防ぎます。
:onlyこれにより、現在のウィンドウを除くすべてのウィンドウが閉じられます。他のウィンドウに変更がある場合は、エラーメッセージが表示され、そのウィンドウは閉じられません。
:split two.cone.c を編集している場合、結果は次のようになります。
+----------------------------------+ |/* file two.c */ | |~ | |~ | |two.c=============================| |/* file one.c */ | |~ | |one.c=============================| | | +----------------------------------+
:new":split" および ":new" コマンドを繰り返して、必要な数だけウィンドウを作成できます。
:3split alpha.c既存のウィンドウについては、いくつかの方法でサイズを変更できます。マウスを使用できる場合は簡単です。マウスカーソルを2つのウィンドウを区切るステータスラインに移動し、上下にドラッグします。
CTRL-W +小さくするには
CTRL-W -これらのコマンドはどちらもカウントを取り、ウィンドウサイズをその行数だけ増減します。したがって、"4
CTRL-W
+" はウィンドウを4行高くします。{height}CTRL-W _つまり、数値
{height}
、CTRL-W
、そしてアンダースコア(英語(米国)キーボードでは Shift キーを押しながら - キー)です。ウィンドウを可能な限り高くするには、カウントなしで CTRL-W
_ コマンドを使用します。:vsplitまたは
:vsplit two.c結果は次のようになります。
+--------------------------------------+ |/* file two.c */ |/* file one.c */ | |~ |~ | |~ |~ | |~ |~ | |two.c===============one.c=============| | | +--------------------------------------+
:vertical new":vertical" コマンドは、ウィンドウを分割する別のコマンドの前に挿入できます。これにより、そのコマンドはウィンドウを水平ではなく垂直に分割します。(コマンドがウィンドウを分割しない場合は、変更されずに機能します。)
CTRL-W
h 左側のウィンドウに移動 CTRL-W
j 下のウィンドウに移動 CTRL-W
k 上のウィンドウに移動 CTRL-W
l 右側のウィンドウに移動CTRL-W
t 最上部のウィンドウに移動 CTRL-W
b 最下部のウィンドウに移動+----------------------------------+ |/* file two.c */ | |~ | |~ | |two.c=============================| |/* file three.c */ | |~ | |~ | |three.c===========================| |/* file one.c */ | |~ | |one.c=============================| | | +----------------------------------+
CTRL-W
wを使用して)そのウィンドウに移動し、次のコマンドを入力します。CTRL-W Kこれは大文字の K を使用しています。何が起こるかというと、ウィンドウが一番上に移動します。K は再び上向きに移動するために使用されていることに気づくでしょう。垂直分割がある場合、
CTRL-W
K は現在のウィンドウを一番上に移動させ、Vim ウィンドウの幅全体を占めるようにします。これがあなたのレイアウトの場合+-------------------------------------------+ |/* two.c */ |/* three.c */ |/* one.c */ | |~ |~ |~ | |~ |~ |~ | |~ |~ |~ | |~ |~ |~ | |~ |~ |~ | |two.c=========three.c=========one.c========| | | +-------------------------------------------+
CTRL-W
K を使用すると、次のようになります。+-------------------------------------------+ |/* three.c */ | |~ | |~ | |three.c====================================| |/* two.c */ |/* one.c */ | |~ |~ | |two.c==================one.c===============| | | +-------------------------------------------+
CTRL-W
H ウィンドウを一番左に移動 CTRL-W
J ウィンドウを一番下に移動 CTRL-W
L ウィンドウを一番右に移動:qallこれは「すべて終了」を意味します。いずれかのウィンドウに変更が含まれている場合、Vim は終了しません。カーソルは変更のあるウィンドウに自動的に配置されます。次に、":write" を使用して変更を保存するか、":quit!" を使用して変更を破棄することができます。
:wallこれは「すべて書き込む」を意味します。ただし、実際には、変更のあるファイルのみを書き込みます。Vim は、変更されていないファイルを書き込むことは意味がないことを認識しています。そして、":qall" と ":wall" の組み合わせがあります。つまり、「すべて書き込んで終了」コマンドです。
:wqallこれにより、変更されたすべてのファイルが書き込まれ、Vim が終了します。最後に、Vim を終了し、すべての変更を破棄するコマンドがあります。
:qall!注意してください。このコマンドを元に戻す方法はありません!
vim -o one.txt two.txt three.txtこれにより、次のようになります。
+-------------------------------+ |file one.txt | |~ | |one.txt========================| |file two.txt | |~ | |two.txt========================| |file three.txt | |~ | |three.txt======================| | | +-------------------------------+
nvim -d main.c~ main.cVim が起動し、2つのウィンドウが並んで表示されます。文字を追加した行と、その上下の数行のみが表示されます。
VV VV +-----------------------------------------+ |+ +--123 lines: /* a|+ +--123 lines: /* a| <- fold | text | text | | text | text | | text | text | | text | changed text | <- changed line | text | text | | text | ------------------| <- deleted line | text | text | | text | text | | text | text | |+ +--432 lines: text|+ +--432 lines: text| <- fold | ~ | ~ | | ~ | ~ | |main.c~==============main.c==============| | | +-----------------------------------------+
:edit main.c :vertical diffsplit main.c~":vertical" コマンドは、ウィンドウを垂直に分割するために使用されます。これを省略すると、水平分割になります。
:edit main.c :vertical diffpatch main.c.diff警告: パッチファイルには、編集中のファイルに対するパッチが1つだけ含まれている必要があります。そうしないと、多くのエラーメッセージが表示され、一部のファイルが予期せずパッチされる可能性があります。パッチは Vim のファイルコピーに対してのみ行われます。ハードディスク上のファイルは変更されません(ファイルを書き込むことを決定するまで)。
:set noscrollbind
]c逆方向に移動するには、こちらを使用します。
[c数字を先頭に付けると、より遠くへジャンプできます。
:diffupdate差異を削除するには、ハイライトされたブロック内のテキストをあるウィンドウから別のウィンドウへ移動します。上記の「main.c」と「main.c~」の例を使用します。カーソルを左ウィンドウに移動し、もう一方のウィンドウで削除された行に合わせます。次に、このコマンドを入力します。
dp現在のウィンドウのテキストをもう一方のウィンドウに入れることで、変更が削除されます。「dp」は「diff put」の略です。逆も可能です。カーソルを右ウィンドウに移動し、「changed」が挿入された行に合わせます。次に、このコマンドを入力します。
doもう一方のウィンドウからテキストを取得することで、変更が削除されます。変更がなくなったため、Vimはすべてのテキストを閉じられた折りたたみにまとめます。「do」は「diff obtain」の略です。「dg」の方が適切だったかもしれませんが、既に別の意味(「dgg」はカーソルから最初の行までを削除する)で使用されています。
CTRL-W
を先頭に付けます。CTRL-^
は別のファイルへジャンプしますが、CTRL-W
CTRL-^
はウィンドウを分割して別のファイルを編集します。{cmd}
現在のウィンドウの左または上。 :aboveleft {cmd}
同上。 :rightbelow {cmd}
現在のウィンドウの右または下。 :belowright {cmd}
同上。 :topleft {cmd}
Vimウィンドウの一番上または左。 :botright {cmd}
Vimウィンドウの一番下または右。:tabedit thatfileこれにより、Vimウィンドウ全体を占有するウィンドウでファイル「thatfile」が編集されます。そして、上部に2つのファイル名が表示されるバーがあることに気づくでしょう。
+----------------------------------+ | thisfile | /thatfile/ __________X| (thatfile is bold) |/* thatfile */ | |that | |that | |~ | |~ | |~ | | | +----------------------------------+
+----------------------------------+ | /thisfile/ | thatfile __________X| (thisfile is bold) |/* thisfile */ | |this | |this | |~ | |~ | |~ | | | +----------------------------------+
:tab splitこれにより、いたウィンドウと同じバッファを編集するウィンドウが1つある新しいタブページが作成されます。
+-------------------------------------+ | thisfile | /thisfile/ | thatfile __X| (thisfile is bold) |/* thisfile */ | |this | |this | |~ | |~ | |~ | | | +-------------------------------------+
:tab help gt「gt」のヘルプテキストが新しいタブページに表示されます。