[Liunx] Tutorial de Linux vi / vim

Todos los sistemas Unix Like tendrán un editor de documentos vi incorporado, y otros editores de documentos no necesariamente existirán.

Pero actualmente usamos vim editor más.

Vim tiene la capacidad de editar programas y puede identificar activamente la corrección de la gramática por color de fuente, lo cual es conveniente para el diseño del programa.

Artículo relacionado: El mapa de bits de la tecla de método abreviado Vim más completo de la historia: introducción a avanzado


¿Qué es vim?

Vim es un editor de texto desarrollado a partir de vi. Las funciones de programación conveniente, como la finalización de código, la compilación y el salto de error, son particularmente ricas y son ampliamente utilizadas por los programadores.

En términos simples, vi es un antiguo procesador de textos, pero la función es muy completa, pero aún hay margen de mejora. Se puede decir que Vim es una herramienta muy útil para los desarrolladores de programas.

Incluso el sitio web oficial de vim ( http://www.vim.org ) también dijo que vim es una herramienta de desarrollo de programas en lugar de un software de procesamiento de textos.

diagrama del teclado vim:


Uso de vi / vim

Básicamente, vi / vim se divide en tres modos, a saber, el modo de comando (modo de comando) , el modo de entrada (modo de inserción) y el modo de comando de línea inferior (modo de última línea) . Las funciones de estos tres modos son:

Modo de comando:

El usuario acaba de iniciar vi / vim y entró en el modo de comando.

En este estado, Vim reconocerá la acción de tocar el teclado como un comando en lugar de ingresar caracteres. Por ejemplo, si presionamos i en este momento, no ingresaremos un carácter, i se considera como un comando.

Los siguientes son los comandos más utilizados:

  • i Cambie al modo de entrada para ingresar caracteres.
  • x Eliminar el carácter en la posición actual del cursor.
  • : Cambie al modo de comando de la línea inferior para ingresar comandos en la línea inferior.

Si desea editar el texto: inicie Vim, ingrese al modo de comando, presione i para cambiar al modo de entrada.

El modo de comando solo tiene algunos comandos básicos, por lo que todavía tenemos que confiar en el modo de comando de la línea de fondo para ingresar más comandos.

Modo de entrada

Presione i en el modo de comando para ingresar al modo de entrada.

En el modo de entrada, puede usar las siguientes teclas:

  • Teclas de caracteres y combinación de mayúsculas para ingresar caracteres
  • ENTER , tecla Enter, avance de línea
  • ESPACIO ATRÁS , tecla de retroceso, elimina el carácter antes del cursor
  • DEL , eliminar clave, eliminar el carácter después del cursor
  • Teclas de flecha para mover el cursor en el texto
  • INICIO / FINAL , mueva el cursor al principio / final de la línea
  • Página arriba / página abajo , página arriba / abajo
  • Insertar , cambiar el cursor al modo de entrada / reemplazo, el cursor se convertirá en vertical / subrayado
  • ESC , salir del modo de entrada, cambiar al modo de comando

Modo de comando de línea inferior

Presione en modo comando: (dos puntos en inglés) para ingresar al modo de comando subrayado.

El modo de comando de línea inferior puede ingresar comandos de uno o varios caracteres, y hay muchos comandos disponibles.

En el modo de comando subrayado, los comandos básicos son (se han omitido los dos puntos):

  • q Salga del programa
  • w Guardar el archivo

Presione la tecla ESC para salir del modo de comando de línea inferior en cualquier momento.

En pocas palabras, podemos pensar en estos tres patrones como iconos a continuación:


ejemplos de uso de vi / vim

Use vi / vim para ingresar al modo general

Si desea usar vi para crear un archivo llamado runoob.txt, puede hacer esto:

$ vim runoob . TXT

Entrada directa vi el nombre de archivo será capaz de entrar en el modo general de VI. Tenga en cuenta que el nombre del archivo debe agregarse después de vi, sin importar si el archivo existe o no.

Presione i para ingresar al modo de entrada (también llamado modo de edición) y comenzar a editar texto

En el modo general, solo presione i, o, a y otros caracteres para ingresar al modo de entrada.

En el modo de edición, puede encontrar que la palabra –INSERTAR- aparece en la barra de estado en la esquina inferior izquierda, es decir, puede ingresar cualquier solicitud de caracteres.

En este momento, excepto la tecla Esc en el teclado , otras teclas pueden considerarse como botones de entrada generales, por lo que puede realizar cualquier edición.

Presione el botón ESC para volver al modo normal

Bueno, suponiendo que haya terminado de editarlo de acuerdo con el estilo anterior, ¿cómo debería salir? Si! Eso es correcto! ¡Solo presiona el botón Esc para él ! Inmediatamente encontrará-INSERTAR-en la esquina inferior izquierda de la pantalla se ha ido!

Presione en modo general : wq guardar y salir vi

OK, vamos a archivar, el comando para guardar y salir es muy simple, ingrese : wq para guardar y salir.

OK, así que creamos con éxito un archivo runoob.txt.


Descripción de la clave vi / vim

Además de i, Esc,: wq en el ejemplo simple anterior, de hecho, vim tiene muchos botones para usar.

Parte 1: movimiento del cursor, copiar y pegar, buscar y reemplazar, etc. disponible en modo general

Cómo mover el cursor
ho tecla de flecha izquierda (←) El cursor mueve un personaje a la izquierda
j o la tecla de flecha hacia abajo (↓) Cursor abajo de un personaje
Tecla de flecha hacia arriba o hacia abajo (↑) Haz cursor con un personaje
lo tecla de flecha derecha (→) Mueve el cursor un caracter hacia la derecha
Si coloca su mano derecha sobre el teclado, encontrará que hjkl está organizado de manera conjunta, por lo que puede usar estos cuatro botones para mover el cursor. Si desea moverse varias veces, por ejemplo, para bajar 30 líneas, puede usar la combinación de teclas "30j" o "30 ↓", es decir, agregar la cantidad de veces (número) que desea realizar y presionar la acción.
[Ctrl] + [f] La pantalla se mueve una página hacia abajo, lo que equivale al botón [Av Pág] (de uso común)
[Ctrl] + [b] La pantalla se mueve una página hacia arriba, lo que equivale al botón [Página arriba] (de uso común)
[Ctrl] + [d] La pantalla 『abajo』 mueve media página
[Ctrl] + [u] La pantalla "arriba" mueve media página
+ El cursor se mueve a la siguiente línea que no sea el carácter de espacio
- El cursor se mueve a la línea sobre el carácter no espacial
n <espacio> La n significa "número", por ejemplo 20. Presione el número y luego presione la barra espaciadora, el cursor se moverá a la derecha n caracteres de esta línea. Por ejemplo, 20 <espacio>, el cursor retrocederá 20 caracteres.
0 o tecla de función [Inicio] Este es el número "0": pasar al primer carácter de esta línea (de uso común)
$ O tecla de función [Fin] Moverse al último carácter de esta línea (de uso común)
H El cursor se mueve al primer carácter de la línea superior de esta pantalla.
METRO El cursor se mueve al primer carácter en la línea central de esta pantalla
L El cursor se mueve al primer carácter en la línea inferior de esta pantalla
sol Moverse a la última línea de este archivo (de uso común)
nG n es un número. Mover a la línea n de este archivo. Por ejemplo, 20G se moverá a la línea 20 de este archivo (se puede usar con: set nu)
gg ¡Muévase a la primera línea de este archivo, equivalente a 1G! (Común)
n <Entrar> n es un número. El cursor se mueve hacia abajo n líneas (de uso común)
Buscar y reemplazar
/palabra Busque debajo del cursor una cadena con la palabra de nombre. Por ejemplo, para buscar la cadena vbird en el archivo, escriba / vbird! (Común)
?palabra Busque una cadena de caracteres con el nombre de la palabra sobre el cursor.
norte Este n es el botón en inglés. Representa la acción de repetir la búsqueda anterior. Por ejemplo, si acabamos de ejecutar / vbird para buscar hacia abajo la cadena vbird, después de presionar n, continuará buscando la siguiente cadena llamada vbird. Si ejecuta? Vbird, presione n para continuar buscando la cadena llamada vbird.
norte Esta N es el botón en inglés. Contrariamente a n, la acción de búsqueda anterior se realiza para "invertir". Por ejemplo, después de / vbird, presione N para buscar vbird "arriba".
使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词!
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:
『:100,200s/vbird/VBIRD/g』。(常用)
:1,$s/word1/word2/g 或 :%s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
:1,$s/word1/word2/gc 或 :%s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)
删除、复制与贴上
x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
dd 删除游标所在的那一整行(常用)
ndd n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
d1G 删除光标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
d$ 删除游标所在处,到该行的最后一个字符
d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
yy 复制游标所在的那一行(常用)
nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据
p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用)
J 将光标所在行与下一行的数据结合成同一行
c 重复删除多个数据,例如向下删除 10 行,[ 10cj ]
u 复原前一个动作。(常用)
[Ctrl]+r 重做上一个动作。(常用)
这个 u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键,你的编辑,嘿嘿!很快乐的啦!
. 不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)

