有没有办法在vi 中显示当前行和列的位置?在vim 中,我知道有set ruler
命令,但是在使用vi时我有哪些选择?
您可以set number
在每行的开头显示行号。但是,在原始 vi 中,似乎没有显示当前列的选项。
有一种方法可以至少将光标定位在特定列。不要25|
将光标移动到当前行的25列位置。
原始 viruler
与您在vim
.
在原始 vi(例如 AIX、HPUX、Solaris)中,按controlG显示您所在的行,但不显示列,例如,
"shlib" [Read only] line 137 of 140 --97%--
Run Code Online (Sandbox Code Playgroud)
标尺模式最早是在elvis
(参见如何在 vi 中在 80 列处画一条线)中引入的:
google 告诉我 elvis 在 1.5 版(1992 年 4 月 2 日)中添加了这个,作为参考,1.4 版是 1991 年 8 月 4 日。
它在 1.17(1992 年 4 月 20 日)和 1.24(1993 年 1 月 10 日)之间的 1.18 版(未注明日期)中添加到 vim:
VIM 1.18 - 删除所有行后屏幕未更新。现在读取文件() 将光标放在第一个新行上。捕捉奇怪的磁盘标签。 删除了无休止的“撤消行丢失”循环。使用空文件 'O' 会 造成这个。在windexit() 中添加了窗口大小重置。刷新 .vim 文件 仅当缓冲区已更改时。添加了来自 Elvis 1.5:添加了“equalprg”和“ruler”选项。添加了引用。
nvi 最初是 elvis 的一个分支,并继承了此代码。有些人看到 nvi 正在运行并认为它是原始 vi。
vile 在3.57 版(1993 年 8 月 5 日)的更改中添加了标尺模式。因此,所有四种常见的 vi 克隆都提供了一种ruler
模式。
使用垂直条到达特定列是一种解决方法(在快速检查中确实考虑了制表位)。
进一步阅读:vi like emacs - 常见问题