【问题标题】:How to setup vim open file request will direct to already opened file in earlier terminal?如何设置 vim 打开文件请求将指向早期终端中已打开的文件?
【发布时间】:2019-09-02 02:30:28
【问题描述】:

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

当文件已经在其中打开时,我需要一种方法来直接查看旧的 gnome 终端。其他基于 gui 的编辑器(如 gedit)也有这个选项。如果没有可用的此类选项,那么我将继续使用 gvim 是否具有此类功能。

【问题讨论】:

  • 我怀疑 Vim 中是否有这样的选项,因为它不是基于 GUI 的编辑器。

标签: vim terminal editor vi nautilus


【解决方案1】:

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

可以通过使用--remote--remote-silent 选项调用vimgvim 在同一窗口中打开文件(如果服务器丢失,后者不会打印错误)。您可以使用--servername SERVER 指定除第一个以外的其他服务器。

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

如果您只想在一个窗口中打开 GUI 中的文件并继续使用命令行 Vim 执行其他任务,则将您的 shell 配置指向 vim 并将 GNOME 设置为使用 gvim --remote-silent 打开文件,所以它将在gvim 中打开 GUI 中的所有文件,而无需理会您的其他会话。

【讨论】:

    猜你喜欢
    • 2019-11-19
    • 1970-01-01
    • 2017-01-01
    • 2014-10-23
    • 2014-07-04
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多