我在Windows中使用Sublime Text(尽管有gVim在Windows中感觉很自然)并尝试在Linux环境中使用vim(即使有Linux的Sublime,vim在Linux中也很自然)。
我正在尝试映射:m +1
和:m -2
,其类似于Sublime的Ctrl+Shift+Down
和Ctrl+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+Up
和Ctrl+Shift+Down
用于调整拆分窗口的大小,但我已经禁用了这些键绑定仍然vim
不喜欢我的Sublime映射方式。 :/
我做错了什么?
答案 0 :(得分:1)
我认为问题是vim不理解<C-S-[whatever]>
序列。
它们由您的终端模拟器捕获(它能够理解它们,例如<C-S-v>
通常会将文本从剪贴板粘贴到终端。)
我不知道你是否可以在终端vim中做些什么。他们本应在gVim中工作。
关于这种现象的更详细解释是在AskUbuntu的this问题中。
PS:我是vim-move插件的粉丝,它允许您上下移动文本行和文本块(在可视模式下突出显示)。它与Sublime的功能非常相似,特别是在文本块方面。它还重新移动线条和块。
我已将此插件的功能映射到<A-j>
和<A-k>
,感觉非常 vimmy 。也许您可以将Sublime上的相同功能映射到Alt键,这样您就只需要学习一个快捷键。