Vim:从命令行,转到文件结尾并开始编辑?

时间:2015-09-07 05:30:53

标签: command-line vi

我可以通过使用+参数调用它来使vim将光标定位在文件的最后一行:

vi + myfile          # "+" = go to last line of file

如何执行此操作,然后进入追加模式,以便用户可以在文件末尾开始输入?

类似于

的东西
emacs myfile --eval "(goto-char (point-max))"

1 个答案:

答案 0 :(得分:2)

一种解决方案可能是使用+参数在读取文件后传递要执行的命令。 Vim最多可以使用10个命令,因此您可以使用:

vim "+norm Go" "+startinsert" myfile
  • 第一个命令norm Go将转到最后一行并添加一个新命令。
  • 第二个命令将启动插入模式,允许用户输入最后一行。

注意此解决方案在文件末尾创建一个新行。如果你想编辑最后一行的结尾而不创建新的那一行,你可以使用类似的东西:

vim "+norm G$" "+startinsert" myfile

但是如果您这样做并且您的最后一行已包含一些文字,您将开始在最后一个字符之前插入文字。我不知道startinsert等同于startappend,因此我不知道如何解决这个问题。