試圖重新映射命令以打開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