如何将 Tmux 中的 Vim 设置为默认系统编辑器?(Linux)

如何将 Tmux 中的 Vim 设置为默认系统编辑器?(Linux)

我一直运行 Tmux,里面有 Vim。我希望文本文件默认在该 Vim 实例中打开,而不是在新实例中打开。我想我需要以某种方式更改 ~/.selected_editor 中定义的默认文本编辑器。

我主要需要这样做,因为我也在同一个 Tmux 实例中运行 Ranger 文件管理器,并且当前当我从 Ranger 打开文件时,它会在新的 Vim 实例中打开,这是不可取的。

最终结果将符合 Vim 在一个实例内打开所有文件的约定。

答案1

您所描述的大会充其量只是一个光荣的目标,但绝对不是一个大会。

Vimmers 通常有一个或几个长期运行的项目特定会话,可能有几十个缓冲区短暂的会话用于快速编辑。其理念是将相关缓冲区放在一起,避免混淆无关的问题。将缓冲区添加到长时间运行的会话中是由 Vim 本身完成的,并且短暂实例无需考虑就可以启动和结束。

因此,从可用性角度来看,您所做的并不是一个好主意。

但问题还有技术方面。假设你的 Vim 内置了该clientserver功能,那么你必须尝试一下……

  • 在一个 tmux 窗格/窗口中:

    $ vim --servername TMUX
    
  • 在另一个 tmux 窗格/窗口中:

    $ vim --serverlist
    
  • 如果您TMUX在另一个窗格/窗口中看到您启动的服务器:

    $ vim --servername TMUX --remote filename
    

    应该filenameTMUX实例中打开。

  • 如果不是,你就无法做你想做的事。

:help clientserver

相关内容