2011-10-11 149 views

回答

-1

原始命令本身可能只是映射到命令行模式命令。我在BufExplorer的帮助下查找了\be,它说调用的另一种方法是:BufExplorer。尝试以下方法:

noremap <silent> <leader>b :BufExplorer<CR> 

或许nmap,而不是map根据您的需要。

+0

谢谢@AUAnonymous。为了完整起见,需要在建议的映射结尾处添加。 – user7124

+0

哦,当然好,赶上。 – lyallcooper

+0

在这种情况下,您应该使用'noremap'。原始问题'nore'不能使用,但在这里你只应该使用它:你不能说在普通模式下user7124没有重映射':'(两个映射交换':'和';'并不少见)。 – ZyX

-1

由于默认领袖符号是\你可以

map <leader>b <ESC>\be<CR> 

,但如果你关心的实际领导者的符号价值,尝试像

:execute 'map <leader>b <ESC>' . (exists('mapleader') ? mapleader : '\') . 'be<CR>' 

其中建设(exists('mapleader') ? mapleader : '\')替代合适的领导者符号(见:help mapleader )。

注意:如果你改变这个映射命令后mapleader价值,映射将beсome无用

+0

''在rhs中工作的效果与lhs中的一样好。而且“如果你在这个映射命令之后改变mapleader的值,那么映射将是无用的”是错误的:在帮助中明确指出,当mapleader更改映射不被重新定义时。因此,只有在运行bufexplorer和用户映射命令之间改变mapleader *时,映射才会变得无用。 – ZyX

0

为什么你有<CR>吗?你的映射将调用bufexplorer并立即退出,在光标下选择缓冲区(它是当前的缓冲区,不是吗?)(我可能会误认为我只用了bufexplorer几个小时)。正确的是

map <leader>b <C-\><C-n><leader>be 

我也建议更换<Esc><C-\><C-n>无条件地退出到正常模式,而响闹,它可用于扔掉寄存器算过。

请注意,mapleader变量必须处于与bufexplorer定义其<leader>be映射时相同的状态。