2014-09-20 21 views
0

我在Windows中使用Sublime Text(在Windows中感覺很自然,即使有gVim)並嘗試在Linux環境中使用vim(vim在Linux中感覺自然,儘管Linux有Sublime )。映射類似於Sublime的移動行向上/向下的vim密鑰

我在嘗試映射:m +1:m -2,它類似於Sublime的Ctrl+Shift+DownCtrl+Shift+Up。我試圖將其映射到我的~/.vimrc如下: -

nmap <C-S-Up> :m -2<CR> 
nmap <C-S-Down> :m +1<CR> 

但它似乎沒有工作。但是,下面的工作可行,但我想讓它接近Sublime的關鍵映射。

nmap <leader><S-Up> :m -2<CR> 
nmap <leader>S-Down> :m +1<CR> 

我也有需要注意的是我使用terminator爲具有Ctrl+Shift+UpCtrl+Shift+Down來調整分割窗口我的遊戲機模擬器,但我已經禁用的鍵綁定,仍然vim不喜歡我的崇高映射方式。 :/

我在做什麼錯?

回答

1

我認爲問題在於vim不理解<C-S-[whatever]>序列。 它們被終端仿真器捕獲(可以理解它們,例如<C-S-v>通常會將剪貼板中的文本粘貼到終端)。

我不知道你是否可以在終端vim中做些什麼;他們應該本地工作在gVim中。

這個現象的更詳細的解釋是在AskUbuntu上的this問題。

PS:我是vim-move插件的粉絲,它允許您將文本塊(文字高亮顯示)上下移動塊文本。這與Sublime的做法非常相似,特別是涉及到文本塊時。它還重新移動了線條和塊。 我已經將此插件的功能映射到<A-j><A-k>,感覺非常的vimmy。也許你可以將Sublime上的相同功能映射到Alt鍵,這樣你就只需要學習一個快捷方式。

+0

不知道vim-move。將其添加到我的Vundle。我同意你的意見。採用vim的方式是有道理的。 – shriek 2014-09-22 15:20:40