2011-08-22 9 views
5

Trabajo casi exclusivamente en el terminal, y muy a menudo necesito ver los archivos que aparecen en la pila de errores. Un formato muy común es /some/file:99, donde 99 es el número de línea. Me gustaría poder copiar esa línea, y abrir ir a esa línea fácilmente en vim.¿Hay alguna manera de hacer que vim reconozca los números de línea al final de los nombres de archivo?

Lo que estoy buscando es la capacidad de hacer :e /some/file:99, y vim abre automáticamente ese archivo en la línea 99. ¿Algo como esto existe? Si no, ¿es posible escribir un plugin para ello?

Respuesta

1

Este plugin fue diseñado con este propósito específico en mente: file:line

6

El comando de edición puede tener opciones, así que trata de esto:

:e +99 /some/file 

acaba de encontrar este enlace:

http://vim.runpaint.org/basics/opening-files/

Es posible prefijar el nombre de archivo con + LineNumber para instruir a Vim salta a la línea dada después de abrir. Por ejemplo, vim +7 todo.list o: e +100 treatise.txt. Si omite el número de lienzo, es decir, prefije el nombre de archivo con +, Vim saltará al final del archivo.

+0

¿Sería posible reasignar ': e/some/file: 99' a': e +99/some/file'? ¿O habría una mejor manera de hacerlo? Aunque su solución está limpia, no es una gran mejora para mi caso de uso antes que abrir el archivo y luego hacer ': 99' – Suan

+0

¿Es el comando gf lo que está buscando? http://vim.wikia.com/wiki/Open_file_under_cursor –

1

¿De dónde viene este /some/file:99? ¿Es la salida de algún comando externo? De ser así, debe leer la documentación relacionada con el modo de corrección rápida. (:h quickfix).

+0

Las salidas error/stacktrace parecen tener un formato bastante estándar de filepath: linenumber, de ahí es que lo obtuve de – Suan

+0

@Suan: ¿quiere decir que tiene un archivo que contiene errores de compilación? abrir en Vim, y quieres saltar a la línea relevante del archivo? –

+0

Entonces será mejor que configure correctamente ''makeprg'', y llame a': make'. No es necesario usar ningún complemento. Esta es una característica integrada. –

2

Si puede redirigir /some/file:99 a un archivo entonces se puede saltar a /some/file en la línea 99 con sólo pulsar gF cuando cursor está en el nombre del archivo.

Cuestiones relacionadas