【问题标题】:Mapping vim keys similar to Sublime's move line up/down映射 vim 键类似于 Sublime 的移动线向上/向下
【发布时间】:2014-09-22 19:49:41
【问题描述】:

我在 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 仍然没有t 喜欢我的 Sublime 映射方式。 :/

我做错了什么?

【问题讨论】:

    标签: vim keymapping


    【解决方案1】:

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

    我不知道您是否可以在终端 vim 中对此做些什么;他们应该原生地在 gVim 中工作。

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

    PS:我是vim-move 插件的粉丝,它可以让您上下移动文本行和 文本块(在可视模式下突出显示)。它与 Sublime 所做的非常相似,尤其是在涉及文本块时。它还重新缩进移动的行和块。 我把这个插件的功能映射到&lt;A-j&gt;和&lt;A-k&gt;,感觉很vimmy。也许您可以将 Sublime 上的相同功能映射到 Alt 键,这样您只需学习一个快捷键。

    【讨论】:

    • 不知道 vim-move。要将其添加到我的 Vundle 中。我同意你的看法。用 vim 的方式做是有意义的。
    猜你喜欢
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 2016-01-17
    相关资源
    最近更新 更多