gVIM "pone" volviéndome loco, ¿cómo "pongo" al principio de una línea

2

Estoy aprendiendo gVIM en Windows, y a medida que aprendo lentamente más de las pulsaciones de teclas, cada vez uso menos el mouse, lo cual es genial.

Tengo un par de preguntas que aún tengo que resolver:

  1. Copio y pego mucho. Entonces uso 'v' para ingresar al modo VISUAL, uso k / j para subir / bajar y seleccionar las líneas, luego presiono 'y' para tirar.

Luego voy a la línea donde quiero insertar, y presiono 'p' para poner, PERO la maldita cosa se pega después del primer carácter. No puedo moverme más a la izquierda, así que definitivamente estoy al comienzo de la línea, así que encuentro que el comportamiento 'p'ut de pegar 1 char después de la posición de mi cursor es sumamente molesto.

  1. Cambio mucho entre el modo de edición y comando, y mi pobre dedo meñique en mi mano izquierda está dolorido por haber sido estirado para presionar la tecla 'Esc' (para ingresar al modo de comando) cada pocos segundos. ¿Hay alguna forma más fácil de usar los dedos para ingresar al modo de comando?
ChrisGNZ
fuente
1
Realmente debería hacer su segunda pregunta no relacionada como una pregunta separada.
bignose
1
Lo que llama "modo de comando" en realidad se llama "modo normal". El modo de comando es lo que obtienes cuando presionas :en modo normal.
frabjous
@frabjous En realidad, "modo comando" es un sinónimo (terrible) para el modo normal. :te lleva al modo de línea de comandos . Ver :help command-mode.
8bittree

Respuestas:

8

El comando "poner" coloca el texto de registro después del cursor, como has descubierto. Pero si lo haces :help put, verás el Pcomando que pone el texto antes del cursor:

                                                        *p* *put* *E353*
["x]p                   Put the text [from register x] after the cursor
                        [count] times.  {Vi: no count}

                                                        *P*
["x]P                   Put the text [from register x] before the cursor
                        [count] times.  {Vi: no count}

Esto también funciona de manera análoga con líneas completas desde el registro; ppondrá el texto en nuevas líneas siguiendo el cursor, Ppondrá el texto en nuevas líneas que preceden al cursor.

nariz grande
fuente
4

Sobre el tema de la Pregunta 2 ... o en realidad su segunda Pregunta 1;):

Tienes al menos dos opciones aquí.

  • use CTRL-C en lugar de ESC. Esto es conveniente y no requiere ninguna configuración. La desventaja es que no funciona exactamente de la misma manera que ESC: por ejemplo, si acaba de crear una abreviatura y luego presiona CTRL-C, la abreviatura no se expandirá; mientras que si tuvieras ESC en su lugar, lo habría hecho. Creo que la mayoría de las cosas en las que esto importa es más avanzada, por lo que puede que no importe demasiado por ahora, pero puede terminar confundiéndose más adelante cuando intente aprender cosas nuevas y se pregunte por qué no funcionan para usted.

  • use CTRL- [en lugar de ESC. No estoy totalmente seguro de que esto funcione en Windows, pero al menos en Linux con vim en modo consola es un sustituto exacto de ESC. Sin embargo, es un poco incómodo porque necesitas usar ambas manos para hacerlo. Creo que en la mayoría de los teclados en realidad termina siendo más fácil presionar ESC que combinar esto. Pero en realidad nunca intenté enseñarle a mis dedos a golpearlo rápidamente.

  • agregue una asignación en su vimrc o gvimrc para asignar algo más a ESC. algunas personas usan una sucesión rápida de jk. Nunca he hecho esto, en parte porque preferiría evitar agitarme indefensamente cuando intento usar un sistema que no tiene esta configuración. Pero si desea aprender cómo hacerlo, debe ser fácilmente googleable.

  • reasignar una clave no utilizada a ESC a través de su sistema operativo. El ejemplo arquetípico aquí es reasignar BLOQ MAYÚS a ESC. Está en la fila de inicio, es grande, de lo contrario es inútil: es un objetivo fácil. No estoy seguro de cómo hacer esto en Windows, o si es posible. Además, si realmente le gusta Bloq Mayús para Bloq Mayús, obviamente no es una buena idea, ya que dejará de funcionar en esa capacidad. Un aspecto positivo de esta estrategia es que alivia la posibilidad de preguntarse por qué está teniendo lugar convulsiones cada vez que accidentalmente golpeas el bloqueo de mayúsculas. La desventaja, como con las asignaciones de vimrc, es que puede confundirse bastante cuando intenta usar (g) vim en otro sistema.

intuido
fuente
-1

Personalmente, enciendo los números de línea haciendo el comando: set nu

Luego miro los números y calculo el número de líneas que quiero pegar ... (digamos 5 líneas, por ejemplo) ... luego muevo el cursor a la línea superior que quiero copiar y escribo 5Y ... esto copiará las siguientes 5 líneas ... luego mueva el cursor a la posición donde desea pegar el texto y escriba p para pegar debajo del cursor o P para pegar sobre el cursor.

Espero que esto ayude.

kiwiburger
fuente
mala forma, calculando ... sheesh. el cerebro humano regularmente solo maneja de 7 a 10 conceptos simultáneamente, la consideración de las pulsaciones de teclas tomadas por uno y luego desea un cálculo ... que involucra 3 números más? de ninguna manera.
Joshua K
bueno, tendría que estar en desacuerdo contigo en eso ... mi experiencia es que una vez que había estado usando vim por un tiempo, podía adivinar la cantidad de líneas con solo mirar la pantalla. Pero si no quieres hacerlo, puedes usar los comandos visuales.
kiwiburger