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