2011-07-12 172 views
0

我一直使用議會專門的幾個星期,現在,幾件事情都被我的經歷很激動至今讓我。首先,我無法將幾個關鍵序列映射到命令。VIM/gVim的鍵位映射

我想映射Ctrl鍵 + + Ž:redo<CR>或交替<C-R>,但移位和未變換的控制鍵序列之間顯然Vim is not able torecognize the difference

按Ctrl - b和Ctrl-B是同義詞,它們都是0x02。這不能被 改變,它可以追溯到ASCII,這可以追溯到7洞紙帶 (不包括奇偶校驗)。

這完全是愚蠢的我。我們已經來了,因爲7孔紙帶很長的路要走,在我的經驗MANY程序可識別<C-S-Z><C-Z>之間的差異。事實上,MacVim甚至認識到這種差異!但在GVim或GNOME終端中沒有喜悅。有沒有解決的辦法?也許是一個插件甚至一些編譯時選項?

對方認爲我有麻煩,按組合鍵是按Ctrl +(控制+逗號)。我不確定在我的.vimrc中是否有配置錯誤,或者它是Vim的一個實際問題,但映射後我無法回覆<C-,>(例如:map <C-,> :TComment<CR>)。 FWIW,我把我的領導鑰匙重新映射到;。我做錯了嗎?還是有其他一些原因,爲什麼Vim不會識別<C-,>組合鍵?

我花了太多時間搜索和鍵入映射關鍵字,我正在宣佈Vim不如我一直相信的那麼靈活......我甚至不能使用我習慣的鍵映射來配置它,其中一些我不願意重新/忘記,因爲它們在我每天使用的其他程序中工作。

+2

爲什麼不用Vim的方式呢?我做了,而且我發現它更容易。例如,推「u」比Ctrl-z容易得多,「r」比Ctrl-Shift-z容易得多。另外,如果你已經使用了默認的鍵綁定,那麼拿起別人的電腦並使用vim就容易多了。 – tjameson

+8

你做錯了。您應該重新映射所有其他程序以使用VIM密鑰綁定! – janm

+2

考慮到你的修改器的選擇,你可能想試試Emacs:D –

回答

4

看起來您發佈的鏈接已經回答了您對<C-b><C-B>的問題。根據the FAQ,你看起來像<C-,>也不幸運,因爲這個組合鍵不在可以檢測到的Ctrl-printable-key和絃列表中(可能因爲它甚至不是可打印的ASCII和絃?)。

關鍵組合如<C-S-w>非常像un-Vim因爲它們破壞了模態編輯器的效率。當然有些時候<CTRL>轉義組合是必要的(例如,在插入模式的映射如<C-x> - <C-o>爲omnicompletion),但是這不是對如撤消和恢復操作的情況下。

我很抱歉,這個答覆不能令你滿意,但是從長遠來看,有很多是從「做Vim的方式」,而不是試圖彎曲的Vim你的意願得到。

+0

Bummer,我對Vim寄予厚望,但這對我來說是一個破壞。我不想將我的大腦重新編程爲與標準不同的東西,我希望每個其他程序都像Vim一樣行事。坦率地說,讓我感到驚訝的是,Vim並不是那裏最可配置的編輯器。無論如何,謝謝你提供了一個真實的答案。 – millerdev

0

嘗試增加set nocompatable到你的vimrc。沒有這個,你基本上運行vi,這比vim更有限。這應該允許您映射<C-S-r><F11>或其他任何你想要的。 Tjameson是完全正確的。使用它們存在的默認映射要好得多。

+0

我不認爲'set nocompatible'對''和''的等價性有任何影響;至少不適合我。 –

+0

我做了一些額外的測試,它看起來對ascii字符沒有任何影響,但是你可以用shift修飾符映射非ascii字符。例如我映射: 'map :tabnext' 'map :tabprev' 這些確實可以正常工作 –

+0

它似乎爲我解決了它.. –