web-dev-qa-db-ja.com

VIMアプリケーションを終了せずにファイルを閉じますか?

VIMは初めてです。 :eおよび:wコマンドを使用して、非常に便利なファイルを編集および書き込みます。 VIMを終了せずに現在のファイルを閉じる「close」コマンドがあるかどうかわかりませんか?

:qコマンドを使用してファイルを閉じることができることは知っていますが、それが最後のファイルである場合は、VIMも閉じられます。実際、Mac OSではMacVIMは終了します。 VIMウィンドウのみが閉じられ、Control-Nを使用して空白のVIMを再度開くことができます。 VIMを空白の画面で開いたままにしておきたい。

251
David.Chu.ca

これはバッファを削除します(ファイルを閉じるために変換します)

:bd 
332
Vinko Vrsalovic

すでに述べたように、あなたは: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について知らなかったので、しばらくの間私を悩ませました。

41
sebnow

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
21
Gowri
:[N] bd [elete] [!] *:bd * *:bdel * *:bdelete * * E516 * 
:bd [elete] [!] [N] 
バッファーのアンロード[ N](デフォルト:現在のバッファ)そして、それを
バッファリストから削除します。バッファーが変更された場合、これは失敗します。
 [!]が指定されている場合を除き、その場合、変更は失われます。
ファイルは影響を受けません。このバッファのウィンドウはすべて閉じられます
。バッファ[N]が現在のバッファである場合、代わりに別のバッファ
が表示されます。これは、ロードされたバッファを指すジャンプリストの
の最新のエントリです。
実際には、バッファは完全には削除されず、バッファリストから削除されます
。リストされていないバッファ|オプション値、
変数、およびバッファーのマッピング/略語は
クリアされます。
17
ephemient

既に最後のファイルを保存している場合、:enewはあなたの友人です(最後のファイルを保存したくない場合は:enew!)。元のファイルはまだバッファリスト(:lsからアクセスできるファイル)にあることに注意してください。

9
Rytmis

modifyファイルで、VIMを終了せずに保存せずに閉じる場合は、:bd!と入力する必要があります。

6
pablofiumara

:bdはマッピングできます。不要になった変更のために強制終了する必要がある場合は、F4、Shift-F4にマップします。

3
wbogacz

そのためのプラグインがあります:bufkill( http://www.vim.org/scripts/script.php?script_id=1147 を参照)

これは、BDなどを追加して、スプリットを閉じずに(bdとして)バッファーを削除します。

2
blueyed

.vimrcファイルに次を挿入してbdをF4にマッピングし、F4を押すと、現在のファイルが閉じられます。

:map <F4> :bd<CR>
1
Stryker

Butaneプラグインを見て、バッファを閉じるときにウィンドウレイアウトを維持します。

https://github.com/Soares/butane.vim

0
Gary Willoughby