tutorial salir pegar español eliminar editar copiar con comando borrar archivo vim vi

vim - salir - vi ir al final del archivo



En Vim, ¿cuál es la mejor manera de seleccionar, eliminar o comentar grandes porciones de texto de pantallas múltiples? (16)

Seleccionar una gran cantidad de texto que se extiende a muchas pantallas en un IDE como Eclipse es bastante fácil ya que puede usar el mouse, pero ¿cuál es la mejor manera de, por ejemplo, seleccionar y eliminar bloques de texto multipantalla o escribir, por ejemplo, tres métodos grandes en otro archivo y luego eliminarlos para fines de prueba en Vim cuando se utiliza a través de masilla / ssh donde no se puede usar el mouse?

Puedo arrastrar fácilmente hasta el final de la línea o tirar al final del bloque de código, pero si el texto se extiende sobre muchas pantallas, o tiene muchas líneas en blanco, siento que mi las manos están atadas en Vim. Alguna solución?

Y una pregunta relacionada: ¿hay alguna forma de seleccionar 40 líneas y luego comentarlas todas (con "#" o "//"), como es común en la mayoría de los IDEs?


El modo visual es la solución para su problema principal. En cuanto a comentar secciones de código, hay muchos complementos para eso en vim.org, estoy usando tComment.vim en este momento.

También hay una manera ordenada de comentar un bloque sin un complemento. Digamos que trabajas en python y # es el personaje de comentarios. Haga una selección de bloque visual de la columna en la que desea que esté el signo hash, y escriba I # ESCAPE. Para ingresar a un modo de bloque visual, presione Cq en Windows o Cv en Linux.



Presione V (mayúscula V) y luego presione 40j para seleccionar 40 líneas y luego presione d para borrarlas. O como @zigdon respondió, puedes comentarlos.


v ingresa al modo de bloque visual, donde puede seleccionar como si tuviera un desplazamiento en la mayoría de los editores comunes, luego puede hacer cualquier cosa que normalmente pueda hacer con los comandos normales (sustitución: ''<,''> s / ^ / # / para anteponer un comentario , por ejemplo) donde ''<,''> significa el bloque visual seleccionado en lugar de todo el texto.


Mi método habitual para comentar 40 líneas sería colocar el cursor en la primera línea e ingresar el comando:

:., + 40s / ^ / # /

(Por aquí a través de 40 líneas hacia adelante, sustituya el inicio de línea con hash, espacio) Parece un poco más largo que algunos otros métodos sugeridos, pero me gusta hacer cosas con el teclado en lugar del mouse.


las marcas serían las más sencillas mb donde quieres comenzar y donde quieres terminar una vez que lo hayas hecho puedes hacer prácticamente todo lo que quieras

:''b,''ed

elimina del marcador b al marcador e

comentando 40 líneas que puedes hacer en el modo visual

V40j:s/^/#/

comentará 40 líneas desde donde comienzas la secuencia


Si desea realizar una acción en un rango de líneas, y conoce los números de línea, puede poner el rango en la línea de comando. Por ejemplo, para eliminar las líneas 20 a 200, puede hacer:

:20,200d

Para mover las líneas 20 a 200 hasta donde se encuentra la línea 300, puede usar:

:20,200m300

Y así.


Para comentar las líneas, sugeriría uno de estos complementos:

Compromiso mejorado

Comentarista de NERD

Me encuentro utilizando NERD más estos días, pero he usado EnhancedCommentify durante años.


La primera respuesta actualmente no es del todo correcta? Para comentar la selección, presione '':'' y escriba command: ''<,''> s / ^ / # / g

(''<,''> - estará allí automáticamente)


Usa marcadores

Vaya a la parte superior del bloque de texto que desea eliminar e ingrese

ma

en cualquier lugar de esa línea. No hay necesidad de colon

Luego ve al final del bloque e ingresa lo siguiente:

:''a,.d

Ingresando ma ha establecido el marcador a para el personaje debajo del cursor.

El comando que ha ingresado después de moverse a la parte inferior del bloque de texto dice "desde la línea que contiene el carácter descrito por el marcador a ( '' a ) hasta la línea actual ( . ) d elete".

Este tipo de cosas también pueden usarse para otras cosas.

:''a,.ya b - yank from ''a to current line and put in buffer ''b'' :''a,.ya B - yank from ''a to current line and append to buffer ''b'' :''a,.s/^/#/ - from ''a to current line, substitute ''#'' for line begin (i.e. comment out in Perl) :''s,.s#^#//# - from ''a to current line, substitute ''//'' for line begin (i.e. comment out in C++)

NB ''a (apóstrofe-a) se refiere a la línea que contiene el carácter marcado por a . `` a (backtick-a) refers to the character marked by a`.


Bueno, antes que nada, puede configurar vim para que funcione con el mouse, lo que le permitiría seleccionar el texto como lo haría en Eclipse .

También puede usar la selección Visual - v , de manera predeterminada. Una vez seleccionado, puede yank , cut , etc.

En cuanto a comentar el bloqueo, generalmente lo selecciono con VISUAL , luego lo hago

:''<,''>s/^/# /

Reemplazar el comienzo de cada línea con un # . (Los marcadores ''< y ''> son el principio y el final de la selección visual.


Mi técnica de comentario en bloque:

Ctrl + V para iniciar el modo visual en bloque.

Haga su selección.

Con la selección todavía activa, Shift + I. Esto lo coloca en el modo de inserción de columnas.

Escribe que comentes los caracteres ''#'' o ''//'' o lo que sea.

ESC.


Debe tener en cuenta el comando de modo normal [count] CTRL - D. Opcionalmente cambia la opción ''scroll'' de 10 a [count], y luego desplaza hacia abajo esa cantidad de líneas. Presionando CTRL - D de nuevo se desplazará hacia abajo por las mismas líneas nuevamente.

Intenta entrar

V "visual line selection mode 30 "optionally set scroll value to 30 CTRL-D "jump down a screen, repeated as necessary y " yank your selection

CTRL-U funciona de la misma manera pero se desplaza hacia arriba.


Para insertar comentarios, seleccione los caracteres iniciales de las líneas usando CTRL - v (blockwise-visual, no ''v'' character wise-visual o ''V'' linewise-visual). Luego, vaya al modo de inserción con ''I'', ingrese su (s) carácter (es) de comentario en la primera línea (por ejemplo ''#'') y finalmente escape al modo normal usando ''Esc''. Voila!

Para eliminar los comentarios use blockwise-visual para seleccionar los comentarios y simplemente elimínelos usando '' x ''.


Use Shift + V para ir en modo visual, luego puede seleccionar líneas y eliminarlas / cambiarlas.


Utilice el comando de bloque visual v (o V para líneas enteras y C - V para bloques rectangulares). En el modo de bloque visual, puede usar cualquier comando de movimiento, incluida la búsqueda; Uso} con frecuencia para saltar a la siguiente línea en blanco. Una vez que el bloque está marcado, puede: w a un archivo, eliminar, tirar, o lo que sea. Si ejecuta un comando y el bloque visual desaparece, vuelva a seleccionar el mismo bloque con gv. Ver: ayuda visual-change para más.

Creo que hay scripts específicos del idioma que vienen con vim que hacen cosas como comentar bloques de código de una manera que se adapte a su idioma de elección.