vim - abre o arquivo e goto número da linha usando o nome do arquivo: linha nbr:

20

Várias ferramentas como grep , py.test , etc ... usam o padrão <FileName>:<line number>: para apontar para erros. Por exemplo:

; grep -Hn Common setup.cfg
setup.cfg:11:    Common

Como posso modificar o vim e o gvim para que eu possa invocá-los assim:

gvim setup.cfg:11:

em vez de

gvim setup.cfg +11

Eu sei que posso escrever um pequeno script de shell que analise as coisas, mas me pergunto se existe uma maneira mais fácil.

    
por Sardathrion 05.10.2012 / 09:14

4 respostas

14

Você pode usar o arquivo: plugin de linha disponível aqui , que faz exatamente o que você quer ...

    
por 06.06.2014 / 18:59
9

Não há jeito, e acho que um roteiro é o único caminho. A razão é, e se você tivesse um arquivo chamado setup.cfg: 11 e quisesse editá-lo?

Aqui está um script rápido que faz o que você quer como um oneliner ...

editline() { vim ${1%%:*} +${1##*:}; }
    
por 05.10.2012 / 09:38
2

Com Vundle.vim , adicione isso ao seu .vimrc :

Plugin 'bogado/file-line'
    
por 12.10.2016 / 17:56
0

Você também pode usar esse alias:

alias gd 'set number='echo \!:1 | perl -pe "s/([0-9]*:)?(.+)[,:]([0-9]+).*//"'; set file='echo \!:1 | perl -pe "s/([0-9]*:)?(.+)[,:]([0-9]+).*//"'; eval "if ($number == $file) then \
   gvim $file \
else \
   gvim $file +$number \
endif"'
    
por 03.12.2018 / 09:05

Tags