当前位置:  开发笔记 > 编程语言 > 正文

从目录及其子目录中关闭Vim中的文件

如何解决《从目录及其子目录中关闭Vim中的文件》经验,为你挑选了1个好方法。

在vim中是否有办法从某个目录及其子目录中关闭所有文件(缓冲区,让我们不进入)?



1> Mykola Golub..:

将以下内容放入.vimrc或vim插件文件夹中的某个自定义文件中.

function! s:close_buffers(name_regexp)
    for buffer_number in range(1, bufnr('$'))
        if !buflisted(buffer_number)
            continue
        endif

        let name = fnamemodify(bufname( buffer_number ), ':p')
        if name =~ a:name_regexp
            exec 'bdelete '.buffer_number
        endif
    endfor
endfunction

command! -nargs=1 CloseBuffers call s:close_buffers()

使用命令

:CloseBuffers include
:CloseBuffers in.*e

关闭名称匹配传递regexp的缓冲区.

这意味着要关闭您可以使用的特定文件夹中的所有文件

:CloseBuffers workspace/cpp
:CloseBuffers /home/my/project

要关闭当前目录和所有子目录中的所有文件

:exec "CloseBuffers ".getcwd()

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有