как открыть несколько файлов в vim после vimgrep - PullRequest
2 голосов
/ 02 декабря 2009

Я использую gvim. Использование vimgrep в текущем каталоге для поиска текста в файлах *.sql. Когда он ищет файлы, он просто показывает мне имя файла за раз и в конце открывает один файл.

Можно ли открыть все файлы в виде вкладок? По сути, я хочу открыть все файлы, потому что я хочу заменить шаблон 'vimgrepped' другим текстом.

Ответы [ 2 ]

1 голос
/ 31 июля 2011

Для автоматизации действий в списке мест QuickFix я написал команду аналогично :bufdo или :windo, который выполняет команду для каждого элемента.

command! -nargs=+ Qfixdo call QuickFixDo(<q-args>)
function! QuickFixDo(cmd)
    let bufnam = {}
    for q in getqflist()
        let bufnam[q.bufnr] = bufname(q.bufnr)
    endfor  
    for n in keys(bufnam)
        exe 'buffer' n
        exe a:cmd
        update
    endfor
endfunction

Используя функцию, можно открыть все файлы, указанные в списке QuickFix, с помощью следующая команда.

:Qfixdo tab sp

Кроме того, можно повторить и саму замену.

:Qfixdo %s/pattern/string/
1 голос
/ 02 декабря 2009

нашел этот плагин довольно полезным в этом отношении.

http://www.vim.org/scripts/script.php?script_id=1813

...