Nvimの:help
ページは、生成され、ソースからtree-sitter-vimdocパーサーを使用して作成されています。
:edit foo.txt"foo.txt" の代わりに任意のファイル名を使用できます。Vimは現在のファイルを閉じて、新しいファイルを開きます。ただし、現在のファイルに未保存の変更がある場合、Vimはエラーメッセージを表示し、新しいファイルを開きません。
:help E37この時点で、いくつかの選択肢があります。次のコマンドを使用してファイルを書き込むことができます。
:writeまたは、強制的にVimに変更を破棄させて新しいファイルを編集するには、強制 (!) 文字を使用します。
:edit! foo.txt別のファイルを編集したいが、現在のファイルの変更をまだ書き込みたくない場合は、非表示にすることができます。
:hide edit foo.txt変更を含むテキストはまだそこにありますが、表示することはできません。これについては、22.4: バッファリストでさらに詳しく説明します。
vim one.c two.c three.cこのコマンドはVimを起動し、3つのファイルを編集することを伝えます。Vimは最初のファイルのみを表示します。このファイルで作業を終えた後、次のファイルを編集するには、次のコマンドを使用します。
:next現在のファイルに未保存の変更がある場合は、エラーメッセージが表示され、":next"は機能しません。これは、前のセクションで説明した":edit"と同じ問題です。変更を破棄するには
:next!ただし、ほとんどの場合は変更を保存して次のファイルに進みたいはずです。これには特別なコマンドがあります。
:wnextこれは、2つの別々のコマンドを使用するのと同じです。
:write :next現在位置
:argsこれは "arguments" の略です。出力は次のようになります。
:previousこれは ":next" コマンドと似ていますが、反対方向に移動する点が異なります。ここでも、最初にファイルを書き込みたい場合のショートカットコマンドがあります。
:wpreviousリストの最後のファイルに移動するには
:lastそして、最初に戻るには
:firstただし、":wlast" または ":wfirst" コマンドはありません!
:2next
:set autowrite書き込みたくないファイルを編集している場合は、再度オフにしてください。
:set noautowrite
:args five.c six.c seven.hまたは、シェルで使用されているように、ワイルドカードを使用します。
:args *.txtVimはリストの最初のファイルに移動します。繰り返しますが、現在のファイルに変更がある場合は、最初にファイルを書き込むか、":args!" (最後に ! を追加) を使用して変更を破棄できます。
CTRL-^
(英語(米国)キーボードでは、^は6キーの上にあります) を押します。例:args one.c two.c three.cこれでone.cにいます。
:nextこれでtwo.cにいます。ここで、
CTRL-^
を使用してone.cに戻ります。もう一度CTRL-^
を押すと、two.cに戻ります。もう一度CTRL-^
を押すと、再びone.cになります。ここで:nextこれでthree.cにいます。
CTRL-^
コマンドは、ファイルリスト内の現在位置の概念を変更しないことに注意してください。":next" や ":previous" のようなコマンドのみがそれを変更します。CTRL-^
は機能しません。`"これは、ファイルを離れたときにカーソルがあった位置に移動します。記憶されているもう1つのマークは、最後に変更を加えた位置です。
`.ファイル "one.txt" を編集しているとします。ファイルの中ほどで、"x" を使用して文字を削除します。次に、"G" で最後の行に移動し、":w" でファイルを書き込みます。他のいくつかのファイルを編集してから、":edit one.txt" を使用して "one.txt" に戻ります。ここで使用すると、Vimはファイルの最後の行にジャンプします。を使用すると、文字を削除した位置に移動します。ファイル内を移動した場合でも、
"
と.
は記憶された位置に移動します。少なくとも別の変更を行うか、ファイルを離れるまでは。50%mF次に、ファイル "bar.txt" を編集し、その最後の行にBマーク (barのB) を付けます。
GmBこれで、"'F" コマンドを使用して、foo.txtの中ほどまでジャンプバックできます。または、別のファイルを編集し、"'B" を入力すると、bar.txtの最後にジャンプします。
:marks M複数の引数を渡すこともできます。
:marks MCPマークを配置せずに古い位置と新しい位置にジャンプするには、
CTRL-O
とCTRL-I
を使用できることを忘れないでください。:set backupバックアップファイルの名前は、元のファイルに ~ を追加したものです。たとえば、ファイルの名前がdata.txtの場合、バックアップファイルの名前はdata.txt~です。バックアップファイルの末尾が ~ で終わるのが気に入らない場合は、拡張子を変更できます。
:set backupext=.bakこれにより、data.txt~の代わりにdata.txt.bakが使用されます。ここで重要になるもう1つのオプションは、'backupdir'です。これは、バックアップファイルが書き込まれる場所を指定します。デフォルトでは、バックアップを元のファイルと同じディレクトリに書き込むのが適切でしょう。
:set patchmode=.origこれで、ファイルdata.txtを初めて編集し、変更を加えてファイルを書き込むと、Vimは変更されていないファイルのコピーを "data.txt.orig" という名前で保持します。ファイルにさらに変更を加えると、Vimは "data.txt.orig" がすでに存在することに気づき、そのままにします。それ以降のバックアップファイルは、"data.txt~" ('backupext'で指定したものが使用されます) という名前になります。'patchmode'を空のままにした場合 (これがデフォルトです)、元のファイルは保持されません。
:edit thisfile /This vjjjj$y次に、テキストを配置するファイルを編集します。テキストを挿入したい文字の場所にカーソルを移動します。"p" を使用して、テキストをそこに貼り付けます。
:edit otherfile /There pもちろん、テキストをヤンクするために他の多くのコマンドを使用できます。たとえば、行全体を選択するには、"V" でビジュアルモードを開始します。または、
CTRL-V
を使用して長方形のブロックを選択します。または、"yy" を使用して1行をヤンクし、"yaw" を使用して単語をヤンクするなど。"p" コマンドは、カーソルの後にテキストを貼り付けます。カーソルの前にテキストを貼り付けるには、"P" を使用します。Vimは、行全体またはブロックをヤンクしたかどうかを記憶し、そのように貼り付けることに注意してください。"fyas「yas」コマンドは、以前と同様に文をヤンクします。「f」は、Vimにテキストをfレジスタに入れることを指示します。これは、ヤンクコマンドの直前になければなりません。次に、3行全体をlレジスタ(lineのl)にヤンクします。
"l3yyカウントは「l」の前でも同じようにできます。テキストブロックをb(blockのb)レジスタにヤンクするには、次のようにします。
CTRL-Vjjww"byレジスタ指定「"b」が「y」コマンドの直前にあることに注意してください。これは必須です。「w」コマンドの前に置いた場合、機能しません。これで、f、l、bレジスタに3つのテキストが保存されました。別のファイルを編集し、テキストを配置したい場所に移動します。
"fpここでも、レジスタ指定「"f」は「p」コマンドの前にあります。レジスタは任意の順序で配置できます。また、テキストは、何かをヤンクして上書きするまでレジスタに残ります。したがって、何度でも配置できます。
"wdawここでも、レジスタ指定は削除コマンド「d」の前にきます。
:write >> logfileこれにより、現在のファイルのテキストが「logfile」の末尾に書き込まれます。したがって、追記されます。これにより、行をコピーし、ログファイルを編集してそこに配置する必要がなくなります。つまり、2つのステップを節約できます。ただし、ファイルの末尾にのみ追記できます。数行のみを追記するには、「:write」を入力する前にビジュアルモードでそれらを選択します。10章では、行の範囲を選択する別の方法を学びます。
vim -R fileUnixでは、このコマンドも同じことを行うはずです。
view fileこれで、「file」を読み取り専用モードで編集しています。「:w」を使用しようとすると、エラーメッセージが表示され、ファイルは書き込まれません。ファイルを変更しようとすると、Vimは警告を表示します。
vim -M fileこれで、テキストを変更しようとするたびに失敗します。ヘルプファイルは、たとえばこのようになっています。変更を試みると、次のエラーメッセージが表示されます。
:set modifiable :set write
:edit copy.c不要なものを削除できます。次に、ファイルを新しい名前で保存する必要があります。「:saveas」コマンドを使用できます。
:saveas move.cVimは、指定された名前でファイルを書き込み、そのファイルを編集します。したがって、次回「:write」を実行すると、「move.c」が書き込まれます。「copy.c」は変更されません。編集しているファイルの名前を変更したいが、ファイルを書き込みたくない場合は、次のコマンドを使用できます。
:file move.cVimはファイルを「未編集」としてマークします。これは、Vimがこれが編集を開始したファイルではないことを認識していることを意味します。ファイルを書き込もうとすると、次のメッセージが表示される場合があります。