2011-10-11 95 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映射時相同的狀態。