2009-04-30 57 views
20

所以我想出了如何添加行号给vim(:set no或:set number),但是我怎样才能让它在终端模拟器中用鼠标选择一行代码块不是也选择数字?如何向vim添加非鼠标可选的行号?

例如,说我有三条线,看起来像这样在vim:

1 First line 
2 Second 
3 Third 

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

有什么方法可以改变这种行为吗?顺便说一句,如果这有所作为,我在gnome中使用gnome终端编辑器。

回答

16

据我所知,这是不可能的。

我当时可以添加的唯一的事情是,你会与

:set invnumber 

最好将逆当前状态,这样你就可以把它映射到一个键,切换它。这样你不必记住两个命令。

+0

比我的好!你每天都会通过VIM学到一些东西:-) – 2009-04-30 18:49:06

4

我很确定这是不可能在terminal-vim中。就我所知,没有可接受的标准(例如,TTY转义)来指示鼠标不可显示的字符块。

我会使用gvim如果你想能够做到这一点,不惜任何代价。它的行为如你所描述的那样。

8

我同意第一个答复。如果您使用gvim,您可以尝试使用set mouse=nset mouse=a,这应该会更改行号选择行为。

+1

后看到`帮助mouse` `设置鼠标=了`似乎给我,我会期望的行为。我不是vim的专家,但是似乎`set mouse = c`就是我开箱即用的东西。我把`set mouse = a`设置成了`〜/ .vimrc`,到目前为止,都很好。 – 2011-03-04 00:21:06

+0

优秀!比预期的效果更好。 – pid 2016-10-14 12:14:43

1

我的建议是习惯屏幕右上角的小方块,它有当前行号和字符位置信息。在我使用vim之前,我无法想象没有行号的生活,但从那以后我已经超越了这一点。屏幕上没有线号混淆允许查看分散注意力的代码,您是否真的需要知道当前活动行上方的行号比当前行号少1行,并且下面的行是另外一行?

+0

我不明白倒票,但没关系。 – 2009-04-30 18:37:26

5

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

:set nonu 

当我完成

:set nu 
3

你可能不是在Macintosh上,我不能告诉你是否意味着你想要使用系统副本而不是vim的版本。

但是,如果你们都是这些东西,你可以使用选项拖动选择文本。这会在文本上创建一个2d框,选择它下面的东西。它应该在功能上与'取y1到y2行的列x1到x2'相同。

31

使用以下:

:set mouse=a 

在所有模式下打开的xterm风格的鼠标移动。这将允许你做你想做的事。请记住,如果vim通过ssh远程访问,则需要打开X11转发,才能将其选中到本地剪贴板。

1

副本无鼠标:

进入可视化模式:你的光标位置,按v(对于整条生产线V)向上或向下移动,直到所需位置

出版社控制+ c复制到剪贴板(如果+剪贴板存在于:ve命令输出中)pr ess ESC并将其粘贴到任何你想要的位置control + v

或者按Ÿ猛拉到寄存器,并按下p把文本光标