关于 Vim
Vim 是 Linux 系统下一款功能强大的编辑器,在 Vi 的基础上改进和增加了许多特性。
Vim 的三种模式
编辑模式。
输入模式。
末行模式。
三种模式之间的关系如下图:
三种模式之间的转换方式如下:
编辑-->输入:
i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式;
复制代码
输入-->编辑:
编辑-->末行:
末行-->编辑:
Vim 常用命令
Vim 的常用命令如下图所示:
具体常用命令可以分为以下几个大类:
▼
打开/退出
▼
vim -R file1 只读打开
:qall 退出所有文件
:wq 写入并退出
:q! 强制退出
复制代码
▼
插入
▼
i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
复制代码
▼
移动
▼
h 左移一个字符
l 右移一个字符
k 上移一个字符
j 下移一个字符
复制代码
▼
删除
▼
dd 删除当前行
dj 删除当前行和上一行
dk 删除当前行和下一行
10dd 删除当前行开始的共10行
D 删除当前字符至行尾
x: 删除光标所在处的单个字符
#x: 删除光标所在处及向后的共#个字符
复制代码
▼
跳转
▼
gg 跳转到文件头
G 跳转到文件尾
gg=G自动缩进 (非常有用)
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
冒号+行号,跳转到指定行;比如:120,跳转到120行;
$ 跳转到行尾0 跳转到行首
复制代码
▼
编辑
▼
u 撤销
Ctrl + r 重做
yy 复制当前行
按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制任意部分
p 粘贴在当前位置
另外,删除在vim里面就是剪切的意思,所以dd就是剪切当前行,可以用v或V选择特定部分再按d就是任意剪切了
复制代码
▼
查找
▼
/text 查找 text,按 n 健查找下一个,按 N 健查找前一个
?text 查找 text,反向查找,
:set ignorecase 忽略大小写的查找
:set noignorecase 不忽略大小写的查找
复制代码
▼
替换
▼
:s/old/new/ 用old替换new,替换当前行的第一个匹配
:s/old/new/g 用old替换new,替换当前行的所有匹配
:%s/old/new/ 用old替换new,替换所有行的第一个匹配
:%s/old/new/g 用old替换new,替换整个文件的所有匹配
也可以用v或V选择指定行,然后执行
复制代码
▼
多文件操作
▼
vim file1 file2 file3 ... 同时编辑多个文件
:split 将窗口分成上下两个子窗口,对应两个不同的文件
:vsplit 将窗口分成左右两个子窗口,对应两个不同的文件
:open file4 打开新文件
:bn 切换到下一个文件(当前窗口)
:bp 切换到上一个文件(当前窗口)
Ctrl-w h 移动到窗口左边
Ctrl-w j 移动到窗口下边
Ctrl-w k 移动到窗口上边
Ctrl-w l 移动到窗口右边
复制代码
▼
高级话题
▼
1、显示或取消显示行号
:set nu
:set nonu
mu = number
复制代码
2、显示忽略或区分字符大小写
:set ic
:set noic
ic = ignorecase
复制代码
3、设定自动缩进
:set ai
:set noai
ai = autoindent
复制代码
4、查找到的文本高亮显示或取消
:set hlsearch
:set nohlsearch
复制代码
5、语法高亮
评论