【问题标题】:Close netrw explorer after opening a new file打开新文件后关闭 netrw 资源管理器
【发布时间】:2020-08-29 04:25:59
【问题描述】:

我希望 netrw 资源管理器在打开文件后自动关闭。

例如:

  1. :Lex 打开文件资源管理器
  2. 打开文件
  3. 打开后,文件资源管理器会自动关闭。

我试过设置:

autocmd FileType netrw setl bufhidden=wipe

但它不起作用。

其余相关的.vimrc 设置:

let g:netrw_banner = 0
let g:netrw_liststyle = 3
let g:netrw_altv = 1
let g:netrw_winsize = 25
noremap <C-x> :Lex<CR>
autocmd FileType netrw setl bufhidden=wipe

【问题讨论】:

    标签: vim netrw


    【解决方案1】:

    尝试使用:Explore:Sexplore:Hexplore:Vexplore 而不是:Lexplore:Lexplore 的主要原因是在一侧或另一侧有一个持久的资源管理器;当您选择带有&lt;cr&gt; 的文件时,其他人已经消失了。

    【讨论】:

    • Exlet g:netrw_browse_split = 0(默认)时不会持续存在
    【解决方案2】:

    我从另一个 Stack Overflow 答案(链接如下)中获取了这个 sn-p,并将其添加到 BufWinEnter 事件中以解决这个问题。

    " Close after opening a file (which gets opened in another window):
    let g:netrw_fastbrowse = 0
    autocmd FileType netrw setl bufhidden=wipe
    function! CloseNetrw() abort
      for bufn in range(1, bufnr('$'))
        if bufexists(bufn) && getbufvar(bufn, '&filetype') ==# 'netrw'
          silent! execute 'bwipeout ' . bufn
          if getline(2) =~# '^" Netrw '
            silent! bwipeout
          endif
          return
        endif
      endfor
    endfunction
    augroup closeOnOpen
      autocmd!
      autocmd BufWinEnter * if getbufvar(winbufnr(winnr()), "&filetype") != "netrw"|call CloseNetrw()|endif
    aug END
    

    这里的原始答案: https://vi.stackexchange.com/questions/14622/how-can-i-close-the-netrw-buffer

    这个特别https://vi.stackexchange.com/a/29004

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      相关资源
      最近更新 更多