Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 在vim netrw退出后更新当前工作目录_Unix_Vim - Fatal编程技术网

Unix 在vim netrw退出后更新当前工作目录

Unix 在vim netrw退出后更新当前工作目录,unix,vim,Unix,Vim,以下是场景。 我在unix命令行上(在主目录中)。我想浏览一下目录 $ vim . 从而打开vim网络。 现在我正在使用netrw浏览目录。 这里我想要的是,当我退出vim netwr时,我希望我以前的当前工作目录(在本例中为主目录)现在成为我以前在vim netrw中的目录。 示例: 第一步。现在在主目录中 第二步。维姆。(从而打开vim netrw) 第三步。转到任何目录(~/my/other/folders) 第4步:q(退出vim) 第五步。(在这里,我希望我以前的目录现在变成~/m

以下是场景。
我在unix命令行上(在主目录中)。我想浏览一下目录

$ vim . 
从而打开vim网络。
现在我正在使用netrw浏览目录。
这里我想要的是,当我退出vim netwr时,我希望我以前的当前工作目录(在本例中为主目录)现在成为我以前在vim netrw中的目录。
示例:
第一步。现在在主目录中
第二步。维姆。(从而打开vim netrw)
第三步。转到任何目录(~/my/other/folders)
第4步:q(退出vim)
第五步。(在这里,我希望我以前的目录现在变成~/my/other/folders


有什么想法吗?我想在.vimrc中做点什么,但我不知道怎么做。我进入谷歌搜索,但没有发现任何有价值的东西。

我认为这根本不可能。每个命令都是通过
系统('command')执行的
:!command
是通过子shell执行的,而不是通过启动Vim的shell执行的,因此我不知道如何以任何方式更改主机shell

但我觉得这里有个XY问题。你的目标是什么

是否希望能够对刚编辑的文件执行某些命令,并将其放在其目录中?如果是,您是否了解
:sh
:!command


你想为你的shell使用一个“图形”文件浏览器吗?如果是这样,你知道吗?

一个可能的解决方案是在netrw中按
c
,更改当前的工作目录,然后从你所在的文件夹中发出
:shell

所以它看起来像:

vim .
Navigate to the desired folder...
c
:shell
在netrw中的当前文件夹中的一个shell中


当您退出该shell时,您将返回到netrw中的位置,并可以继续使用资源管理器。

要添加到Wadih的答案中,您可以将其放入
.vimrc
文件中:

let g:netrw_keepdir=0
这意味着工作目录将自动更新,您无需每次按
c

因此,在导航到netrw中的文件夹后,您只需执行以下操作:

:sh
这将打开当前文件夹中的终端

从netrw帮助文件:

默认情况下,g:netrw_keepdir为1。此设置意味着当前 目录将不会跟踪浏览目录。(向后完成) 与v6的文件资源管理器兼容)

将g:netrw_keepdir设置为0会告诉netrw创建vim的当前目录 跟踪netrw的浏览目录


嗯,实际上我想用ascii图形方式浏览,而不是用“cd”(按tabs键)。因此,我在考虑是否可以浏览netrw并在shell中退出新目录。这是教科书XY问题。那么,你想要一个基于文本的文件资源管理器,但你要求解决一个无法解决最初问题的坏主意。请尝试我在回答中链接的文件资源管理器。我最喜欢的是vifm、 FWIW.uhm,是的。我后来意识到这毕竟是一个XY问题。我的错。你现在可以投票否决我的条目。我的道歉。我第一次读了。但最初的问题仍然存在-你是否设法使用另一个基于shell的文件浏览器来更改当前目录?如果是,是哪一个?我想做一件类似的事情(将所选文件名输出到标准输出)。。。。。