実行するなどして、Vimでいくつかのファイルを開きます
vim a/*.php
23ファイルを開きます。
次に編集を行い、次の2回実行します
:q
すべてのバッファを閉じます。
Vimでバッファを1つだけ閉じるにはどうすればよいですか?
実行するなどして、Vimでいくつかのファイルを開きます
vim a/*.php
23ファイルを開きます。
次に編集を行い、次の2回実行します
:q
すべてのバッファを閉じます。
Vimでバッファを1つだけ閉じるにはどうすればよいですか?
回答:
注意:「bwのwは書き込みではなくワイプアウトを表します!」
マニュアルの詳細:
:bd
バッファ[N](デフォルト:現在のバッファ)をアンロードし、バッファリストから削除します。バッファが変更された場合、[!]が指定されていない限り、これは失敗します。その場合、変更は失われます。ファイルは影響を受けません。
何をしているのかわかっている場合は、:bwも使用できます。
:bw
|:bdelete |に似ていますが、実際にはバッファを削除します。
:bw
「あなたが何をしているのかわかっている」場合にのみ使用するように書かれていますが、私にはわかりません:bd
。
:bd
)タブのバッファを閉じると、タブも閉じます。あなたはおそらくしたいことはある:bd n .. [m]
か:n,mbd
あなたがバッファを見ずに行うことができ、近い番号または番号の範囲特定のために
w
write
Vimのマニュアルによれば、コマンドの省略形であり、「ワイプアウト」についての言及はありません。コマンドの説明(help write
)は、「バッファ全体を現在のファイルに書き込む」で始まります。
w
ました。彼はこの警告をそこに置いたので、人々はコマンドがバッファの書き込みを意味するとは思わなかった(それはバッファのワイプアウトを意味するのではない。)bw
w
bw
これが前の回答で明らかにされていない場合:
:bdは現在のバッファを閉じます。バッファリストを取得したくない場合。
:bd
(意味が何であれ)バッファを閉じるだけですが、:bw
すべての変数をクリアし、ls
バッファからREALLYで削除します。
:buffersを使用してバッファIDを確認します
そこにあるようなバッファのリストが表示されます
1 a.php
2 b.php
3 c.php
バッファからb.phpを削除したい場合
:2bw
バッファからすべてを削除/閉じる場合
:1,3bw
:lsコマンドの出力を参照し、番号を指定してバッファーを削除(アンロード、ワイプ...)するのではなく、ファイル名を使用する方が効果的であることがよくあります。
たとえば、いくつかの.txtファイルを開いて、いくつかの細かい点の思い出を更新した後、テキストの数行をコピーして貼り付け、並べ替えのテンプレートとして使用します。以下のように入力します。
:bd txt <Tab>
一致する文字列がファイル名の先頭にある必要はないことに注意してください。
上記は、画面の下部に「txt」と一致するファイル名のリストを表示し、最初に入力した:bdコマンドをそのままにして、完了する準備ができています。
次に例を示します。
doc1.txt doc2.txt
:bd txt
「txt」ビットの上にバックスペースを入れて、削除したいファイル名を入力することもできますが、これが本当に便利なのは、必要がないことです。Tabキーをもう一度押すと、Vimは自動的にコマンドを完了します最初の一致:
:bd doc1.txt
この特定のバッファを削除するには、Enterキーを押すだけです。
そして、削除したいバッファーが2番目(3番目など)の一致である場合は、Tabキーを押し続けるだけで、:bdコマンドで一致リストを循環させることができます。
当然、このメソッドは、:b ..:sb ..などのコマンドを介して特定のバッファに切り替えるためにも使用できます。
この方法は、「非表示」のVimオプションが設定されている場合に特に役立ちます。バッファリストがすぐに大きくなり、複数の画面をカバーし、探している特定のバッファを見つけるのが困難になるためです。
この機能を最大限に活用するには、次のVimヘルプファイルを読み、それに応じてTabコマンドライン補完の動作を微調整して、ワークフローに最適になるようにすることをお勧めします。
:help wildmode
上記で説明した動作は、bashの完了をエミュレートするために一貫性を保つために選択した次の設定の結果です。
:set wildmode=list:longest,full
バッファー番号を使用するのとは対照的に、このアプローチのメリットは通常、最初に:lsコマンドで番号を調べる必要がなく、バッファーを直接ターゲットにできるファイル名の少なくとも一部を覚えていることです。
[編集:これは、私がVimを十分に知らなかった時代からの愚かな提案でした。バッファの代わりにタブを使用しないでください。タブはVimの「ウィンドウレイアウト」です]
たぶんタブの使用に切り替えますか?
vim -p a/*.php
同じファイルをタブで開きます
gt
そしてgT
スイッチタブを前後に
:q
現在のタブのみを閉じます
:qa
すべてを閉じて終了します
:tabo
現在のタブ以外をすべて閉じます
vim-nox
Ubuntu のパッケージはRubyをサポートしています。
BuffergatorやNERDTreeなどのバッファーまたはツリーナビゲーションプラグインを使用しているユーザーは、現在のバッファーを破棄する前にこれらのスプリットを切り替える必要があります。
私が使う:
"" Buffer Navigation
" Toggle left sidebar: NERDTree and BufferGator
fu! UiToggle()
let b = bufnr("%")
execute "NERDTreeToggle | BuffergatorToggle"
execute ( bufwinnr(b) . "wincmd w" )
execute ":set number!"
endf
map <silent> <Leader>w <esc>:call UiToggle()<cr>
NERDTreeToggle
リストの「」は入力と同じ:NERDTreeToggle
です。この関数を変更して、独自の構成と統合できます。
ウィンドウレイアウト(分割に基づく現在のレイアウト)を破壊せずにバッファーを閉じたい場合は、bbyeのようなプラグインを使用できます。これに基づいて、あなたはただ使うことができます
:Bdelete (instead of :bdelete)
:Bwipeout (instead of :bwipeout)
または、次のよう.vimrc
に簡単にアクセスできるようにマッピングを作成します
:nnoremap <Leader>q :Bdelete<CR>
以下からのプラグインのドキュメント:
- バッファを閉じて削除します。
- そのウィンドウに別のファイルを表示します。
- 他に開いているファイルがない場合は、空のファイルを表示します。
- そのウィンドウで別のファイルを編集する場合は、不要な[no file]バッファを残さないでください。
- ファイルが複数のウィンドウで開いている場合でも機能します。
- さまざまなバッファエクスプローラとタブバーで大丈夫です。
以下からのプラグインのドキュメント:
Vimには、バッファを閉じるための2つのコマンドが
:bdelete
あり:bwipeout
ます。前者はバッファリストからファイルを削除し、そのオプション、変数、マッピングをクリアします。ただし、それはジャンプリストに残っているためCtrl-o
、ファイルを元に戻して再度開きます。それが必要なものでない場合は、:bwipeout
またはBbyeの同等の機能:Bwipeout
を使用してください:bdelete
。
vim -o a/*.php
(または-O
垂直ウィンドウを使用して)別々のVimウィンドウでファイルを開き、バッファーナビゲーションを回避できることに注意してください-これは数個のファイルのみに最適な方法ですが、23個のファイルでは数行/列しかありません各。