1

ファイルを編集しています:e foo

保存したいのでfoo、を使用してバッファを閉じます(開く前の状態に戻ることができます)command

私は今これを持っています:

command! GC silent execute ":wq" | silent execute ":close"

ただし、以前にバッファを開いていなかった場合は、次のエラーが発生します。

E444: Cannot close last window

ウィンドウを閉じるにはどうすればよいですか。最後のウィンドウの場合でもウィンドウを閉じて、実行したときに表示される空の画面に戻りますvim

4

3 に答える 3

4

:update+:bdeleteコマンドの組み合わせを探していると思います。前者は変更があればそれを永続化し、後者はバッファを削除します。他の分割ウィンドウがある場合は、現在のウィンドウが閉じられます。それ以外の場合、他の引数/非表示のバッファがある場合は、次の引数が単一のウィンドウに表示されます。他にウィンドウがない場合は、空のバッファ(のような:enew)が表示されます。

于 2012-11-27T09:32:10.097 に答える
0

引数としてファイルを指定せずにVimを起動すると$ vim、は空のバッファになります。状態が変更されていない場合は、変更すると破棄されます:e file

:ls:を使用すると、使用可能なバッファは。だけであることがわかりますfile

空のバッファが必要な場合(そしてなぜそれが必要なのか私にはわかりません)、次のコマンドを使用して明示的にバッファを作成する必要があります。

:enew

私が知らないオプションがない限り。

とにかく、私はあなたがすることをお勧めします:

$ vim file

それよりも:

$ vim
:e file
于 2012-11-27T07:44:31.320 に答える
0

やりたいですsave all files, and exit vimか?次に、と入力しZZます。またはあなたがしたいですsave all files if updated, and close all windowsか?それで

command! GC bufdo update | windo bw
于 2012-11-27T09:14:52.217 に答える