Como editor veterano en Linux, vim se ha desarrollado durante 30 años. Durante el período de auge y caída de varios editores, solo vim ha alcanzado la longevidad. Vim es definitivamente una habilidad imprescindible en el servidor. Vim admite el funcionamiento puro del teclado puede mejorar en gran medida la eficiencia de la edición.Sin embargo, vim no es amigable para los principiantes, con muchos comandos operativos y una curva de aprendizaje empinada, lo que deja fuera a muchos desarrolladores que no son servidores.
modo
- El modo normal es la fuente de las poderosas capacidades de edición de vim. El cursor se puede mover a través de hjkl en él. Los comandos del modo normal a menudo requieren un final de operador, como "dd" para eliminar la línea actual, y la segunda "d" también puede ser reemplazado con un comando de movimiento j Significa eliminar la línea actual y la línea siguiente.
- Modo de inserción, en este modo la mayoría de las pulsaciones de teclas insertarán texto en el búfer de texto, y la tecla ESC puede volver al modo normal.
- En el modo de visualización, el comando mover puede expandir el área de texto resaltada, y el comando se ejecutará en esta área de texto resaltada. El "objeto de texto" de vim también se puede usar en este modo como el comando mover
Consejos sobre el modo de inserción
En vim, puede ingresar al modo de inserción a través de a / A / i / I / o / O, y gi puede saltar rápidamente al último lugar editado e ingresar al modo de inserción
Corrección rápida de errores
- ctrl + h eliminar el último carácter
- ctrl + w eliminar la última palabra
- ctrl + u eliminar la línea actual
Muévete rápido
Moverse entre palabras
- w / W mover al principio de la siguiente palabra
- e / E pasar al final de la siguiente palabra
- b / B ir al principio de la palabra anterior
Las letras minúsculas se refieren a palabras separadas por caracteres que no son espacios en blanco y las letras mayúsculas se refieren a palabras separadas por caracteres de espacio en blanco.
Muévete en línea
- f {char} mover al carácter char
- t {char} se mueve al carácter antes de char
- F {char} a su vez busca el carácter anterior
Si no lo encuentra la primera vez, puede usar ";" Continuar para buscar el siguiente "," Continuar para buscar el anterior.
0 se mueve al principio de la línea y $ se mueve al final de la línea
Agregar, eliminar, modificar
Eliminación rápida
- daw borrar una palabra
- dt {char} eliminar a char
- d $ eliminar al final de la línea, eliminar al principio de la línea,
modificación rápida
Los comandos más utilizados son r (reemplazar), c (cambiar), s (sustituir)
- r reemplaza un carácter, s elimina un carácter y entra en el modo de inserción
- c Coopere con objetos de texto, modifique y
consulte rápidamente - "/" o "?" para buscar hacia adelante o hacia atrás
- "n" o "N" saltan a la coincidencia anterior o siguiente
Buscar y reemplazar
- El alcance global "% s / foo / far / g" reemplaza foo por far
- "1,6 s / foo / far / g" reemplace la línea 1-6 foo con far
- Horas de coincidencia de consultas "% s / foo // n"
Modo de archivo múltiple
Cambiar entre búferes
- ls enumera el búfer actual, bn salta al enésimo búfer
- bpre bnext bfirst blast
- b buffer_name más salto de finalización de tabulación
ventana
- sp división horizontal, vs división vertical
- ctrl + w + [w | h | j | k | l] para alternar, cambiar ventanas hacia arriba, abajo, izquierda y derecha
- e Abrir un búfer nuevo en la ventana actual
objeto de texto
[number] <comman> [textobject]
número indica el número de veces que comman es un comando como d, c, y textobject indica un objeto de texto como w, s, p
- iw significa palabra interior, aw significa que una palabra selecciona el espacio después de la palabra
- i (Seleccione el contenido entre corchetes, a (El contenido seleccionado incluye los corchetes, los mismos otros corchetes y las comillas son los mismos
Copiar, pegar y registrar
- Insertar modo de pegar: el pegado conjunto puede resolver el problema del desorden de sangría del código
- La eliminación y pegado predeterminados colocarán el contenido en el "registro sin nombre"
- Los registros se pueden especificar con el prefijo "{registro}, cada uno de az se puede usar como un registro, 0 es un registro especial para copiar
- El prefijo "+ puede usar el portapapeles del sistema, si vim admite el portapapeles del sistema: echo tiene ('portapapeles') salidas 1
Operación macro
- El uso de macros se divide en grabación y reproducción, q grabación q finalizar grabación
- q {registro} seleccione el registro a guardar y guarde el comando de grabación en él
- @ {register} Reproduce una serie de comandos guardados en el registro
- Seleccione varias líneas en modo visual y reproduzca varias líneas a través del modo de comando: '<,'> normal @a
Terminación
<ctrl+n>,<ctrl+p>
Palabra completa<ctrl+x><ctrl+f>
Nombre de archivo completo<ctrl+x><ctrl+o>
Completar el código debe activar la verificación del tipo de archivo e instalar el complemento
Cartografía
El mapeo de Vim es mapear una operación a otra
- nmap / vmap / imap son válidos respectivamente en modo normal / visual / insert
- nnoremap / vnoremap / inoremap respectivamente representan mapeo no recursivo en modo normal / visual / insert
Enchufar
Plugin Manager
Instale el administrador de complementos vim-plug , escriba el script del complemento que desea instalar entre el archivo .vimrc call plug#begin('~/.vim/plugged')
y guarde y vuelva a cargar el .vimrc y ejecútelo en el modo de línea de comandos: Instalación de PlugInstallcall plug#end()
Plug 'the plugin you want to install'
Embellecimiento de la interfaz
La interfaz atractiva es agradable a la vista, mantén un estado de ánimo feliz
- Complemento de interfaz de inicio vim-startify
- Complemento de la barra de estado vim-airlines
- Indent Line complemento indentLine
- Complemento de tema vim-hybrid
Herramientas de eficiencia
- Mostrar estructura de directorios nerdtree
- Archivo de búsqueda difusa ctrlp.vim , fzf.vim
- Posicionamiento rápido del cursor vim-easymotion
- Pares automáticos de corchetes y comillas
- Edite vim-surround en pares
- Buscar y reemplazar far.vim
- Comentario rápido vim-comentario
- Autocompletar coc.nvim
- Resaltado de palabras
IDE de Vim
Campamento enchufable
VimAwesome es un directorio de complementos de Vim de GitHub, Vim.org y envíos de usuarios. Los datos de uso del complemento se extraen de los repositorios de dotfiles en GitHub.