Abra vários arquivos no Vim com uma lista de arquivos

3

Eu tenho um arquivo 'filelist' que contém as seguintes linhas:

text1.txt
text2.txt
text3.txt 

Eu estou procurando uma chamada de linha de comando que abre os 3 arquivos no vim. Eu tentei o seguinte:

$ cat filelist | vim - 

e

$ vim < cat filelist

mas esses não produzem o resultado desejado.

    
por user37057 12.04.2013 / 15:40

3 respostas

6

Se os nomes dos arquivos não contiverem espaços ou outros caracteres problemáticos , você poderá usar

vim $(cat filelist)

Para nomes de arquivos com espaços, usar xargs é mais robusto (aqui usando as opções específicas do GNU xargs ):

xargs --delimiter '\n' --arg-file=filelist vim --
    
por 12.04.2013 / 15:50
4

com zsh :

vim -- "${(f)$(<filelist)}"

Com qualquer shell parecido com o Bourne (incluindo zsh ):

(IFS='
'; set -f; exec vim -- 'cat filelist')

Com o GNU xargs :

xargs -d '\n' --arg-file=filelist vim --
    
por 12.04.2013 / 17:00
0

Para abrir todos os index.php no caminho de trabalho atual

vim -p 'find . -name index.php'
    
por 19.05.2013 / 07:45

Tags