在 vim / MacVim 中使用 SHIFT+箭头选择文本

问题描述 投票:0回答:3

MacVim 中一个更好的功能是可以使用常用的操作系统命令在其中复制和粘贴文本(即 command+C 和 command+V)。

这在您刚刚在另一位编辑器中工作而您的大脑还没有准备好建议您的手指如何输入真实内容的情况下特别好。

但是,我的大脑需要思考一件事:它是文本选择模式。在非 vi 编辑器中,我会为此使用 Shift+Arrow,但在 MacVim 中尝试这样做是行不通的。但另一方面,在我看来,Shift+Arrow 也没有用于其他任何用途。是否可以重新映射键以使这成为可能?

(理想情况下,编辑器在选择文本后仍处于插入模式;这样可以节省一些额外的击键。)

vim macvim textselection
3个回答
30
投票

来自手册:

Mac OS X 上的文本编辑器让用户 按住shift+移动键展开 选择。另外,按一个 选择时可打印的密钥 将当前选择替换为 那个角色。 MacVim 可以模拟 这种行为(通过提供 键绑定并通过设置“keymodel” 和'selectmode'为非默认 值)虽然它没有被启用 默认。使 MacVim 表现得更好 喜欢 TextEdit 但不太喜欢 Vim,添加 以下几行到你的“~/.vimrc” (不是 .gvimrc)文件:

if has("gui_macvim")
    let macvim_hig_shift_movement = 1
endif

7
投票

作为给自己的便条和对他人的简洁提示:

由于SHIFT+箭头选择和鼠标选择现在自动启动

SELECT
模式,这意味着使用鼠标或箭头键进行
VISUAL
选择显然不那么容易。 (即使已经处于
VISUAL
模式,鼠标选择仍会触发
SELECT
模式。)因此,无论何时想要将命令应用于选择,以下方法都会有所帮助。

  • 使用鼠标或 SHIFT+箭头选择文本
  • ESC
  • 取消选择
  • gv
    自动重新选择之前的选择并触发
    VISUAL
    模式

编辑: 只需使用 CTRL + g 即可完成。


0
投票

在 neovim 中,您只需将 selectmode 设置为

mouse,key
:

    selectmode = "mouse,key",
© www.soinside.com 2019 - 2024. All rights reserved.