1. 关于vim
vim是vi的升级版本,在vi的基础之上增加了语法高亮,多级撤销等功能。Vim的主要理念是:命令使用按键各种组合,很多快捷键,并且专门设计使得程序员手一直在键盘上
2. 三种模式切换
vim中有三种模式: 编辑模式(主要用于在文件中移动光标),输入模式(主要是插入修改文本),命令模式(输入命令)
编辑模式 进入 输入模式:
i:在光标前插入
a:在光标后插入
o:在光标下方打开一个新行
I:在光标所在的行首插入
A:在光标所在的行尾输入
O:在光标的上方打开一个新行
输入模式 退回 编辑模式:
ESC
编辑模式 进入 底线模式:
按 : 键
底线模式 退回 编辑模式:
ESC
3. Vim打开文件命令
vim [options] [file...]
+#:打开文件后,直接让光标处于第#行的行首
+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
4. 关于编辑模式
- 移动光标
k 上
j 下
h 左
l 右
w 下一个单词词首
e 下一个单词词尾
b 前一个单词词首
^ 跳转至行首第一个非空白字符
0 跳转至行首
$ 跳转至行尾
#G 跳转至#行
G 最后一行
) 下一句
( 上一句
} 下一段
{ 上一段
- 大范围移动
ctrl + f 前移一页
ctrl + b 后移一页
H 移动到屏幕最上
M 中间
L 最后
- 编辑命令
x 删除光标所在处的字符
r 替换光标所在处的字符
dd 删除一行
p 粘贴命令(如果缓冲区的内容为整行,则粘贴在当前光标所在行的上方,否则,则粘贴至当前光标所在处的前方)
yy 复制一整行(可结合光标跳转范围复制)
#yy 复制#行
cw 删除该词并自动转换为输出模式
c$ c^ c0
cc 删除所在行并转换为输出模式
u 撤销此前操作 或 ctrl +r
. 重复前一个编辑动作
v 可视化模式 一个字符一个字符选
V 可视化模式一行一行选
ZZ 文件如果已编辑,把内存缓冲区的数据会写到启动vim时指定的文件里,然后退出vim,无需加: 和回车
5. 关于命令模式
- 搜索匹配
/str1 正向搜索 str1
n 继续搜索下一个str1位置
N 继续搜索上一个位置
?str2 反向搜索
- 保存和退出
:e path_to_file/filename
:w 保存
:wq 保存并退出
:q 退出
:q! 放弃所有修改并退出
:n 光标移动到n行
:128w file 将128行写入file这个文件中
:2,33w file 从第2行开始到第3行,写入file文件
:.,.+5w file 从当前行开始到之后五行的内容写入file
:w file将文件全部写入file文件内
- 选项设置
:set option 设置选项 option
autoindent 自动缩进
ignorecase 忽略表达式中大小写字母
number 显示行号
ruler 在屏幕底下显示光标所在行和列位置
tabstop 设置tab=n, n默认为8,按tab跳过的空格数
mk 将选项保存在当前目录的.exrc文件中
- 替换功能
:s/old/new //用new替换行中首次出现的old
:s/old/new/g //用new替换行中所有的old
:n,m s/old/new/g //用new替换从n到m行里所有old
:%s/old/new/g //用new替换当前文件里所有的old