Есть ли хук перед тем, как vim откроет имя файла? - PullRequest
1 голос
/ 03 марта 2012

Я обычно открываю code.h и code.cpp одновременно.
И отображаю их бок о бок вертикально в окне.

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

$ vim -O code.{h,cpp}

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

$ vim code

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


Редактировать :

file_line.vim отлично.

Ответы [ 2 ]

2 голосов
/ 03 марта 2012

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

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

BufReadPre            starting to edit a new buffer, before reading the file
1 голос
/ 04 марта 2012

В этом случае возможным решением является изменение списка аргументов (см. :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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...