【发布时间】:2021-07-07 14:58:37
【问题描述】:
当在 VIM 中通过 ALE 或 Syntastic 启用 linter 时,警告/错误会在缓冲区左侧的 2 个字符列中标记。 我可以通过鼠标选择复制并通过中键单击粘贴。但是,当警告/错误被 lint 时,选择文件内容也会选择 lint 列中的空格和字符。
如何用鼠标只选择文件内容?还是暂时移除 lint 列?
(在Alacritty、Sway/Wayland、Arch中运行vim,wl-clipboard安装了但不知道有没有用)
编辑:是的,我正在尝试粘贴到其他程序中。 Gvim 可以按需要工作,但我宁愿使用 vim 或 vimlike,例如我现在也在尝试的neovim。在 vim 中,+ 或 * 剪贴板都不起作用,即使 :echo has('clipboard') 输出 1。在 neovim 中,只有 * clibpoard 有效,即使 :checkhealth 报告已找到 wl-copy。
EDIT2:https://github.com/neovim/neovim/issues/2325 有一个 neovim 的解决方法,set mouse=a 后跟 vmap <LeftRelease> "*ygv
EDIT3:按照 cmets 中的建议使用 mouse=a 进行的测试表明,这些列是在 alacritty 下选择的,但不是在 urxvt 下选择的,在 kitty 下它根本不起作用,所以我猜这是一个终端错误
【问题讨论】:
-
只有在你没有启用鼠标支持的情况下,这些列才会在 vim 中被选中。所以 mouse=a 不是一种解决方法,它是您问题的解决方案。
-
我刚刚对其进行了测试,即使在 alacritty 中使用 mouse=a 而不是在 urxvt 中,vim 仍会选择列,因此它似乎与终端相关并且可能是一个 alacritty 错误。
标签: vim selection clipboard syntastic