vi 命令行,转到行和列

vi 命令行,转到行和列

我很长一段时间以来一直混合使用emacsvi( )。vim他们每个人都有自己的优势。我解析类似编译过程的错误输出并获取行号和列号,但我只能用来emacs直接转到行号和列号:

emacs +15:25 myfile.xml

vi只有行号(根据手册页)

vi +15 myfile.xml

有一个选项可以将光标定位在模式(vi +/pattern myfile.xml)上,但我从未使用过。但这对我没有帮助,因为该模式并不总是文件中第一次出现。

我如何开始vi才能使其转到文件第 15 行第 25 列?我可以用-c选项做一些事情吗?

答案1

您可以使用:

vi '+normal 15G25|'  myfile.xml

答案2

随着文件行插件,您可以简单地将行和列附加到文件名,无论是在调用 Vim 时还是在内部使用以下命令:edit

vim myfile.xml:15:25

答案3

只是为了好玩,它-c 'normal 14j24l'会让你在第 15 行字符 25

答案4

值得注意:

-c command 

启动时运行给定的 ex 命令。vi 只允许有一个 -c 选项; Vim 最多接受 10 个。+command仍然支持此选项的旧形式 。

使用时具有+command相同的单一限制。ex commandvi

也仅限+/pattern于一个带有 的命令vi

( 取自vim 和 ex 编辑器

相关内容