2014-02-08 45 views
1

所以,我有以下的鍵盤映射在我的.vimrc如何在VIM中重新映射默認密鑰,而不影響其他重映射?

noremap <C-o> :browse confirm e<CR> 
vnoremap <C-o> :browse confirm e<CR> 
inoremap <C-o> :browse confirm e<CR> 

這是GVIM的GUI。然後我會得到一個文件夾彈出。在這裏我可以選擇文件。

但是,這將禁用Control-o文件跳轉(當您按Ctrl-o時)。我不希望這樣,但我想要按住Ctrl-o地圖進行GUI文件夾視圖。我仍然想使用文件夾跳轉。

所以,我想我可以將一個文件從Control-o C-o跳轉到Alt-o。所以地圖看起來像noremap:在歷史中跳轉1g,或者其他東西。

我試過了一切,看看當你給Control-o鍵跳回文件歷史記錄時默認命令是什麼。我不知道你如何看到標準Control-o的默認命令 。

:詳細地圖僅適用於重新映射的密鑰。

任何人都有建議找到默認的Control-o鍵的正確命令?

+0

你應該儘量堅持Vim的默認設置。如果你想要一個交互式文件列表來選擇,使用':Ex'。另外,瀏覽你的文件系統在正常模式之外沒什麼意義。在同一張紙條上,''*根本不會*跳回到文件歷史記錄中,它會跳轉到跳轉列表中,而跳轉列表完全不同*。如果您不想調整Vim的模式並學習如何使用其默認功能,還可以使用其他許多編輯器。 – romainl

回答

4

其他一些程序具有「鍵綁定」的概念,其中有一列可用的內部命令,然後指定各種鍵來觸發這些命令。 Vim不會那樣工作。沒有 勺子 內部命令由CTRL-O觸發。你可以做的是地圖ALT-oCTRL-O

我不確定<M-o>適用於我的系統上的ALT-o,但爲了討論的緣故,我們假設它對您的系統有影響。如果你定義

:nnoremap <C-o> :browse confirm e<CR> 
:nmap <M-o> <C-O> 

然後ALT-o必須爲:browse confirm e<CR>同樣的效果。但是,你已經在使用「諾雷得」的變體,那麼你是什麼更有可能做的是

:nnoremap <C-o> :browse confirm e<CR> 
:nnoremap <M-o> <C-O> 

,這將使ALT-o的行爲像未映射CTRL-O

除非你有一個:cmap影響browse confirm e<CR>,或者你是那些誰重新映射:人之一,那也不要緊,你是否在第一行,用:nmap:nnoremap

:help :noremap 
+0

你的答案做到了!它現在有效。非常感謝您的正確回覆! :) – ReneFroger