在vim中打开文件后返回目录浏览


122

当我打开在vim中浏览的目录时,可以通过将光标移动到文件名并按来打开文件Enter

现在,是否有任何命令可以返回到先前的目录浏览?

如果没有,是否可以在不关闭目录浏览模式的情况下打开文件?


2
我不确定,但是如果您想要真正方便的目录浏览,我建议您查看NERDTree
Johan Kotlinski 2012年

Answers:


197

您可以使用返回到最后一个缓冲区:b#

如果您只是打开文件,那么它将带您回到目录浏览。

更新:由于此答案恰好被接受为正确答案,因此排在首位,我想总结一下答案,包括@romainl给出的答案,即imho是正确答案。


3
那应该是:b#。我会修复它,但是单字符编辑不会成功。
echristopherson 2012年

如果执行此操作vim <dirname>,然后导航到该文件并按Enter,则该键将不起作用;如果我打开vim,则:e <dirname>选择文件并Enter运行。在两种情况下:buffers仅显示一个缓冲区。我不确定为什么会这样。
mcmlxxxvi

根据vim Wiki的@mcmlxxxvi b#仅适用于“先前编辑的缓冲区”:vim.wikia.com/wiki/…–
ezdazuzena

3
总结所有其他正确答案的好事,我希望更多的人这样做。
LightMan '18

1
@veich感谢您的评论,但由于问题仅在于向后退,我暂时不这样做。这不是Wiki页面,为了清楚起见,我只是总结其他问题。希望你能理解。
ezdazuzena

88

您可以使用Ctrl- O返回上一个缓冲区。


2
一般而言非常有用(例如,用于从导航gf),但是在浏览目录的情况下,它并不能使我回到打开文件时所在的“行”。:Rex<Enter>,它有点笨拙(5次击键与1次击键)。可能这是映射的候选对象
Tomasz Gandor

34

返回netrw列表的正确命令是:Rex[plore]。即使跳入和跳出数十个文件,也可以运行它。


离开netrw清单后编辑文件时,返回的方式与:Rexplore和返回的方式有所不同:Explore吗?
贾莎

为了回答我自己的问题,似乎:Rexplore总是使您返回到以前浏览过的同一netrw列表,而:Explore给出当前打开的任何文件的目录列表。
Jasha

29

:Ex 将带您返回(并向您显示您编辑的内容和未保存的内容)。


1
我赞成每个答案。它们都很有用
javadba

不错,它比Ctrl-O突出显示父目录(..)而不是突出显示顶行(某些Netrw标头)要好一些,但是它仍然不是我离开资源管理器(打开的文件)的地方。4次按键vs 1次,节省了一些js来导航到我以前的位置,但是:Rex<Enter>如果我期望有很多导航,我仍然可以映射。
Tomasz Gandor

26

我依靠Ctrl ^来回黑白两个缓冲区。


1
这对于我从自制软件在OSX上的vim 7.3起作用。Ctrl-O似乎不起作用。
Gardner Bickford 2014年

5
您甚至不需要移位,只需Ctrl 6
mVChr

更正确地说,这是“编辑备用文件”:vimdoc.sourceforge.net/htmldoc/editing.html#CTRL- ^
ezdazuzena

优秀的!尽管它只是来回工作(就像“ 1级撤消”一样),但实际上它返回到我所在的行!看起来我毕竟没有映射:Rex<CR>!(当然,只有当不看我也期待从嵌套导航“返回”(跃升到另一个文件等)。
托马斯Gandor

14

我通常只是使用:E。这很容易记住,并且可以让您回到打开的文件的目录列表中。


2
我很惊讶这票数太少。绝对是一个答案。
TaoPR

1
不要惊讶-在我当前的vim 7.4.x上:E是模棱两可的,什么也不做。您需要至少输入一个:E<CR>
Tomasz Gandor

1
与定义的其他命令相同:Ex或不同。例如,请参见stackoverflow.com/a/14367507/1141095:ExplorerE
ezdazuzena
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.