由于工作需要,某彩笔萝开始勤勤恳恳的学Vi了。建议小可爱们首先先去下一个 Vim
编辑器。炒鸡好用的工具哟!
打开文件: vi/vim filename
, 打开文件后的模式是命令模式。
1. vi的三种状态
1. 命令模式 (Command Mode)
该模式下可控制光标的移动,字符/字/行的删除,移动复制内容等操作。在这个状态下敲击键盘的动作会被vi识别为命令,而非输入字符。
2. 输入模式 (Insert Mode)
该模式下,可以做文字输入。按 ESC
键可以回到命令行模式。【注意:仅 Insert Mode 下可以做文字的输入】
3. 底行命令模式 (Last Line Mode)
该模式下,可以保存文件,或者退出 vi,也可以设置编辑环境,如寻找字符串,列出行号... 等操作。(底行模式也算命令行模式)
2. 基本操作
1. 命令模式下常用命令
-
i
切换到输入模式, 从光标当前位置开始输入。 -
o
进入输入模式,插入新的一行,从行首开始输入。 -
x
删除当前光标所在处的字符 -
:
切换到底线命令模式,在最底行输入命令
2. 底行命令模式下常用的命令:
-
q
退出程序 -
w
保存文件 -
wq
存盘并退出vi -
q!
不存盘强制退出vi
3. 移动光标
-
h
左,j
下,k
上,l
右, 移动一格 -
G
移动到文章最后 -
^
/0
移动到所在行的行首 -
$
移动到所在行的行尾 -
w
移动到下个字的开头 -
e
移动到下个字的字尾 -
b
回到上个字的开头 -
ctrl + f
: 向下移动一页 -
ctrl + b
: 向上移动一页 -
ctrl + d
: 向下移动半页 -
ctrl + u
: 向上移动半页
3. 常用的一些操作
-
:set nu
: 添加行号 -
dd
: 删除整行 -
dw
: 删单词 -
u
: 回退 (类似windows下的ctrl+z) -
yy
: 复制一行,前面按数字,例如10yy
就是复制10行 -
p
: 粘贴,前面按数字,例如10p
就是粘贴10份 -
v
: 进入选择模式,光标操作范围。 -
V
: 选中整行 -
sp
: 上下分屏;vsp
: 左右分屏 -
/
: 进入检索,后面写正则,单词神马的都可以的嗷; 检索的时候自动会高亮的,这个时候按n
就能一个一个往下找, 按N
就能往上找了。 -
:noh
: 取消高亮 -
n
: 重复上一个动作 -
gg
: 移动到第一行 -
A
: 移动到行末并进入insert模式
4. 一些组合操作
- 将0-20行中所有的 sun 替换成 ling
:0, 20s/sun/ling/gc
然后一直按y
就可以了
不加c就直接删除了,不用confirm - 复制1到20行的内容,并且贴到最后一样
1G 然后 20yy
然后按G
去最后一样,在p
一下粘贴 - 将这个文档另存为为 aaa.config的文件
:w aaa.config
- 删除当前光标所在行至文件末尾
dG
- 删除光标所在处向后的5个字符。再删除5个(重复上次命令)
5x
然后,在按.
命令; - 格式化json代码
:%!python -m json.tool
- 批量删除匹配指定字符串的行
g/要删除的东西/d