我一直运行 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
应该
filename
在TMUX
实例中打开。如果不是,你就无法做你想做的事。
看:help clientserver
。