Geralmente, configuro uma sessão screen
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 tem um REPL decente, geralmente executo isso na janela 2. É claro que você não precisa de screen
para fazer isso; você poderia fazê-lo com diferentes janelas de terminal ou com abas em um terminal multitab. Eu acho que o screen
é mais estável do que outras alternativas: se o seu aplicativo do terminal falhar, você pode simplesmente iniciar outro terminal e reconectar a sua sessão screen
ainda em execução. screen
também é muito rápido para navegar uma vez que você aprende (muito parecido com o próprio vim).
Na maioria das vezes acabo usando a sessão shell para atividades de controle de versão complicadas, como rebasing ou mesclagem: coisas mais simples podem ser feitas na linha de comando do vim (por exemplo, :!git commit % -m 'Added info about
screen .'
) ou usando o fugitivo addon. Eu acho fugitivo :Gmove
(renomear o buffer atual tanto no vim e no índice git) e :Gdiff
(invocar vimdiff no buffer atual com um ponto anterior em seu histórico) 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 código e, em seguida, confirmar com :%!git commit -F /dev/stdin
Também usarei a sessão de shell para testes funcionais / de integração se isso for aplicável a qualquer coisa que eu esteja trabalhando, por exemplo, se eu estiver escrevendo um utilitário de linha de comando.
A funcionalidade de correção rápida do vim é útil para depuração, embora pareça haver um complemento diferente necessário para cada idioma em que você possa trabalhar. Eles também parecem usar uma variedade de técnicas de chamada, mapeamento para teclas de função ou seqüências de teclas. com \
ou ,
, ou para comandos personalizados, ou por ser invocado automaticamente quando um buffer é salvo. Até agora, eu não me preocupei muito em descobrir isso, e apenas leio os resultados dos testes unitários ou dos fiapos em um buffer de rascunho usando, por ex. %código%. Modifique o código, volte para o buffer de rascunho, :r !python -m doctest whatever.py
para desfazer, em seguida, pressione u
e a seta para cima (na maior parte do tempo) 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., :r
fará uma compilação e o suporte para a lista de correcções rápidas está bem estabelecido. Então você pode fazer :make
para exibir o buffer de correção rápida. Ele mostrará uma lista de erros, um por linha; Se você pressionar Enter em uma linha, a outra janela será posta nesse ponto nesse arquivo.
Se você estiver trabalhando com vários projetos por vez, poderá fazer :copen
para organizar uma lista de erros a serem armazenados na lista de locais : é como a lista de correções rápidas, mas está associado a uma única janela em vez de ser um singleton dentro de sua instância vim. :lmake
abrirá uma lista de localização para a janela atual.