回答:
コマンドラインでファイルをVimに渡すと、ファイルはバッファーで開かれるだけでなく、引数リストに入力されます。したがって、:next
やなどのコマンドを使用し:first
てそれらをナビゲートできます(そして:argdo
、バッチ処理のために、これは気の利いたトリックになる可能性があります)。あなたの質問のために私がお勧めするコマンドは:wnext
(省略形:wn
)です。これ:write
は現在のバッファーであり、それからバッファーに進み:next
ます。
:bdelete
特に、一連のファイルを使用してコマンドラインからVimを起動し、作業が完了したら終了する場合は、明示的にバッファを作成する必要はありません。(私が考えることができる唯一の例外は、システムメモリを節約するために巨大なファイルをアンロードすること、または多くの異なる編集のために単一のGVIMインスタンスを再利用することです。)
ただし、本当にこれが必要な場合は、たとえば、カスタムコマンドを定義するだけです。
:command Wd write|bdelete
:w|bd
。
:next
場合によってはより理にかなっていると思います。
私はあなたがいないことに同意しながら、持っているあなたが現在使用していない開いているバッファを削除するには、私は私が持っているので、それらを削除したいのvim-航空会社のトップに、のタブラインが有効になっている番組開いているすべてのバッファのすべての時間を窓。私は次のものを持っています.vimrc
:
nnoremap qq :w\|bd<cr>
qq
現在のバッファを保存して閉じますが、vimの「マクロの記録」機能を台無しにします(これで問題ありません)。
ZZ
が思い浮かびますが、それは単にバッファを削除するのではなく、Vimを完全に保存して終了することになります。小文字zz
は、現在のカーソル行を中心にビューを配置するよりもマクロの価値が高いと思う人にとっては、興味深い代替マッピングかもしれません。
Q
Vimでの録音がどれほど価値があるかを理解した後、最近、に変更しました。
:next
バッファに移動し、タスクが終了したらすべてを書き込み/閉じること:wqa
です。これはあなたがあなたの家にいると仮定:set hidden
します~/.vimrc
。