如果我在调用Vim时带上+
参数,就可以让光标定位到文件的最后一行:
vi + myfile # "+" = go to last line of file
我该如何做到这一点,并进入追加模式,以便用户可以从文件末尾开始输入?
类似于以下代码:
emacs myfile --eval "(goto-char (point-max))"
如果我在调用Vim时带上+
参数,就可以让光标定位到文件的最后一行:
vi + myfile # "+" = go to last line of file
我该如何做到这一点,并进入追加模式,以便用户可以从文件末尾开始输入?
类似于以下代码:
emacs myfile --eval "(goto-char (point-max))"
一种解决方法是使用+
参数,在读取文件后传递一个要执行的命令。Vim可以通过这种方式接受最多10个命令,因此您可以使用:
vim "+norm Go" "+startinsert" myfile
norm Go
将跳转到最后一行并添加新行。注意:此解决方案会在文件末尾创建一个新行。如果您想要编辑最后一行的末尾而不创建新行,则可以使用以下命令:
vim "+norm G$" "+startinsert" myfile
但是,如果您这样做,而且您的最后一行已经包含了一些文本,您将在最后一个字符之前开始插入文本。我不知道是否有类似于startinsert
的等效方法,例如startappend
,因此我不知道如何解决这个问题。
startinsert
相当的命令是startappend
,而它的等效命令是startinsert!
。因此答案可能是:vim "+norm G$" "+startinsert!" myfile