从终端打开Vim并在正常模式下使用某些命令?

时间:2010-06-30 03:57:31

标签: terminal vim

我希望能够打开Vim并在正常模式下自动发出一些命令(在这种情况下,打开两个缓冲区,在一行中将一个标记放在一行中,折叠另一行,然后转到文件的底部) 。我发现最接近的是使用-c或+命令行开关,但这些命令在Ex模式下执行。

例如,我希望能够写出这样的内容:

vim -some ":e a<CR>:e b<CR>23Gma55GzfG"

执行所有命令。

2 个答案:

答案 0 :(得分:4)

你为什么不喜欢normal命令?它无法执行ex模式命令,但能够使用所有其他模式:

vim -c 'e a' -c 'e b' -c 'normal! 23Gma55GzfG'
如果你想确保它不会使用任何映射,那么在命令结束时需要使用Bang。

答案 1 :(得分:-1)

_vimrc文件中定义此命令(您可以将其命名为Onstart以外的其他名称,但必须以大写字母开头)

:command -nargs=1 Onstart <args>

命令行 可以调用它:

gvim c:\file.txt -c "Onstart e a<CR>:e b<CR>23Gma55GzfG"

校正

不,我错了。你只需要管道命令:

vim -c "e a | e b | normal!23Gma55GzfG"