使用vim,我使用:term打开终端仿真器。在终端仿真器中的cd /path/to/project之后,我有一个名为foo.txt的文件。如果我像在普通终端中那样使用vim foo.txt打开它,它将在vim中打开vim,这将导致各种问题。我看到两个潜在的解决方案:
:term
cd /path/to/project
foo.txt
vim foo.txt
有人对这两种解决方案都有建议吗?
uujelgoq1#
vim --remote可以在vim上工作,但neovim编译时不需要clientserver。neovim-remote似乎是neovim的替代方案。
vim --remote
brccelvz2#
在Vim的内置终端中,执行以下操作
vim --remote foo.txt
这里假设你的Vim是用+clientserver选项编译的,你可以用:version或者:echo has('clientserver')来检查。
+clientserver
:version
:echo has('clientserver')
zpqajqem3#
你有几个选择。一种方法是让shell打印出要编辑的文件的完整路径(例如,使用bash的realpath ./<file_to_edit_goes_here>命令),然后退出插入模式,将光标放在打印出的文件路径上,使用gf打开光标下的文件路径(请参见:help gf)。或者,如果您使用的是Neovim,我已经编写了一个名为nvim-unception的插件,通过使用Neovim 0.7的内置RPC功能,可以在不嵌套Neovim会话的情况下打开文件。
realpath ./<file_to_edit_goes_here>
gf
:help gf
3条答案
按热度按时间uujelgoq1#
vim --remote
可以在vim上工作,但neovim编译时不需要clientserver。neovim-remote似乎是neovim的替代方案。brccelvz2#
在Vim的内置终端中,执行以下操作
这里假设你的Vim是用
+clientserver
选项编译的,你可以用:version
或者:echo has('clientserver')
来检查。zpqajqem3#
你有几个选择。
一种方法是让shell打印出要编辑的文件的完整路径(例如,使用bash的
realpath ./<file_to_edit_goes_here>
命令),然后退出插入模式,将光标放在打印出的文件路径上,使用gf
打开光标下的文件路径(请参见:help gf
)。或者,如果您使用的是Neovim,我已经编写了一个名为nvim-unception的插件,通过使用Neovim 0.7的内置RPC功能,可以在不嵌套Neovim会话的情况下打开文件。