繁体   English   中英

在vim打开文件名之前有钩子吗?

[英]Is there a hook before vim open a filename?

我通常同时打开code.hcode.cpp
并在窗口中垂直并排显示。

目前我使用:

$ vim -O code.{h,cpp}

如果vim可以在打开文件之前运行一些命令(操作文件名),
我可以简单地使用:

$ vim code

我怎么写这种vim-script


编辑

file_line.vim很棒。

鉴于这种:

:help autocmd-event ,你应该能够在读取缓冲区之前使用BufReadPre事件做某事:

BufReadPre            starting to edit a new buffer, before reading the file

在这种情况下,可能的解决方案是在Vim启动时修改参数列表(请参阅:help arglist )。 可以使用VimEnter自动命令来完成此操作,该命令将遍历参数列表,并将不对应于现有文件的项替换为带有某些后缀的项,如下所示。

autocmd VimEnter * call AddArgsSuffixes(['.h', '.cpp'])
function! AddArgsSuffixes(sfx)
    let args = []
    for f in argv()
        if filereadable(f)
            call add(args, f)
        else
            for s in a:sfx
                call add(args, f . s)
            endfor
        endif
    endfor
    exe 'args' join(map(args, 'fnameescape(v:val)'))
endfunction

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM