Normalmente, organizo uma screen
sessão para cada projeto. O Vim está na janela 0 e eu uso a janela 1 para uma sessão de shell. Se eu estou codificando em uma linguagem que possui um REPL decente, normalmente eu a executo na janela 2. Claro, você não precisa screen
fazer isso; você poderia fazer isso com diferentes janelas de terminal ou com guias em um terminal com várias guias. Acho que sou screen
mais estável do que outras alternativas: se o aplicativo do terminal travar, basta iniciar outro terminal e reconectar-se à sua screen
sessão ainda em execução . screen
também é muito rápido para navegar depois que você o aprende (assim como o próprio vim).
Eu geralmente acabo usando a sessão do shell para atividades complicadas de controle de versão, como rebasing ou mesclagem: coisas mais simples podem ser feitas na linha de comando do vim (por exemplo, :!git commit % -m 'Added info about
tela .'
) ou usando o addon fugitivo . Acho fugitivos :Gmove
(renomear o buffer atual tanto no vim quanto no índice git) e :Gdiff
(invoco vimdiff no buffer atual com um ponto anterior em sua história) particularmente útil. Você também pode fazer coisas como criar uma mensagem de confirmação em um buffer temporário, copiar texto de várias partes do seu código e confirmar com:%!git commit -F /dev/stdin
Também usarei a sessão do shell para testes funcionais / de integração, se for aplicável ao que estiver trabalhando, por exemplo, se estiver escrevendo um utilitário de linha de comando.
Funcionalidade quickfix do Vim é útil para depurar, embora não parece ser um complemento diferente necessário para cada idioma que você pode querer trabalhar. Eles também parecem usar uma variedade de técnicas de invocação, mapeamento de teclas de função ou seqüências de teclas começando com \
ou ,
, ou para comandos personalizados, ou sendo chamado automaticamente quando um buffer é salvo. Até agora, eu realmente não me preocupei em esclarecer isso, e apenas li os resultados dos testes de unidade ou fiapos em um buffer temporário usando, por exemplo :r !python -m doctest whatever.py
. Modifique o código, volte para o buffer temporário, u
para desfazer e pressione :r
a seta para cima (na maioria das vezes) para recuperar esse comando. Mas pode valer a pena procurar um complemento para isso, dependendo do idioma em que você trabalha.
Para linguagens compiladas populares como C, java, etc., :make
será feita uma compilação, e o suporte para a lista de correções rápidas está bem estabelecido. Então você pode fazer :copen
para exibir o buffer do quickfix. Ele mostrará uma lista de erros, um por linha; bater Enterem uma linha irá pular sua outra janela para aquele ponto nesse arquivo.
Se estiver trabalhando com vários projetos ao mesmo tempo, é possível :lmake
organizar uma lista de erros a serem armazenados na lista de localizações : é como a lista de correções rápidas, mas está associada a uma única janela em vez de ser um singleton dentro de sua lista. instância vim. :lopen
abrirá uma lista de locais para a janela atual.