试图重新映射命令以打开bufferexplorer(\ be)与较短版本(\ b)。 我的尝试是:在vim中映射命令与另一个命令
map <leader>b <ESC><leader>be<CR>
不用说,这是行不通的。任何帮助?
试图重新映射命令以打开bufferexplorer(\ be)与较短版本(\ b)。 我的尝试是:在vim中映射命令与另一个命令
map <leader>b <ESC><leader>be<CR>
不用说,这是行不通的。任何帮助?
原始命令本身可能只是映射到命令行模式命令。我在BufExplorer的帮助下查找了\be
,它说调用的另一种方法是:BufExplorer
。尝试以下方法:
noremap <silent> <leader>b :BufExplorer<CR>
或许nmap
,而不是map
根据您的需要。
由于默认领袖符号是\
你可以
map <leader>b <ESC>\be<CR>
,但如果你关心的实际领导者的符号价值,尝试像
:execute 'map <leader>b <ESC>' . (exists('mapleader') ? mapleader : '\') . 'be<CR>'
其中建设(exists('mapleader') ? mapleader : '\')
替代合适的领导者符号(见:help mapleader
)。
注意:如果你改变这个映射命令后mapleader
价值,映射将beсome无用
'
为什么你有<CR>
吗?你的映射将调用bufexplorer并立即退出,在光标下选择缓冲区(它是当前的缓冲区,不是吗?)(我可能会误认为我只用了bufexplorer几个小时)。正确的是
map <leader>b <C-\><C-n><leader>be
我也建议更换<Esc>
与<C-\><C-n>
无条件地退出到正常模式,而响闹,它可用于扔掉寄存器算过。
请注意,mapleader
变量必须处于与bufexplorer定义其<leader>be
映射时相同的状态。
谢谢@AUAnonymous。为了完整起见,需要在建议的映射结尾处添加。 –
user7124
哦,当然好,赶上。 – lyallcooper
在这种情况下,您应该使用'noremap'。原始问题'nore'不能使用,但在这里你只应该使用它:你不能说在普通模式下user7124没有重映射':'(两个映射交换':'和';'并不少见)。 – ZyX