我经常尝试使用已在另一个Vim实例中打开的Vim编辑文件。在这种情况下,您将获得错误对话框“交换文件”...“已经存在!”选项打开只读,无论如何编辑,恢复,退出和中止。
在几乎所有情况下,我想要做的只是切换到已经打开的Vim实例,然后继续编辑它。相反,我必须使用Quit或Abort关闭此尝试,然后寻找另一个实例的打开窗口(如果有许多打开的窗口,一些隐藏,一些在另一个工作区等,这可能很难)。
有没有办法做到这一点?
答案 0 :(得分:1)
您可以通过设置环境来使用Vim的客户端/服务器功能来解决此问题。
将vim
别名化为vim --servername VIM --remote
可能足以解决您的“问题”。
但我认为你应该修改你的工作流程并从vim本身打开相关文件。
答案 1 :(得分:1)
我建议在.bashrc文件中添加以下行
alias vim='vim --remote-silent'
这样,如果文件已经打开,你就不会收到恼人的“交换文件...”消息,如果它还没有打开,你就不会显示错误。
答案 2 :(得分:0)
安装wmctrl
,然后您可以编写别名为vim
或gvim
的脚本,该脚本在/ tmp目录中查找是否存在具有相同名称的交换文件。如果存在,则使用wmctrl将右侧窗口置于前台,否则请根据需要调用vim / gvim。