Maneira rápida de abrir um arquivo distante no vim na linha de comando

Maneira rápida de abrir um arquivo distante no vim na linha de comando

Suponha que eu tenha dois arquivos com os seguintes caminhos:

~/another/project/file1.txt
~/this/is/some/very/deep/project/file2.txt

Como você pode ver, file1.txte file2.txtestão localizados "distantes" um do outro no sistema de arquivos.

Agora suponha que estou editando file1.txte quero abrir file2.txtem uma vsplitjanela. O método mais rápido que escolhi para abrir file2.txté

:vsplit ~/this/is/some/very/deep/project/file2.txt

o que obviamente não é eficiente, mesmo com conclusão difusa.

Existe uma maneira de "marcar" ou "pular para um diretório" rapidamente para acessá-lo file2.txtrapidamente?

Meu pensamento inicial seria executar um comando do shell (dentro do modo de comando, usando !) para facilitar de alguma forma o salto. Usando algo comopularpode ajudar, mas não saberia como.

Responder1

Você poderia tentar usar uma marca global, conforme descrito na resposta a esta pergunta:

https://stackoverflow.com/questions/1581505/vim-create-marks-across-files

Se você fizer uma marca com uma letra maiúscula como mA, poderá retornar a esse arquivo indo até essa marca com 'A.

Isso funcionará em todas as sessões se você .viminfoestiver salvando as coisas corretamente.

Responder2

Se você usa os mesmos arquivos regularmente, pode usar um link simbólico.

Crie uma pasta para guardar seus links.

mkdir ~/links/

vincule seus arquivos.

ln ~/another/project/file1.txt ~/links/file1.txt
ln ~/this/is/some/very/deep/project/file2.txt ~/links/file2.txt

Você também pode nomear seu link de forma diferente. Se o seu arquivo for somereallylongname.txt, você pode vinculá-lo a shname.txt

ln ~/this/is/some/very/deep/project/somereallylongname.txt ~/links/shname.txt

Responder3

Outra resposta que me foi apresentada por um amigo foi usar octrlpplugar. O plugin ctrlp facilita a busca de um arquivo em vários diretórios ao mesmo tempo.

EDIT: As configurações padrão para ctrlp realmente começariam a pesquisar na raiz do projeto; tecnicamente, seria necessário definir o nó raiz de maneira diferente para que funcionasse corretamente.

informação relacionada