VIMエディタを使用したカスタムメッセージエコー

VIMエディタを使用したカスタムメッセージエコー

()を終了したときにVIMにファイル修正があるかどうかを検出するには:q?ファイルの変更がある場合、Vimはエコーします。

E37: No write since last change (add ! to override) 

このメッセージをカスタムメッセージなどで上書きしたいと思います。

File modified: Do you wish to save the file? (y)Yes (n)No (c)Cancel

Ctrl-sファイルを保存して終了するようにVimの動作を修正しました。Ctrl-w

今解決策を探しています。ファイルが変更され、ユーザーがCtrl-wを使用してファイルを終了すると、Vimが保存するように求められます。

私の.vimrcファイルの内容は次のとおりです。

map <C-S> :w<CR>
imap <C-S> <Esc>:w<CR>i

map <C-w> :q<CR>
imap <C-w> <Esc>:q<CR>

答え1

:confirm quitたとえば、を使用できます。

map <C-w> :confirm quit<CR>

注:垂直分割C-wなどの他のショートカットの開始として使用されるため、ショートカットの誤った選択です。C-w vそのため、ダイアログが表示される前に短い遅延が発生します。を押した後、C-wvimはしばらく待ってから別のキーを押してから、実際にを押しようとしたと判断しますC-w

答え2

具体的な回答を得ました。これは一般的なものです:

考えられるほとんどすべてのvimの改善の例(完全な作業パッケージを含む)を見つけることができます。http://www.vim.org/scripts/index.php

関連情報