Substituição automática de comandos?

1

Quando codifico, geralmente recebo erros em uma determinada linha de um determinado arquivo. Muitas vezes, a saída do compilador ou processador tem o formato filename: LINENUMBER, por ex. %código%. Como eu uso o vim, eu geralmente copio o caminho com o cólon final e o linenumber e substituo os dois pontos por um espaço e um caractere '+', por exemplo: /home/math/foo.bar:60 para abrir o vim com esse arquivo nessa linha. Então, existe uma maneira de automatizar isso? E se nomes de arquivos tiverem dois pontos dentro de seus nomes? Como só estou interessado em sistemas Posix onde normalmente não ocorrem dois pontos em nomes de arquivos, estou ansioso para suas sugestões.

    
por math 06.01.2012 / 10:47

3 respostas

2

Você não precisa automatizar isso sozinho.

vim já possui mecanismos para manipular o salto para o arquivo e a linha de origem apropriados. Qualquer um…

  • … escreva o erro padrão do seu compilador em um arquivo temporário e abra vim com isso como seu arquivo de correção rápida :
    vim -q errors_file
  • … invoque seu compilador de dentro de vim usando :make , que usará automaticamente um arquivo de correção rápida temporário.

Há mais sobre isso em :help quickfix .

    
por 06.01.2012 / 11:40
0

Você pode compilar a partir do vim executando :make e depois será movido automaticamente para a linha.

    
por 06.01.2012 / 11:37
0

Se a saída do compilador estiver em um buffer vim, você poderá mover o cursor sobre o nome do arquivo: linenumber e digitar gF . O Vim abrirá esse arquivo com o cursor nessa linha. Veja

:help gF
    
por 07.01.2012 / 07:41