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

时间:2012-03-03 17:42:46

标签: vim

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

目前我使用:

$ vim -O code.{h,cpp}

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

$ vim code

我怎样才能写出这种vim-script


修改

file_line.vim很棒。

2 个答案:

答案 0 :(得分:2)

鉴于此:

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

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

答案 1 :(得分:1)

在这种情况下,可能的解决方案是在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