En Railcasts He notado una característica muy interesante 'Ir a símbolo'. Funciona como Command-T pero muestra clases y métodos disponibles en el archivo actual. Cómo conseguirlo en vim?Textmate 'Ir al símbolo' equivalente para Vim
Respuesta
Trate
:help tags
Existen varios programas y scripts de todo que generarán archivos de etiquetas. Además, el formato de archivo de etiqueta es realmente simple, por lo que es fácil juntar un sed(1)
o algún script que genere un archivo de etiqueta en cualquier idioma en el que esté trabajando.
La clave para obtener fácilmente un archivo de etiqueta (además simplemente descargando un generador) es clave en el estilo de formateo en lugar de analizar la sintaxis.
Pruebe el Command-T VIM plugin.
El plug-in Comando-T para VIM ofrece un mecanismo intuitivo extremadamente rápido para abrir archivos con un mínimo número de pulsaciones. Se llama "Command-T" porque está inspirada en la ventana "Ir a archivo" vinculada a Command-T en TextMate.
archivos se seleccionan escribiendo caracteres que aparecen en sus caminos, y son ordenados por un algoritmo que sabe que los caracteres que aparecen en ciertas ubicaciones (por ejemplo, inmediatamente después de un separador de ruta) deben recibir más peso.
O también te puede gustar PeepOpen.
PeepOpen es un aplicación de navegación de ficheros que funciona con TextMate, Coda, MacVim, y Emacs (Mac OS X Snow leopardo de 64 bits Intel requiere, soporte para otros editores viene pronto). Busque en ambas rutas y nombres de archivos , y abra fácilmente el archivo en su editor de texto con una sola pulsación de tecla . Los metadatos útiles te ayudan eligen rápidamente el archivo que estás buscando para.
También vale la pena agregar ctags exuberantes a la mezcla http://ctags.sourceforge.net/. Esto analizará muchos idiomas, incluido Ruby, y generará su archivo de etiquetas para usted y lo salvará del bit sed.
ctags -R
Harán el truco. Véase también la excelente complemento taglist para una barra lateral lista de todas las etiquetas en los buffers abiertos actualmente:
La versión de ctags
que viene pre-instalado en cada instalación de OS X 10.6 (Snow Leopard) fechas 1993 .
Descargue, compile e instale la versión más reciente de http://ctags.sourceforge.net/.Esto ahorrará muchos dolores de cabeza innecesarios (como la versión de 1993 no es compatible con la sintaxis de Java, porque Java aún no se inventó. Esto es lo mismo para muchos idiomas más nuevos)
Después de la instalación, use el comando ctags -R *
para trabajar recursivamente a través de su fuente codifique y cree un archivo de etiquetas (por defecto se llama tags
) en su directorio de trabajo actual.
VIM analizará este archivo de etiquetas. Mueva el cursor sobre una llamada a función/método, presione <Ctrl> + ]
y VIM abre el archivo que contiene el cuerpo del método/función que coincide con el texto debajo del cursor. Para volver al archivo anterior, presione <Ctrl> + t
, y VIM intercambia su búfer actual por el archivo desde el cual saltamos originalmente.
Como se sugirió DigitalRoss, la lectura de la documentación de ayuda incorporada de VIM le dará una comprensión más profunda de cuán poderosos son los ctags. Utilice este comando para leer la documentación:
:help tags
hay un plugin llamado vim CtrlP que se encuentran en Github que proporciona entre otros el comando :CtrlPBufTag
. Permitirá la búsqueda difusa a través de las etiquetas asociadas con el archivo del búfer actual. Exactamente como la función 'ir a símbolo' en Textmate. Tendrás que tener ctags exuberantes instalados y probablemente algo útil como el complemento vim taglist, también disponible en Github.
Lo sorprendente del plugin CtrlP es que proporciona una búsqueda difusa de archivos, búferes, etiquetas en todo el proyecto (incluidas las bibliotecas, si las etiquetó también) y solo las etiquetas en su búfer abierto actualmente.
Referencias:
- CtrlP ->https://github.com/kien/ctrlp.vim
- Una versión ligeramente modificado del plugin taglist, siendo el autor original ->https://github.com/travisjeffery/vim-gotosymbol
- 1. C# equivalente al símbolo Ruby
- 2. Ir al n-ésimo símbolo en la línea
- 3. Emacs equivalente al `%` de VIM?
- 4. PHP equivalente al símbolo de Ruby
- 5. Bash 'printf' equivalente para símbolo del sistema?
- 6. Vim: ir al principio/fin del siguiente método
- 7. Ir al final de la función C++ en Vim
- 8. ¿Puedo ir al error después de ejecutar make in VIM?
- 9. Averigüe a qué grupo de resaltado pertenece una palabra clave/símbolo en particular en vim
- 10. TextMate alternativa para Linux
- 11. Global "Ir a definición" en vim para Ruby?
- 12. ¿Hay algún comando para ir al final (o comenzar) de un bloque de Ruby usando vim
- 13. ¿Qué es el algoritmo de búsqueda difusa 'Ir a archivo' de textmate?
- 14. Vim - Ir a la ubicación anterior
- 15. ¿Tiene menos un equivalente al desplazamiento de vim?
- 16. ¿Hay un Vim equivalente al comando "fold" de Linux/Unix?
- 17. Ir equivalente a 'implosión' de PHP
- 18. Emacs equivalente a yy10p de Vim?
- 19. TextMate clic al final de la línea
- 20. equivalente Java a C# 's @ símbolo para escapar \
- 21. RubyMine para ignorar algunos archivos al ir al archivo
- 22. vim/macvim: localizar donde se define un método/símbolo
- 23. Pensando en pasar de TextMate a vim para Rails dev. ¿Qué necesito?
- 24. Ir al par de llaves
- 25. Flexslider 1.8 ir al artículo
- 26. Mongoose - Ir al siguiente elemento
- 27. Ir automáticamente a la siguiente línea en vim
- 28. Vim: Edición del archivo de sintaxis python.vim para resaltar como Textmate
- 29. Emacs equivalente al historial de comandos de Vim (para los comandos Meta-x)
- 30. ¿Cómo decirle a TextMate que ignore mi carpeta Katz's Bundler en "Ir a archivo"?
Estas sugerencias son para la apertura rápida de archivos, no "Ir a Símbolo" como pregunta la pregunta. Sin embargo, Command-T, como CtrlP, como sugiere Josef Schmitz, también tiene una función de búsqueda de etiquetas difusas (': CommandTTag'). Aunque es bastante lento. – ches