如果我在 vim:r !date
中运行它,它将从date
命令读取
如何在 vim 的-c
选项中运行它?
我试过vim -c ":r !date" myfile.txt
但我得到
`bash: !date": event not found`
我试过vim -c "r !date" myfile.txt
但我得到了
`bash: !date": event not found`
我已经尝试过vim -c ":r date" myfile.txt
但我得到
Error detected while processing command line:
E484: Can't open file date
!
是 bash 中的特殊字符,应该进行转义。否则使用单引号。一些替代方案:
vim -c 'r!date'
vim -c r!date
vim +'r!date'
vim +r!date
请注意,所有这些都会在日期后留下一行。如果您只想以一行开始文件,此行是日期,您可以使用:
vim +.!date
vim +'.!date'
当然,还是-c
变体。
vim -c '.!date'
要在文件末尾添加日期:
vim +'$r!date' file
vim -c '$r!date' file
要在日期之前添加额外的换行符,您只需添加一个空的 bash echo:
vim +'$r! echo ; date' file
通过在读取之前添加一个额外的命令,可以执行正常模式序列"Go"(最后一行然后光标换行(,从而实现更"原生"的 Vim 方法。在这种情况下,读取命令的范围不是必需的,因为光标已经处于正确的位置:
vim +'normal Go' +'r!date' file