让我说我发出:带有VI的shell命令。然后我导航到一个目录,并决定我需要编辑我在那里看到的foo.txt文件。有没有办法从shell返回到vi并打开foo.txt进行编辑
答案 0 :(得分:4)
鉴于满足以下条件,有一种方法可以达到你想要的效果。
Vim是使用+clientserver
构建的。您可以使用:echo has('clientserver')
。
您所处的环境可以并且已正确配置为与X服务器通信。
启动Vim时使用--servername
选项及其相关参数。
在这种情况下,您可以使用Vim的--remote选项。
示例会话将是:
vim --servername foo somefile.txt
:shell
<do stuff in your shell>
vim --servername foo --remote otherfile.txt
fg
答案 1 :(得分:2)
你的问题是vi,但你的标签上写着vim。我不知道如何使你调用的shell回到父Vim窗口,但是如果以下你做了你想做的事情:
:E
调用Vim的文件系统导航器。 :help netrw
提供了有关它的更多信息。从那里,您可以在文件系统中巡航,直到找到您感兴趣的文件,按Enter
,然后开始编辑。