it-swarm-es.com

Características más útiles de VIM que no son estándar en a IDE

Estoy considerando si debo comenzar a usar VIM nuevamente en lugar de un IDE. ¿Cuáles son las características más útiles de VIM que no son estándar en un IDE ?

30
Casebash

No creo que sean necesariamente las características avanzadas de VIM lo que lo hacen tan poderoso. Es el hecho de que nunca tienes que quitar las manos del teclado para hacer nada. Encontrar algo en un gran el archivo es tan simple como un par de pulsaciones de teclas. Abrir y cerrar varios archivos en la misma ventana también es increíblemente rápido.

Si bien puede no parecer intuitivo al principio, vale la pena su tiempo. Incluso si no lo usa como su estándar IDE (generalmente uso Visual Studio o Eclipse, por ejemplo), se encontrará usando VIM = para abrir y editar archivos rápidamente porque se vuelve mucho más rápido que esperar a que se cargue el IDE).

Invierte el tiempo para aprender a usar VIM bien y nunca te arrepentirás. Diría que es comparable a aprender a escribir con teclado.

32
Bryan Hales

Para mí el :global command es una aplicación excelente. Ejecutará comandos vim arbitrarios en cualquier línea que coincida (o no coincida) con una expresión regular.

Aquí hay unos ejemplos:

El comportamiento predeterminado es enumerar todas las líneas que coinciden, por lo que:

:g/TODO:/

enumerará cada línea que contiene el texto "TODO:"

cambie 'Mickey' a 'Minnie' en cualquier línea que también contenga la palabra 'Mouse'

:g/Mouse/ s/Mickey/Minnie/

Los comandos pueden tener su propio rango, por lo que esto se eliminará de cada línea con "TODO:" a la siguiente línea en blanco:

: g/TODO: /.,/^ $/d

Uso: g! ejecutar en cada línea que NO coincida con la expresión regular, p. para reemplazar "emacs" con "vim" excepto en las líneas que contienen la palabra "apesta":

:g!/sucks/ s/emacs/vim/
22
Dave Kirby

La capacidad de eliminar todo lo que se encuentra entre un conjunto de símbolos emparejados es increíblemente útil. Por ejemplo, con bastante frecuencia, me encuentro con ganas de reemplazar una cadena en el código. Entonces, di" mientras el cursor está en el bloque eliminará la cadena, mientras mantiene el "" intacto, y coloca el cursor entre los dos caracteres de comillas. da" hace lo mismo, pero también elimina los caracteres de comillas.

16
Chinmay Kanchi

'Finalización de palabras clave en modo de inserción'. Ctrl-P y Ctrl-N en modo de inserción para buscar en el texto e intentar completar cualquier nombre de variable que esté escribiendo. Nunca he visto esto en ningún otro IDE y realmente lo extraño. La finalización del código en IDE simplemente no es lo mismo.

9
Lang Sharpe

Otra característica que encuentro increíblemente útil es la capacidad de cambiar la sangría. :15,30>> sangra todas las líneas del 15-30 (inclusive) dos veces, mientras que :15,30<< desangra las mismas líneas dos veces.

8
Chinmay Kanchi

el comando dd (eliminar la línea actual). Yo uso este mucho.

Además, poder escribir algo como 3dd y eliminar las siguientes 3 líneas es maravilloso. Nunca he visto esto en otro editor = D

6
Alex Hart

El comando c. Por ejemplo, ci" para cambiar entre comillas. cw para cambiar Word. Muchos trucos útiles con él.

6
Daenyth

Los . comando. Repite el último comando.

5
Adam Jaskiewicz

Esc ! } empujará el párrafo actual a un filtro de línea de comando como fmt o wc o which y devolverá los resultados al editor.

3
Jé Queue

Acceso rápido a la línea de comando. CTRL + Z o: wqa me dará una línea de comando en menos de 1 segundo sin que mi mano deje el teclado.

3
luispedro

Que puedo usar hjkl para mover el cursor sin tener que abandonar el inicio del teclado. Tengo la mayoría de los programas (como PDF lectores), que le permiten cambiar las combinaciones de teclas, configurar el uso de teclas de movimiento Vim para desplazarse, etc.

3
Anto

¿Sabía que hay un plugin vi para Eclipse ? Cuesta 15 euros (20ish US $) pero vale la pena . No más dd en medio de un documento, y faltan todas las pequeñas cosas útiles.

Tal vez un poco fuera de tema, pero pensé que valía la pena señalarlo.

1
lorenzog

Esto es bastante difícil de responder, debido en parte a la vaguedad de la pregunta, y al hecho de que los IDE difieren, y muchos proporcionan características que otros no (y el hecho de que solo tengo algunos).

Sin embargo, lo que creo que distingue a Vim de otros editores (sí, incluso Emacs, en este caso) es que es realmente un gran editor. Con el paso del tiempo, he usado muchos editores, y honestamente puedo decir que muy pocos vienen con un conjunto tan completo de funciones para manipular texto, como lo hace Vim.

Mi estilo de manipulación de texto, por ejemplo, incluye muy a menudo el uso de duplicación (línea/selección de varias líneas) y movimiento (línea/selección de varias líneas) hacia arriba y hacia abajo, para lo cual hace tiempo que he definido atajos rápidos. Echo de menos esas características en la mayoría de los IDE (aunque he oído que ReSharper para VS tiene algo similar).

1
Rook

Dependiendo del idioma que esté programando, quédese con el ide u obtenga el ide que ofrezca la mayor cantidad de refactorizaciones que pueda encontrar, obtenga un compartidor para Visual Studio si está haciendo C #, intellij para Java o asistencia visual para Visual Studio, maximiza las refactorizaciones en Eclipse o netbeans.

Deberíamos pasar de manipular texto a manipular código, las herramientas de refactorización le brindan esa capacidad. Si vim te da todas las funciones, por mi parte, ya no quiero tratar con un editor de texto

0
Harald Scheirich