:e
および:w
コマンドを使用して、ファイルの編集と書き込みを行います。Vimを終了せずに現在のファイルを閉じる「閉じる」コマンドがあるかどうかわかりません。
:q
コマンドを使用してファイルを閉じることができることは知っていますが、それが最後のファイルである場合は、Vimも閉じられます。実際にはMac OSではMacVimは終了します。Vimウィンドウのみが閉じており、空のVimウィンドウを再び開くためにControl- Nを使用できました。Vimを空白の画面で開いたままにしておきたい。
:e
および:w
コマンドを使用して、ファイルの編集と書き込みを行います。Vimを終了せずに現在のファイルを閉じる「閉じる」コマンドがあるかどうかわかりません。
:q
コマンドを使用してファイルを閉じることができることは知っていますが、それが最後のファイルである場合は、Vimも閉じられます。実際にはMac OSではMacVimは終了します。Vimウィンドウのみが閉じており、空のVimウィンドウを再び開くためにControl- Nを使用できました。Vimを空白の画面で開いたままにしておきたい。
回答:
これはバッファを削除します(これはファイルを閉じることを意味します)
:bd
すでに述べたように、あなたはを探していますが:bd
、これはバッファを完全に削除するわけではなく、まだアクセス可能です:
:e foo
:e bar
:buffers
1 #h "foo" line 1
2 %a "bar" line 1
Press ENTER or type command to continue
:bd 2
:buffers
1 %a "foo" line 1
Press ENTER or type command to continue
:b 2
2 bar
あなたは代わりにそれ:bw
を完全に削除したいかもしれません。
:bw 2
:b 2
E86: Buffer 2 does not exist
:bw
長い間私を悩ませたことについて知らなかった。
:bw
ください-「何をしているのかを知らない限り、これを使わないでください」。
Vimウィンドウに複数の分割ウィンドウがある場合:bd
は、現在のファイルの分割ウィンドウを閉じます。そのため、もう少し高度なものを使用したいと思います。
map fc <Esc>:call CleanClose(1)
map fq <Esc>:call CleanClose(0)
function! CleanClose(tosave)
if (a:tosave == 1)
w!
endif
let todelbufNr = bufnr("%")
let newbufNr = bufnr("#")
if ((newbufNr != -1) && (newbufNr != todelbufNr) && buflisted(newbufNr))
exe "b".newbufNr
else
bnext
endif
if (bufnr("%") == todelbufNr)
new
endif
exe "bd".todelbufNr
endfunction
:[N] bd [elete] [!] *:bd * *:bdel * *:bdelete * * E516 * :bd [elete] [!] [N] バッファ[N](デフォルト:現在のバッファ)をアンロードし、バッファから削除します バッファリスト。バッファが変更された場合、これは失敗し、 [!]が指定されている場合を除き、変更は失われます。 ファイルは影響を受けません。このバッファーのウィンドウは 閉まっている。バッファ[N]が現在のバッファの場合、別のバッファ 代わりに表示されます。これはの最新のエントリです ロードされたバッファを指すジャンプリスト。 実際には、バッファは完全には削除されず、削除されます バッファリストから| unlisted-buffer | およびオプション値、 バッファの変数とマッピング/省略形は クリアされました。
bufkill.vimのプラグインが追加されますBD
(どのような分割を閉じることなくバッファを削除するには、などbd
でしょうのみ)。
バッファを閉じるときにウィンドウレイアウトを維持するために、ブタンプラグインを確認してください。
同じ問題があるのでプラグインを作成しました。このプラグインは、:qおよびその他のコマンドを置き換え、ウィンドウが閉じないようにします。
それでも問題が解決しない場合は、次のプラグインを使用してみてください。 https://github.com/taka-vagyok/prevent-win-closed.vim