如何在vim中添加非鼠标可选的行号?

Ada*_*umb 27 vim

所以我已经想出如何为vim添加行号(:set no或:set number)但是我怎么能这样做呢,当我在终端模拟器中使用我的鼠标来选择一个行块时,它也不会选择号码?

例如,假设我有三行在vim中看起来像这样:

1    First line
2    Second
3    Third
Run Code Online (Sandbox Code Playgroud)

如果我想用鼠标选择三行我想要的只是选择实际文本.但最终发生的是它选择行号以及行号左侧和右侧的所有空格.

有没有办法改变这种行为?顺便说一句,我在gnome中使用gnome终端编辑器,如果这有所不同.

小智 38

使用以下内容:

:set mouse=a
Run Code Online (Sandbox Code Playgroud)

在所有模式下打开xterm样式鼠标.这样你就可以做你想做的事.请记住,如果vim是通过ssh远程的,你需要打开X11转发选项,使其进入你的本地剪贴板.


Roo*_*ook 16

AFAIK,这是不可能的.

我现在唯一能补充的就是你会更好

:set invnumber
Run Code Online (Sandbox Code Playgroud)

它将反转当前条件,因此您可以将其映射到键,然后切换它.这样你就不必记住两个命令.

  • 以下关于"设置鼠标"的评论似乎是更好的解决方案,并实际上实现了答案. (3认同)

Gra*_*ant 8

我同意第一个答案.如果你使用gvim,你可以尝试使用set mouse=nset mouse=a,这应该改变行号选择行为.


Luc*_*c M 7

当我想在终端中选择文本时,我删除了行号.

:set nonu
Run Code Online (Sandbox Code Playgroud)

当我完成

:set nu
Run Code Online (Sandbox Code Playgroud)


Joh*_*ell 5

你可能不在Macintosh上,我不知道你是不是想要使用系统拷贝而不是vim的猛拉.

但如果你是这两样东西,你可以使用选项拖动来选择文字.这会在文本上创建一个2d框,选择它下面的内容.它应该在功能上与'从行y1到y2'的列x1到x2相同.