man*_*m-n 1 vi vim bash shell for-loop
为了进行常规修改,我通常使用以下命令编辑子目录中的所有文件:
for i in `ls`; do vim $i; done
Run Code Online (Sandbox Code Playgroud)
现在,我想在命令提示符之间退出VIM,但VIM不允许我.之后:quit它打开并编辑下一个文件.如何完全退出vim?
我认为一个解决方案可能是shell从vim使用:!bash和执行,killall vim但这会杀死我在其他终端中连接的其他VIM会话.有没有干净的方法来做到这一点?
那不是Vim,那是Bash.Vim无法阻止Bash循环的后续迭代产生一个新的,无关的Vim实例.
不要在循环中执行此操作.只需调用一个副本vim并将其传递给所有文件:
vim *
Run Code Online (Sandbox Code Playgroud)
然后,您可以随时使用:qa或停止编辑:quitall