首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >退出vim netrw后更新当前工作目录

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

Stack Overflow用户
提问于 2013-03-18 10:58:39
回答 3查看 1.6K关注 0票数 4

这是一个场景。

我在unix命令行上(在主目录中)。我想通过浏览目录

代码语言:javascript
复制
$ vim . 

从而打开vim netrw。

现在我正在使用netrw浏览目录。

这里我想要的是,当我退出vim netwr时,我希望以前的当前工作目录(在本例中是主目录)现在变成我以前在vim netrw中的目录。

示例:

步骤1.现在位于主目录中

步骤2. vim。(因此打开vim netrw)

步骤3.转到任意目录(~/my/other/文件夹)

步骤4. :q (退出vim)

第5步。(在这里,我希望我以前的目录现在变成~/ my /other/文件夹

你有什么建议吗?我想用.vimrc做点什么,但我不知道该怎么做。我在谷歌上搜索过,但没找到有价值的东西。

EN

回答 3

Stack Overflow用户

发布于 2018-04-30 02:40:43

一种可能的解决方案是在netrw中通过按c来更改当前工作目录,并通过执行:shell命令从您所在的文件夹中生成一个新的shell

所以它看起来像这样:

代码语言:javascript
复制
vim .
Navigate to the desired folder...
c
:shell

现在你在netrw的当前文件夹中的一个shell中。

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

票数 3
EN

Stack Overflow用户

发布于 2013-03-18 14:08:55

我认为这是完全不可能的。通过system('command'):!command执行的每个命令都是通过一个子shell执行的,而不是通过启动Vim的shell执行的,所以我看不出您如何能以任何方式改变主机shell。

但是我感觉到了XY的问题。你的目标是什么?

您是否希望能够对您刚刚编辑的文件执行某些命令,并且您希望位于这些文件的目录中?如果是这样,你知道:sh吗?:!command

你想为你的shell提供一个“图形化”的文件浏览器吗?如果是这样,你知道vifm吗?RangerMidnight Commander

票数 2
EN

Stack Overflow用户

发布于 2019-12-09 06:35:56

为了补充瓦迪赫的答案,你可以把这个放到你的.vimrc文件中:

代码语言:javascript
复制
let g:netrw_keepdir=0

这意味着工作目录将自动更新,您不需要每次都按c键。

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

代码语言:javascript
复制
:sh

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

在netrw帮助文件中:

默认情况下,g:netrw_keepdir为1。此设置表示当前目录不会跟踪浏览目录。(这样做是为了向后兼容V6的文件资源管理器)。

设置g:netrw_keepdir为0告诉netrw让vim的当前目录跟踪netrw的浏览目录。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15469098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档