vim 是一款功能强大的文本编辑器, 默认有三种模式: 命令模式, 插入模式, 编辑模式, 使用# vim file 打开一个文件时,默认进入命令模式, 不同模式直接的切换如下
a. 命令模式切换到 插入模式 :
Esc 键返回命令模式
i : 光标处开始插入
I : 光标所在行首开始插入
A : 光标所在行尾开始插入(append)
o : 光标下插入新行
b. 命令模式 切换 编辑模式: 直接输入 :即可, enter 键返回命令模式
常用命令:
1.1 定位命令(命令模式下)
1.1.1 光标移动到行首: 0
1.1.2 光标移动到行尾: $
1.1.3 光标移动到文件首行第一个字符: gg
1.1.4 光标移动到文件末行第一个字符: G
1.2 复制 && 剪切(删除) && 粘贴 (命令模式下)
1.2.1 复制一行: yy
1.2.2 复制n行: nyy
1.2.3 剪切一行: dd
1.2.4 剪切n行: ndd
1.2.5 剪切到行尾:D
1.2.6 剪切到文件尾:dG
1.2.7 剪切指定行: :n1,n2d 编辑模式下 n1 :开始行号,n2 终止行号, 注意此命令是在命令模式下的命令, 而且要注意 写 d, 别忘写了
1.2.8 粘贴到光标下:p
注意: 在vim 中删除和剪切命令是一样的,只要不粘贴,剪切就是删除
1.3 替换 && 搜索(命令模式下)
1.3.1 替换光标处单个字符: r ,然后输入要替换的字符
1.3.2 进入替换模式: R, 可以连续替换, Esc 退出到命令模式
1.3.4 批量替换: 将oldstr 字符串 替换成 newstr, 编辑模式下
1. : %s/oldstr/newstr/c 全文替换, 有询问提示
2. :%s/oldstr/newstr/g 全文替换, 没有询问提示
3. :n1,n2s/oldstr/newstr/c n1行到n2 行之间替换,有询问提示
4. :n1,n2s/oldstr/newstr/g n1行到n2行之间替换,没有询问提示
1.3.5 搜索:进入vim 时默认为不忽略大小写的搜索
1. 普通搜索: /str
2. 模糊搜索: 先设置文件为忽略大小写,在编辑模式下输入: set ic
设置文件不忽略大小写: set noic
在查找到后,按 n 可以查找下一个
1.4 保存退出:(编辑模式下)
1.4.1 保存:w
1.4.2 另存为: w newfilename
1.4.3 保存并退出: wq
1.4.4 不保存退出: q!
1.4.5 强制保存:wq! 指针对只读文件而言,但是使用这条命令的只能是文件的所有者和root 用户
1.4.6 撤销操作:u 命令模式下(undo)