User Tools

Site Tools


configuracion_minima_obligatoria_para_vim_.vimrc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
configuracion_minima_obligatoria_para_vim_.vimrc [2021/04/22 23:19] busindreconfiguracion_minima_obligatoria_para_vim_.vimrc [2022/11/23 22:40] (current) busindre
Line 1: Line 1:
 ===== Configuración mínima y teclas importantes del editor Vim ===== ===== Configuración mínima y teclas importantes del editor Vim =====
  
-**Tips / Trucos de Vim**: [[http://vim.wikia.com/wiki/Vim_Tips_Wiki]]+**Tips / Trucos de Vim**: [[http://vim.wikia.com/wiki/Vim_Tips_Wiki]]\\ 
 +**Buen manual de VIm en español**: [[https://victorhck.gitbook.io/aprende-vim/]]
  
 **Editar comando con vim antes de ejecutarlo**: Pulsar "Ctrl+x e" cuando queramos continuar escribiendo el comando desde vim. Cuando salgamos del editor (no es necesario guardar) el comando se ejecutará. **Editar comando con vim antes de ejecutarlo**: Pulsar "Ctrl+x e" cuando queramos continuar escribiendo el comando desde vim. Cuando salgamos del editor (no es necesario guardar) el comando se ejecutará.
Line 17: Line 18:
 set nu                      " Indica el número de linea a la izquierda. set nu                      " Indica el número de linea a la izquierda.
 set hlsearch                " Resalta las letras al hacer búsquedas incrementales. set hlsearch                " Resalta las letras al hacer búsquedas incrementales.
-set ignorecase             " Ignora mayúsculas / minúsculas. +set ignorecase              " Ignora mayúsculas / minúsculas. 
-set smartcase              " Si la búsqueda usa alguna mayúscula será case sensitive.+set smartcase               " Si la búsqueda usa alguna mayúscula será case sensitive.
 setlocal cm=blowfish2       " Establece de forma predeterminada blowfish2 como algoritmo de cifrado. setlocal cm=blowfish2       " Establece de forma predeterminada blowfish2 como algoritmo de cifrado.
-set mouse-=a                " Desactiva el uso del ratón, permitiendo usar el ratón normamente sobre la terminal.+set mouse-=a                " Desactiva el uso del ratón, permitiendo usar el ratón normalmente sobre la terminal.
 set pastetoggle=<F2>        " En el modo "Insert", al pulsar "F2" se podrá copiar texto sin sufrir el típico tabulado / indentado automático: http://vim.wikia.com/wiki/Toggle_auto-indenting_for_code_paste set pastetoggle=<F2>        " En el modo "Insert", al pulsar "F2" se podrá copiar texto sin sufrir el típico tabulado / indentado automático: http://vim.wikia.com/wiki/Toggle_auto-indenting_for_code_paste
 set laststatus=2            " Muestra siempre la barra de estado de vim, mostrando el nombre del fichero, estado, modo actual (si se está ingresando nuevo contenido o no), etc. set laststatus=2            " Muestra siempre la barra de estado de vim, mostrando el nombre del fichero, estado, modo actual (si se está ingresando nuevo contenido o no), etc.
Line 60: Line 61:
  
  
-**Buffers en Vim**.+**Búferes en Vim / editar varios documentos**.
  
-En Vim se pueden editar múltiples ficheros usando buffers, pestañas y ventanas (splits). Los bufers son como proxies de fichero, se recomienda por motivos de diseño usar pestañas únicamente cuando se editan ficheros relacionados. Las pestañas en Vim fueron concebidas para dividir espacios de trabajo. Por ejemplo tener en pestañas archivos que forman parte del mismo proyecto en el que se está trabajando.+En Vim se pueden editar múltiples ficheros usando buffers, pestañas y ventanas (splits). Los búferes son como proxies de fichero, se recomienda por motivos de diseño usar pestañas únicamente cuando se editan ficheros relacionados. Las pestañas en Vim fueron concebidas para dividir espacios de trabajo. Por ejemplo tener en pestañas archivos que forman parte del mismo proyecto en el que se está trabajando.
  
 La forma ideal de trabajar con múltiples ficheros en Vim que no tengan relación entre sí debe ser por medio de buffers y/o splits. La forma ideal de trabajar con múltiples ficheros en Vim que no tengan relación entre sí debe ser por medio de buffers y/o splits.
Line 68: Line 69:
  
 <code> <code>
-:e fichero    # Abre un fichero en un buffer, el mismo nombre de archivo será el del buffer+:e fichero    # Abre el fichero en un búfer, el mismo nombre de archivo será el del búfer
-:ls           # Muestra los buffers, útil en combinación con ":b"+:ls           # Muestra los búferes, útil en combinación con ":b"
-:b n          # Se redirige al Buffer número "n". Con "#" se pasa al buffer anterior en uso. Se puede especificar en vez de un número el nombre del archivo (autocompletado disponible).+:b n          # Se redirige al búfer número "n". Con "#" se pasa al búfer anterior en uso. Se puede especificar en vez de un número el nombre del archivo (autocompletado disponible).
  
 :enew         # Crea un buffer nuevo en la misma ventana. :enew         # Crea un buffer nuevo en la misma ventana.
-:new          # Divide la terminal horizontalmente con un nuevo buffer+:new          # Divide la terminal horizontalmente con un nuevo búfer
-:vnew         # Divide la terminal verticalmente con un nuevo buffer+:vnew         # Divide la terminal verticalmente con un nuevo búfer
-:tabnew       # Crea un buffer en una pestaña.</code>+:tabnew       # Crea un búfer en una pestaña.</code>
  
 NOTA: Cuando se ejecuta :ls, es factible volver a escribir dos puntos y elegir otro buffer con el listado mostrado mediante :ls. Veamos el ejemplo cambiando el buffer perteneciente al fichero README.txt NOTA: Cuando se ejecuta :ls, es factible volver a escribir dos puntos y elegir otro buffer con el listado mostrado mediante :ls. Veamos el ejemplo cambiando el buffer perteneciente al fichero README.txt
Line 85: Line 86:
 :b3</code> :b3</code>
  
 +Ejecutar comandos vim en todos los buffers.
 +<code bash># Buscar y remplazar en todos los buffers. 
 +# "update" guarda el cambio solo si se produce. "w" guarda todos los bufers, independientemente de si el comando provocó un cambio.
 +:bufdo %s/pattern/replace/g | update
 +:bufdo %s/pattern/replace/ge | w</code>
  
 **Ventanas (splits) en Vim**. **Ventanas (splits) en Vim**.
Line 174: Line 180:
 34gg   Se dirige a la linea 34 del documento. 34gg   Se dirige a la linea 34 del documento.
  
-?  Buscar hacía arriba de nuestra posición. +?  Buscar hacía arriba de nuestra posición. Permite regex, ejemplo ?&variable=.*& 
-/  Busca texto hacia abajo (puede volver al principio si llega al final del documento). +/  Busca texto hacia abajo (puede volver al principio si llega al final del documento). Permite regex, ejemplo ?&variable=.*& 
- +:%s/pattern//gn  Busca igualmente un texto pero además indica el número de ocurrencias y en cuantas lineas (ej. 25 matches on 23 lines).
-:%s/pattern//gn  Busca igualmente un texto pero además indica el número de  ocurrencias y en cuantas lineas (ej. 25 matches on 23 lines).+
  
 #  Sobre una palabra permite usarlo como termino de búsqueda automáticamente. Ctrl+o Vuelve el cursor a la anterior posición. #  Sobre una palabra permite usarlo como termino de búsqueda automáticamente. Ctrl+o Vuelve el cursor a la anterior posición.
 %  Sobre una llave, paréntesis o corchete encuentra su correspondiente cierre. %  Sobre una llave, paréntesis o corchete encuentra su correspondiente cierre.
  
-#### Copiar / Cortar / Pegar en Vim.+>>  Tabula a la derecha donde está el cursor. 
 +5>> Tabula a la derecha 5 lineas tomando como referencia el cursor. 
 +<<  Tabula a la izquierda derecha donde está el cursor. 
 +5<< Tabula a la izquierda 5 lineas tomando cono referencia el cursor. 
 + 
 +ciw  Sustituir una palabra: Elimina la palabra (debe estar limitada por espacios, puntos u otros caracteres) y se coloca en modo inserción. 
 +cw   Sustituir una palabra a partir del cursor 
 +cc   Sustituye una linea: Elimina la linea y se pone al principio de la linea en modo inserción. 
 +c$ / C  Sustituir desde el cursor hasta el final linea: Se coloca donde está el cursor en modo inserción. 
 +c   En modo visualización o bloque visual permite sustituir simplemente pulsando c una vez seleccionado el texto. Muy útil para cambiar el texto de columnas con bloque visual (Ctrl +v > c > nuevo texto > Esc). 
 + 
 + 
 +######## Copiar / Cortar / Pegar en Vim.
  
-# Copiar y cortar desde vim en escritorio y pegar en un entorno remoto mediante SSH es factible sin necesidad de ratón.+# Copiar y cortar desde vim en escritorio y pegar en un entorno remoto mediante SSH es factible sin necesidad de ratón teniendo "+clipboard".
 # Copiar y cortar desde vim en un entorno remoto (SSH) y pegar en la instancia de vim local de escritorio sin ratón no es posible de manera nativa. # Copiar y cortar desde vim en un entorno remoto (SSH) y pegar en la instancia de vim local de escritorio sin ratón no es posible de manera nativa.
  
Line 196: Line 213:
 "_y    Copia en "_ (Esto permite pegar algo diferente a lo copiado con y/yy usando "_p p "_P). También se puede usar "_yy para lineas. "_y    Copia en "_ (Esto permite pegar algo diferente a lo copiado con y/yy usando "_p p "_P). También se puede usar "_yy para lineas.
  
-# NOTA: Para copiar también puede usarse el ratón o combinación de teclas de la terminal en uso para copiar una vez se selecione en vim por medio del modo Visual (o ratón).Para pegar habría que saber en qué clipboard almacena la terminal lo copiado.+# NOTA: Para copiar también puede usarse el ratón o combinación de teclas de la terminal en uso para copiar una vez se seleccione en vim por medio del modo Visual (o ratón).Para pegar habría que saber en qué clipboard almacena la terminal en uso lo copiado
 + 
 +# Si se quiere seleccionar un texto muy largo desde el ratón que requiera scrolling es necesario usar ":set mouse=a" para que el scrolling funcione. Una vez se termine se puede desactivar mediante ":set mouse=" 
 + 
 +# NOTA: AL usar +clipboard, el uso del modo visual o bloque visual de Vim, introduce el contenido en el clipboard secundario.
  
  
Line 220: Line 241:
 Alt + Shif + Boton central del ratón / rueda de scrolling.      Usa el clipboard secundario. Alt + Shif + Boton central del ratón / rueda de scrolling.      Usa el clipboard secundario.
  
-####+########
  
 :r fichero            Pega el contenido de un fichero en el documento. :r fichero            Pega el contenido de un fichero en el documento.
Line 262: Line 283:
 @:           Repite el último comando. @:           Repite el último comando.
  
-NOTA: La tecla cursor arriba permite siempre ver el historial, no solo de comandos ejecutados con ":", si también búsquedas (/). Recordar que en Vim el tabulador completa / lista posibles comandos disponibles, incluso parámetros.+NOTA: La tecla cursor arriba permite siempre ver el historial, no solo de comandos ejecutados con ":", si no también búsquedas (/). Recordar que en Vim el tabulador completa / lista posibles comandos disponibles, incluso parámetros.
  
  
Line 303: Line 324:
 :set unspell               Desactiva la corrección ortográfica.</code> :set unspell               Desactiva la corrección ortográfica.</code>
  
-**Remplazar / Sustituir texto en Vim**Remplaza en todo el documento todas las coincidencias de la cadena "palabra" por la cadena "remplazo".  +**Remplazar / Sustituir texto en Vim**
-<code>:%s/palabra/remplazo/g</code>+<code># Remplaza en todo el documento todas las coincidencias de la cadena "palabra" por la cadena "remplazo"
 +:%s/palabra/remplazo/g 
 +# Remplaza en la linea donde esté el cursor todas las coincidencias de la cadena "palabra" por la cadena "remplazo"
 +:s/palabra/remplazo/
 +# Remplaza enntre las lienas 3 y 5 todas las coincidencias de la cadena "palabra" por la cadena "remplazo"
 +:3,5s/palabra/remplazo/
 +</code>
  
 Usar la sustitución dentro del modo / bloque visual en Vim (Sin % al principio y indicando %V). Usar la sustitución dentro del modo / bloque visual en Vim (Sin % al principio y indicando %V).
 <code>:'<,'>s/\%Vpalabra/remplazo/g</code> <code>:'<,'>s/\%Vpalabra/remplazo/g</code>
  
-**Eliminar palabras en base a patrones en Vim**: Se pude utilizar simplemente la sustitución +**Eliminar lineas en base a resultados de búsqueda en Vim**. 
-<code>:%s/patrón//g+<code>:g/busqueda/
 +# Elimina todas las lineas que no tengan la cadena de busqueda. Recordar que se pueden usar expresiones regulares. 
 +:g!/busqueda/
 +</code>
  
 +**Eliminar palabras en base a resultados de búsqueda en Vim**: Se pude utilizar simplemente la sustitución
 +<code>
 +:%s/patrón//  # Ejemplo: ":%s/&variable2=.*//g" dejaría la cadena http://XXX/?variable1&variable2=YYY&variable3=jjj en "http://XXX/?variable1"
 +                      # Si se quire ahorrar tiempo es posible usar simplemente ":%s/&variable2=.*"
 +                      
 # NOTA: Si no se utilizar % la operación se realiza sobre la linea donde se encuentra le cursor. Sin la "g" del final solo lo hará con la primer coincidencia. # NOTA: Si no se utilizar % la operación se realiza sobre la linea donde se encuentra le cursor. Sin la "g" del final solo lo hará con la primer coincidencia.
  
configuracion_minima_obligatoria_para_vim_.vimrc.1619126386.txt.gz · Last modified: 2021/04/22 23:19 by busindre