0

With vim and vim-airline, I've got a situation where I want to be able to close a buffer if it exist, and if not close vim.

So I've first remmapped :x to ;x for speed reasons.

nnoremap : ;

Then I mapped ;x to close the buffers opened with vim-airline

nnoremap :x :bp <BAR> bd #<CR>

Now the issue is when I finally close all the buffers, I can't use ;x to quit vim.

Is there any way to check if a buffer exist in vim-airline and close it? Saw this post but its more for NERDTree.

4

1 回答 1

1

问题:nnoremap : ;将更改:键以调用命令的原始值,;即跳到由 、 或 匹配的下f一个字符。如果要使用,则需要重新映射反向:。FtT;xnnoremap ; :

nnoremap :x ...:然后将使用for的原始值:x,所以一切都应该正常工作。或者,更不安全的是,您可以nmap ;x ...调用重新定义的值(如果您指定、、或其非递归变体,也:可能是重新定义的值)。xmap! xcmap xlmap x

另外,:bd不会关闭 Vim,只有缓冲区和一个窗口。如果你在你的最后一个缓冲区,你会被转储到一个新的未命名的缓冲区中(比如 with :enew)。要关闭缓冲区或 Vim,请使用:q,这就是它的用途。

(另外,我不明白您所说的“vim-airline中存在缓冲区”是什么意思。航空公司是一个状态栏插件。缓冲区存在或不存在。两者彼此无关,至少在某种程度上没有关系这对我来说很明显。)

于 2015-01-27T01:22:27.103 回答