2014-10-07 61 views
2

行尾显示行号,我使用有没有办法在Vim的

set relativenumber 
set number 

这让我轻松地走动。但是,通常很难知道我想跳转到的对象的行号,因为我首先需要向左看。如果我可以在右侧看到右边的行号,我觉得它会更容易,因为我的眼睛没有太多空间可以跟随(也许?)。我认为理想的设置是显示当空白字符位于缓冲区的左侧/右侧时,出现$的相对/绝对行号。即

1 Random text.$1                 1 
159 This is the line where the cursor is.$159         159 
    1 Some random text.$1               1 
    2 More random text. Another sentence. Maybe a third one? And so on.$2   2 
    3 Another line which might be quite long and my eyes focus somewhere here.$3  3 
    4 More random text containing more text and more words and stuff.$4    4 

(在这个例子中,我愿做3k,但我可以键入2k4k因为我没有遵循正确的线的左侧)

是否有可能以某种方式实现这一目标? 有关如何更改我的工作流程的任何建议也欢迎。

注意:使用cursorline没有帮助,因为我没有找到当前行的编号。

回答

4

不,没有内置支持您的要求。我也不认为这很容易被插件完成。

也许你可以考虑改变你的习惯/工作流程。例如。启用cursorline选项,突出显示您的“当前”行,它可以让您更容易确定您现在正在使用哪一行。

要移动光标,如果您不想计算行数,您可能需要尝试使用EasyMotion插件。这是非常方便的插件。但它不会取代hjkl ...议案。

+0

我不能在右边获得相对行号,但'%s/$/\ = line('。')/ g'会在右手边添加真实的行号 – Steve 2014-10-08 05:17:32

+0

@Steve what你正在做的是改变缓冲区。好吧,说你这样做,行号被添加到缓冲区。现在在缓冲区的某处,做一个'5J',你将如何保持行号? – Kent 2014-10-08 08:31:00

+0

公平点。我错过了他加入线路的位置。以为他试图移动。这个想法不是可用的,但可能可以用在我没有写技能的插件中。 – Steve 2014-10-08 22:35:01

3

不,这是不可能的,除非您以非平凡的方式修改Vim的源代码,或者在通过autocmds更新的一侧处理类似竖直分割的小划痕缓冲区的杂物。

您有:set cursorline?即使窗口宽度很大,这也有助于(我)很多地遵循当前的路线。减少这些可能也有帮助,但是你必须处理长行的包装/滚动。

+0

其实,在右边有行号。使用':set rl',但这可能不是OP想要的。 – 2014-10-07 12:44:06

相关问题