2014-02-08 43 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