我的问题非常简单,但我无法在任何地方找到答案: 在 Vim 中,如何关闭 Netrw 文件浏览器而不实际选择文件? 我应该按哪个按键来关闭浏览器并回到当前打开的文件?
到目前为止,如果我想返回当前打开的文件,我必须从 Netrw 中选择它,但如果我还没有保存它,则这是不可能的。
我可以补充一下,我已经查看了文档,并知道 :h netrw
命令;)
非常感谢。
<c-6>
/<c-^>
返回到上一个缓冲区。请参阅:h CTRL-6
。:Rex
来恢复浏览。请参阅:h :Rex
。Vim默认情况下,没有插件等,应该将netrw窗口视为缓冲区(不像列表一样(:ls或:buffer))。尝试:
:bd
:bdelete
或者:bw
:bwipe
Vim有一个奇特的方式,它不将netrw窗口列为缓冲区,而是像关闭缓冲区一样关闭它,并返回到先前的缓冲区/文件。
:ls!
,你会看到它出现在列表中 :) ... 如果你切换了缓冲区并保留了一些netrw缓冲区,则使用打开的netrw目录缓冲区号码加上 bd<number>
也可以解决问题。 - Joel.O:bd<number>
。现在无法进行编辑。 - Joel.O:buffers
命令检查哪个缓冲区,然后使用:bd<number>
命令将其删除(我需要使用:bw
)。 - Enrico使用netrw的v153版本,可以使用:Rex返回到netrw缓冲区;它还允许您在编辑目录之前返回到正在编辑的文件。 (有关最新的netrw,请参见http://www.drchip.org/astronaut/vim/index.html#NETRW)。
:Rex
就什么也没发生。 - Alexandre Bourlierfunction! s:close_explorer_buffers()
for i in range(1, bufnr('$'))
if getbufvar(i, '&filetype') == "netrw"
silent exe 'bdelete! ' . i
endif
endfor
endfunction
nnoremap <C-e><C-x> :call <sid>close_explorer_buffers()<cr>
QuitPre
是我需要的,以防止 <C-Tab>
折叠时 :Lexplore
将 :q :q
变成 :q :q :q
,在出现 E173: ...more files to edit
的情况下。 - ssokolow:exit
命令关闭netrw
缓冲区并返回到前一个缓冲区。
:b#
可以回到先前的缓冲区。非常感谢! - Alexandre Bourlier<c-^>
(即<c-S-6>
)才能使其工作。(OSX Terminal.app) - Micah Smith