Salvar um comando no Vim


1

Existe uma maneira de salvar um comando no vim? Quero poder ir direto para um diretório após o login, como:

cd directory/subdirectory/files

Obrigado por todas as idéias.


Acho que essa pergunta deve ser reformulada, mas hesito em editá-la, pois posso interpretar mal a ambiguidade. Talvez você queira dizer "Executar automaticamente um comando na inicialização" em vez de "Salvar um comando"? E você quer dizer quando você faz login e obtém um shell ou no Vim quando o inicia?
Heptite

Respostas:


4

Se você deseja ter o seu shell cd em um diretório específico após o login , coloque-o no seu ~/.bashrc(assumindo que você esteja usando o bash):

if [ shopt -q login_shell ]
then
    cd directory/subdirectory/files
fi

Se você deseja ter o vimcd em um diretório específico cada vez que o abre, coloque-o em ~/.vimrc:

cd directory/subdirectory/files

Observe que o cdin your ~/.vimrcnão é o shell, cdmas é um comando do Vim. Vejo

:help :cd

Obrigado pela sua resposta. O único problema é que eu tenho diretórios diferentes em partes separadas do sistema de arquivos que eu gostaria de acessar rapidamente. Alguma idéia que possa me ajudar?
Nick B

Existem muitas ferramentas que podem ajudar nisso. No entanto, não estou muito familiarizado com muitos deles. Na linha de comando, eu gosto de usar wcd( wcd.sourceforge.net ). Pois no Vim, ouvi coisas boas sobre o FuzzyFinder ( vim.sourceforge.net/scripts/script.php?script_id=1984 ) e o ctrlp ( vim.sourceforge.net/scripts/script.php?script_id=3736 ). Você também pode usar aliases do bash para criar comandos para saltar para diretórios usados ​​com freqüência, por exemplo alias cda='cd /long/path/to/dir',.
garyjohn

1

No seu ~/.vimrc, você pode definir comandos personalizados (como :CdA) que mudam rapidamente para diretórios; por exemplo:

:command! CdA cd directory/subdirectory/files
:command! CdB cd directory/other_directory/files
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.