Vim 介绍

Vim 是全屏幕纯文本编辑器,是vi编辑器的升级版。

vim 不仅仅兼容vi所有的命令,而且高亮显示,vi只能运行在 UNIX 和 Linux 中,而 vim 可以跨平台运行在Windows,MAC OS 中。

vim 号称 “编辑器之神”,具有无可匹敌的可扩展性。

大部分 Linux 系统中,默认都会安装 vim,在 Linux 中使用 vim 比较简单,直接使用 vim ,命令即可:

[user@ubnutu ~]$ vim a.txt

在命令模式下,使用 :wq 可以保存退出

三种模式

vim 共分为三种模式,分别是命令模式 (Command mode),输入模式 (Insert mode)  和底线命令模式 (Last line mode) :

termux退出python命令 termux怎么退出vim编辑状态_vim 删除行

三种模式的切换

一开始进入vim的时候,就是命令模式,在命令模式下,使用一些插入按键,就会进入输入模式,比如 i 键。

在输入模式下,按 ESC 键退出输入模式

在命令模式下,输入: 进入底线命令模式

命令模式下,输入 :wq保存并退出编辑,也可以输入 ZZ (shift + zz) 保存退出

命令模式

一开始进入 vim 的时候,就是命令模式,在命令模式下,敲击键盘动作会被识别为命令,而非输入字符。

命令模式下常用的一些命令:



命令

说明

:

进入底线命令模式

i

前插入模式,从选择字的前面开始插入

I

在本行行首进行插入

a

后插入模式,从选择字的后面开始插入

A

在本行行尾进行插入

o

下插入模式,从下一行开始插入

O

上插入模式,在此行的上面一行重新另外起一行新的空白插入

r

替换当前光标所在的字符

R

从光标所在字符字符开始替换, 直到按 ESC 退出

h或左箭头键(←)

光标向左移动一个字符

j或下箭头键(↓)

光标向下移动一个字符

k或上箭头键(↑)

光标向上移动一个字符

l或右箭头键(→)

光标向右移动一个字符

G

移动到最后一行

nG

移动的到指定的行, n为行数, 可以配合 :set nu 使用, 和 :n 作用一样

gg

移动到第一行

/str

向光标之下搜索 str, 此模式下, 按 n 继续向下搜索, 按 N 向上搜索

?str

向光标之上搜索 str, 此模式下, 按 n 继续向下搜索, 按 N 向上搜索

x

删除光标所在字符, 即向后删除一个字符

X

向前删除一个字符

nx

n为数字, 向后删除指定数量的字符, 如 5n 向后删除5个字符

dd

删除当前光标所在的这一行

ndd

从光标所在行开始数, 向下删除 n 行, 如 10dd, 向下删除10行(包含光标所在行)

yy

复制光标所在的那一行

nyy

从光标所在行开始数, 向下复制 n 行, 如 10yy, 向下复制10行(包含光标所在行)

p

将已复制的内容粘贴到光标所在的下一行

P

将已复制的内容粘贴到光标所在的上一行

u

撤销

Ctrl + r

反撤销

.

重复前一个动作

ZZ

保存退出, 相当于 :wq

ZQ

不保存强制退出, 相当于 :q!

输入模式

在命令模式下,只要按下i,o,a等字符就可以了进入输入模式了,终端左下角显示为 –INSERT-

在输入模式中,任意按键都被当做字符串进行输入

ESC 键可以退出输入模式,回到命令模式

底部命令模式

在命令模式下,按冒号键 : (英文冒号) 就进入了底线命令模式。

底线命令模式可以输入一个或者多个字符的命令

ESC 可以退出底线命令模式,回到命令模式

底线命令模式常用命令:



命令

说明

:n1,n2s/word1/word2/g

n1 n2是行号, 把 n1行到 n2 行之间的word1替换为word2

:1,$s/word1/word2/g:%s/word1/word2/g

从第一行到最后一行, 将word1替换为word2

:1,$s/word1/word2/gc:%s/word1/word2/gc

从第一行到最后一行, 将word1替换为word2, 每次替换都会进行确认, y 确认替换, n 跳过替换

:n

光标移动到第几行

:set nu

显示行号

:set nonu

不显示行号

:w

保存

:q

退出vim

:wq

保存并退出

:q!

放弃未保存的编辑, 强制退出

:! command

暂时离开vim 查看命令的执行结果