Filosofía de Vim
Al programar, pasa la mayor parte de su tiempo leyendo / editando, no escribiendo. Por lo tanto, Vim es un editor modal: tiene diferentes modos para insertar texto y manipularlo. VIM es programable (usando otros lenguajes como Vimscript y Python), la interfaz de Vim es un lenguaje de programación: las pulsaciones de teclas (con nombres mnemotécnicos) son comandos, y estos comandos se pueden combinar. Vim evita usar el mouse porque es demasiado lento; Vim incluso evita usar las teclas de flecha porque requiere demasiado movimiento. El resultado final es un editor que coincide con la velocidad de su pensamiento.
Edición modal
El diseño de Vim se basa en la idea de que los programadores pasan mucho tiempo leyendo, navegando y haciendo pequeñas ediciones en lugar de escribir largas secuencias de texto. Por lo tanto, Vim tiene múltiples modos de trabajo.
-
Normal: se usa para moverse y editar archivos
-
Insertar: se utiliza para insertar texto
-
Reemplazar: se utiliza para reemplazar texto
-
Modo visual (texto plano, línea o bloque): se utiliza para seleccionar bloques de texto
-
Línea de comando: se usa para ejecutar comandos
Las teclas tienen diferentes significados en diferentes modos de funcionamiento . Por ejemplo, una letra en modo de inserción x
solo insertará un carácter de texto "x", pero en modo normal, eliminará el carácter debajo del cursor, y en modo visual, eliminará la selección.
En la configuración predeterminada, Vim muestra el modo actual en la esquina inferior izquierda. El modo inicial / predeterminado es el modo normal . En general, la mayor parte de su tiempo está entre el modo normal y el modo de inserción.
Puede ESC
cambiar el modo presionando la tecla de salida ( ) para cambiar de cualquier modo al modo normal. En el modo "normal", ingrese " i
" para ingresar al " modo de inserción ", ingrese " R
" para ingresar al " modo de reemplazo ", ingrese " v
" para ingresar al " modo visual ", ingrese " V
" para ingresar al " modo de línea visual ", ingrese " <C-v>
" (Ctrl- v, a veces también escribir ^v
) Ingrese el " modo de bloqueo visual ", ingrese :进入“**命令行模式**”
.
<ESC>
Las teclas se usan a menudo cuando se usa Vim : considere reasignar el bloqueo de mayúsculas para escapar (comandos de macOS).
Fundacion
Insertar texto
En el modo normal, pulse i
entrar en el modo de inserción. Ahora Vim se comporta como cualquier otro editor de texto hasta que presione <ESC>
para volver al modo normal. Junto con los conocimientos básicos explicados anteriormente, esto es todo lo que necesita para comenzar a usar Vim para editar archivos.
Tampones, pestañas y ventanas.
Vim mantiene un conjunto de archivos abiertos, llamado "buffer". La sesión de Vim tiene muchas pestañas, y cada pestaña tiene muchas ventanas (paneles divididos). Cada ventana muestra un búfer. A diferencia de otros programas con los que está familiarizado (como un navegador web), no existe una correspondencia uno a uno entre los búferes y las ventanas; las ventanas son solo vistas. Un búfer determinado se puede abrir en varias ventanas, incluso en la misma pestaña. Esto es muy conveniente, por ejemplo, puede ver dos partes diferentes de un archivo al mismo tiempo.
Por defecto, Vim se abre con una sola pestaña, que contiene una ventana.
Línea de comando
El modo de comando se puede ingresar :
en modo normal. Cuando se presiona, el cursor saltará a la línea de comando en la parte inferior de la pantalla :
. Este modo tiene muchas funciones, incluyendo abrir, guardar y cerrar archivos y salir de Vim.
:q
Salir (cerrar la ventana),
:w
guardar ("escribir"),
:wq
guardar y salir,
:e{name of file}
abrir el archivo a editar,
:ls
mostrar el búfer
:help{topic}
abierto , abrir la ayuda,
:help:w
abrir :w
la ayuda del comando,
:help w
abrir w
la ayuda del movimiento
La interfaz de Vim es un lenguaje de programación.
La idea más importante en Vim es que la interfaz de Vim es un lenguaje de programación. Las pulsaciones de teclas (con nombres mnemotécnicos) son comandos, que consisten en comandos. Esto puede moverse y editar efectivamente, especialmente cuando el comando se convierte en memoria muscular.
Mover
Debería pasar la mayor parte de su tiempo en modo normal, utilizando comandos de movimiento para navegar por el búfer. Las acciones en Vim también se llaman "sustantivos" porque se refieren a bloques de texto.
Acciones básicas: hjkl
(izquierda, abajo, arriba, derecha)
Palabras: w
(siguiente palabra), b
(principio de la palabra), e
(final de la palabra)
Línea: 0
(inicio de línea), ^
(primer carácter no en blanco), $
(final de línea)
Pantalla: H
(parte superior de la pantalla), M
(centro de la pantalla), L
(parte inferior de la pantalla)
Desplazarse: Ctrl-u
(arriba), Ctrl-d
(abajo)
Archivo: gg
(principio del archivo), G
(final del archivo)
Número de línea: {number}<CR>
o {number}G
(línea {número})
Varios: %
(artículo correspondiente)
f{character}
Encontrar: t{character}
, f{character}
,,t{character}
-
Buscar / avanzar / retroceder {personaje} en la línea actual
-
,
/
;
Utilizado para navegar partidos
Buscar :, /{regex}
no para coincidencias de navegación
Seleccione
Modo visual:
- Texto plano visual
- Linea visual
- Bloque visual
Puede usar las teclas móviles para hacer selecciones.
Editar
Todo lo que solía hacer con el mouse ahora se edita con el teclado y se compone con comandos de movimiento. Aquí es donde la interfaz de Vim comienza a parecerse a un lenguaje de programación. Los comandos de edición de Vim también se llaman "verbos" porque los verbos actúan sobre sustantivos.
i
Ingrese al modo de inserción
- Pero para la operación / eliminación de texto, espero usar más que retroceso
o
/ O
Insertar fila debajo / arriba
d{motion}
Eliminar {movimiento}
dw
Eliminar la palabra,d$
eliminar el final de la línea,d0
eliminar el comienzo de la línea.
c{motion}
Cambiar {movimiento}
cw
Cambiar palabra- Me gusta
d{motion}
seguiri
x
Eliminar carácter (igual a dl
)
s
Sustituir caracteres (igual a xi
)
Modo visual + operación
- Seleccionar texto,
d
eliminar oc
cambiar
u
Deshacer, <C-r>
rehacer
y
Copiar / "tirar" (algunos otros comandos como d también copian)
p
Pegar
Todavía hay muchas cosas que aprender: por ejemplo, ~
la situación de voltear un personaje
Cuenta
Puede combinar sustantivos y verbos con un número que realizará una acción determinada varias veces.
3w
Avanzar 3 palabras
5j
Mover hacia abajo 5 líneas
7dw
Eliminar 7 palabras
Modificador
Puede usar modificadores para cambiar el significado de los sustantivos. Algunos modificadores i
significan "interior" o "interior" a
, que significa "alrededor".
ci(
Cambiar el contenido del par de paréntesis actual
ci[
Cambiar el contenido del par actual de corchetes
da'
Eliminar cadenas de comillas simples, incluidas las comillas simples circundantes
Demo
Aquí hay una implementación defectuosa de fizz buzz:
def fizz_buzz(limit):
for i in range(limit):
if i % 3 == 0:
print('fizz')
if i % 5 == 0:
print('fizz')
if i % 3 and i % 5:
print(i)
def main():
fizz_buzz(10)
Resolveremos los siguientes problemas:
- principal nunca se llama
- Comience en 0 en lugar de 1
- Imprima "fizz" y "zumbido" en 15 líneas
- Imprime "fizz" en múltiplos de 5
- Use el parámetro 10 codificado en lugar de usar los parámetros de la línea de comando