映射vim键类似于Sublime的移动线向上/向下

时间:2014-09-20 18:16:57

标签: vim keymapping

我在Windows中使用Sublime Text(尽管有gVim在Windows中感觉很自然)并尝试在Linux环境中使用vim(即使有Linux的Sublime,vim在Linux中也很自然)。

我正在尝试映射: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不喜欢我的Sublime映射方式。 :/

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我认为问题是vim不理解<C-S-[whatever]>序列。 它们由您的终端模拟器捕获(它能够理解它们,例如<C-S-v>通常会将文本从剪贴板粘贴到终端。)

我不知道你是否可以在终端vim中做些什么。他们本应在gVim中工作。

关于这种现象的更详细解释是在AskUbuntu的this问题中。

PS:我是vim-move插件的粉丝,它允许您上下移动文本行文本块(在可视模式下突出显示)。它与Sublime的功能非常相似,特别是在文本块方面。它还重新移动线条和块。 我已将此插件的功能映射到<A-j><A-k>,感觉非常 vimmy 。也许您可以将Sublime上的相同功能映射到Alt键,这样您就只需要学习一个快捷键。