如何设置vim打开文件的请求将定向到较早的终端中已经打开的文件?

时间:2019-04-11 12:39:01

标签: vim terminal editor vi nautilus

我已经通过在文件浏览器中双击文件图标打开了一个文件(比如nautilus)。该文件将在终端上运行的vim中打开(例如在gnome终端中打开)。假设我将尝试通过再次在文件浏览器中双击文件图标来再次打开同一文件。这次在终端中打开vim会给您烦人的消息,以只读等方式打开文件。

当文件已在其中打开时,我需要一种方法来查看较旧的gnome终端。其他基于gui的编辑器(如gedit)也具有此选项。如果没有这样的选项,那么我可以使用gvim了,因为它具有这样的功能。

1 个答案:

答案 0 :(得分:0)

Vim具有可用于此目的的客户端-服务器功能。默认情况下,当您打开gvim窗口时,将启动服务器。服务器名称将在标题栏中,默认情况下,第一个是GVIM,第二个是GVIM2,下一个是GVIM3,依此类推。

可以通过使用vimgvim选项调用--remote--remote-silent在同一窗口中打开文件(如果服务器是失踪)。您可以使用--servername SERVER指定第一个服务器以外的其他服务器。

如果您的目标是始终仅使用一个Vim会话,无论您如何调用该程序,则始终可以使用gvim并将GNOME设置为使用gvim --remote-silent打开文件,并进行设置使用export EDITOR="gvim --remote-silent"在shell配置中。然后,无论您做什么,都将始终在单个窗口中打开。

如果只希望在一个窗口中打开GUI中的文件,并继续使用命令行Vim来执行其他任务,则将shell配置指向vim,然后将GNOME设置为使用{{1 }},这样它将从gvim --remote-silent的GUI中打开所有文件,而让您的其他会话保持独立。