
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.txt
e file2.txt
estão localizados "distantes" um do outro no sistema de arquivos.
Agora suponha que estou editando file1.txt
e quero abrir file2.txt
em uma vsplit
janela. 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.txt
rapidamente?
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ê .viminfo
estiver 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.