2012-11-22 29 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鍵。 。 。好極了! :)