2012-03-03 2 views
2

Обычно я открываю code.h и code.cpp в то же время.
И показывать их бок о бок вертикально в окне.Есть ли крючок, прежде чем vim откроет имя файла?

В настоящее время я использую:

$ vim -O code.{h,cpp} 

Если ВИМ может запускать некоторые команды (для управления файла) непосредственно перед открытием файла,
я могу просто использовать:

$ vim code 

Как я могу написать этот вид vim-script?


Edit:

file_line.vim велик.

ответ

1

В этом случае, возможным решением является изменение списка аргументов (см. :help arglist) о запуске Vim. Это можно сделать с помощью автоматической команды 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 
+0

Это то, что я хочу. Благодарю. – kev

2

Учитывая это:

и :help autocmd-event, вы должны быть в состоянии использовать BufReadPre событие для делать что-то, прежде чем буфер чтения:

BufReadPre   starting to edit a new buffer, before reading the file 
Смежные вопросы