第二部分:一般模式切换到编辑模式的可用的按钮说明

进入输入或取代的编辑模式
i, I 进入输入模式(Insert mode):
i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用)
a, A 进入输入模式(Insert mode):
a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用)
o, O 进入输入模式(Insert mode):
这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』; O 为在目前光标所在处的上一行输入新的一行!(常用)
r, R 进入取代模式(Replace mode):
r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
上面这些按键中,在 vi 画面的左下角处会出现『--INSERT--』或『--REPLACE--』的字样。 由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时, 一定要在左下角处看到 INSERT 或 REPLACE 才能输入喔!
[Esc] 退出编辑模式,回到一般模式中(常用)

第三部分:一般模式切换到指令行模式的可用的按钮说明

指令行的储存、离开等指令
:w 将编辑的数据写入硬盘档案中(常用)
:w! 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~
:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ 这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!
:w [filename] 将编辑的数据储存成另一个档案(类似另存新档)
:r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。
:! command 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如
『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!
vim 环境的变更
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!

特别注意,在 vi/vim 中,数字是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思。

举例来说,要删除 50 行,则是用 『50dd』 对吧! 数字加在动作之前,如我要向下移动 20 行呢?那就是『20j』或者是『20↓』即可。

vim 中批量添加注释

方法一 :块选择模式

批量注释:

Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 //#,输入完毕之后,按两下 ESCVim 会自动将你选中的所有行首都加上注释,保存退出完成注释。

取消注释:

Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出。

方法二: 替换命令

批量注释。

使用下面命令在指定的行首添加注释。

使用名命令格式: :起始行号,结束行号s/^/注释符/g(注意冒号)。

取消注释:

使用名命令格式: :起始行号,结束行号s/^注释符//g(注意冒号)。

例子:

1、在 10 - 20 行添加 // 注释

:10,20s#^#//#g

2、在 10 - 20 行删除 // 注释

:10,20s#^//##g

3、在 10 - 20 行添加 # 注释

:10,20s/^/#/g

4、在 10 - 20 行删除 # 注释

:10,20s/#//g

Supongo que te gusta

Origin www.cnblogs.com/HGNET/p/12724133.html
Recomendado
Clasificación