2012-11-22 27 views
8

我愿做这样的事情在我的.vimrc如何在vim中找到未映射的控制键?

map <C-k> :e#<CR>

但是,我最近发现<C-k>用于有向图。

如何获取vim中未映射控制键的列表?

+1

我不确定有没有。我通常会映射到' ...'序列和功能键,用于我自己的扩展。 – Amadan

+0

+1 @Amadan - 大声笑为一个意想不到的答案 - 我使用一些序列(例如NERDtree),但':#e '是如此普遍,我想我会将它绑定到一个直接的控制键。猜猜我需要找到一个我不用... – kfmfe04

+0

我使用''为NERDTree。很好,而且是免费的。将常见的东西放在功能键上,因为它们不被占用。 – Amadan

回答

2

Vim有许多命令,因此寻找映射的(难忘的和短的)键序列可能是一个挑战。

我的方法是使用推荐的<Leader>前缀来说明我不经常使用的东西,但对于基本东西,使用的映射Ctrl确实很有用。

了解如何的命令在帮助代表(例如,在正常模式下CTRL-Oi_CTRL-X_CTRL-N插入模式),认为一个良好的映射候选人,然后尝试通过:help CTRL-...来关注一下吧),如果没有匹配,你可以通过:nmap C-...确保映射是免费的;如果匹配(好处是它也包含提供文档的插件),那么您可以阅读描述,至少发现了一个新的Vim命令,然后可以决定是否需要它(然后重试一次不同的映射候选人),还是重写命令。

(请注意,您也可以:noremap内置命令其他键,但要注意,这会让你在香草Vim的设施或其他应用程序的VI-仿真模式越来越无奈。)

1

已经有一个<C-…快捷方式:<C-^>(或<C-6>在某些情况下)。

+0

+1为 kfmfe04

2

我只是akc'd vim 7.4 debian/ubuntu包的文档目录来查找使用的控制键。

我使用的命令是

ack ctrl- | perl -ne 'm/(CTRL-.?)/g; print $1."\n";' | sort| uniq 

的输出低于

CTRL-^ 
CTRL-< 
CTRL-_ 
CTRL-- 
CTRL-; 
CTRL-? 
CTRL-(
CTRL-[ 
CTRL-] 
CTRL-{ 
[email protected] 
CTRL-\ 
CTRL-6 
CTRL-a 
CTRL-A 
CTRL-B 
CTRL-C 
CTRL-D 
CTRL-E 
CTRL-F 
CTRL-G 
CTRL-H 
CTRL-I 
CTRL-J 
CTRL-K 
CTRL-L 
CTRL-M 
CTRL-N 
CTRL-O 
CTRL-P 
CTRL-Q 
CTRL-R 
CTRL-s 
CTRL-S 
CTRL-T 
CTRL-U 
CTRL-V 
CTRL-W 
CTRL-x 
CTRL-X 
CTRL-Y 
CTRL-Z 

基本上没有游离CTRL键。 。 。好极了! :)