一、vim 四种 模式
1.1、正常模式1.2、插入模式1.3、命令模式1.4、可视模式二、各个模式常用命令
2.1 正常模式常用命令2.1.1 插入2.1.2 删除命令2.1.3 复制2.1.4 光标移动2.1.5 撤销2.1.6、其他编辑命令2.1.7 翻页2.2 命令行模式常用命令2.2.1 退出2.2.2查找并替换2.2.3 选项设置2.2.4、文件操作2.2.5 分屏启动2.2.6 切换分屏2.2.7 分屏尺寸调整2.2.8 关闭分屏2.3 vim 可视化2.3.1 字符模式2.3.2 行模式2.3.3 块模式
一、vim 四种 模式
1.1、正常模式
启动vim后默认处于正常模式。不论位于什么模式,按下键(有时需要按两下)都会进入正常模式。 正常模式一般用于浏览文件,也包括一些复制、粘贴、删除等操作。
1.2、插入模式
在正常模式中按下i, I, a, A等键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中, 输入内容会插入到文本中
1.3、命令模式
在正常模式中,按下:(英文冒号)键,会进入命令模式。 在命令模式中可以设置vim一些格式,也可以进行内容查找等操作。
1.4、可视模式
在正常模式中按下v, V, +v,可以进入可视模式。 可视模式主要用于选择文本内容时,可以有很直观的看到选中内容。 可视模式有三种: 1)、字符模式: v (小写) 2)、行模式: V (大写) 3)、块模式: Ctrl+v
二、各个模式常用命令
2.1 正常模式常用命令
2.1.1 插入
命令说明
s修改一个字符(与r的区别,修改后直接进入Insert模式)a光标后插入字符 移动光标到下个字符位置进入Insert模式A行尾插入字符 移动光标到行尾并 进入Insert模式o光标下方新建一行并进入Insert模式O (字母大写)移动光标到上方新建一行并进入Insert模式r替换字符(单个) 命令语法 nrw 其中n表示需要替换的个数,w表示需要替换的字符比如 2rn 选中的字符被替换为2个n 替换一个 可以不需要输入数字 ,直接rw即可R替换字符(多个) 直接输入R 进入replace 模式,此时会将光标所在的字符被替换掉,直到输入Esc结束
R 演示
2.1.2 删除命令
命令说明
x删除光标下的字符X删除光标左边的字符cw替换文本直到单词末尾(ce也可) 语法为ncw n表示需要删除的单词个数,表示删除n个单词后进入insert模式c$替换文本直到行尾 同cw 只是是从光标开始删除至行尾 并进入insert 模式dw删除单词 (de, d2w) de 和dw 一样删除一个单词d$删除到行尾D删除到行尾dd:删除整行S删除整行,与dd区别在于,S删除后会进入Insert模式,
2.1.3 复制
命令说明
yy复制一行(直接p,即可将复制的内容粘贴到下一行,P(大写)粘贴到上一行)nyy向下复制n行p粘贴到光标之后np粘贴n次P(大写)粘贴到光标之前y$复制光标到行尾(即从光标处复制内容到行尾)
2.1.4 光标移动
命令说明
j向下行移动光标 ; nj:向下移动n行k向上行移动光标; nk:向上移动n行h向左移动光标; nh: 向左移动n个字符l向右移动光标; nl: 向右移动n个字符0数字0,移动光标到行首w下一个单词起始处nw (2w) n可为数字,表示移动两个单词e单词末尾(与w的区别)$移动光标到行尾gg直接到文件头; 还可以使用ngg跳到指定行, 3gg表示跳到第三行G直接到文件尾,同样可以使用nG 跳到指定行, 3G表示跳到第三行
2.1.5 撤销
命令说明
u(小写) 撤销U撤销对整行的操作Ctrl + r重做(Redo),即撤销的撤销。
2.1.6、其他编辑命令
命令说明
.重复上一次操作%查找配对的括号 ), }, ] 光标选中一个括号,输入%会直接匹配v motion :w选择性保存Ctrl + D查看可能的补全
% 示列
2.1.7 翻页
命令说明
Ctrl + e向下滚动一行Ctrl + y向上滚动一行Ctrl + f向下翻一页Ctrl + b向上翻一页Ctrl + u向上翻半页Ctrl + d向下翻半页
2.2 命令行模式常用命令
在正常模式中,按下:(英文冒号)键,会进入命令模式
2.2.1 退出
命令说明
:wq保存并退出ZZ保存并退出:q!丢弃修改并退出 (q退出,有修改的话q不能退出):qa!打开多个文件时使用此命令:e!丢弃修改并打开原文件
2.2.2查找并替换
命令说明
:/text直接查找文本text 内容:/world表示查找world单词 然后 :n 查找下一个, :N查找前一个: s/old/new/g查找old并替换为new,g代表整行匹配 替换 在进入命令行模式前 光标 所在行:#, #s/old/new#, #代表首尾行号 比如 1,3 就是1-3行 可以通过 :set nu 来显示行号:%s/old/new/g全文匹配替换:%s/old/new/gc全文匹配替换,并每次替换会弹出确认提示 c所有替换命令 加c 后会弹出确认提示
演示 可以通过 :set nu 来显示行号
然后执行 :14,16s/SP/wh 表示替换 14行到16行 SP替换为wh
2.2.3 选项设置
命令说明
:set ic忽略大小写:set is部分匹配(like):set hls高亮匹配:set nu显示行号
2.2.4、文件操作
命令说明
:e + filename打开新文件:r + filename读取文件并插入到当前文件:bn切换到下一个文件 当使用 vim file1 file2 打开多个文件时:bp切换到上一个文件
2.2.5 分屏启动
命令说明
vim -on file1 file2…水平分屏vim -On file1 file2…垂直分屏
2.2.6 切换分屏
命令说明
Ctrl + w l右边Ctrl + w h左边Ctrl + w j上边Ctrl + w k下边
2.2.7 分屏尺寸调整
命令说明
Ctrl + w =所有屏一样高度Ctrl + w +增加高度Ctrl + w -减少高度
2.2.8 关闭分屏
命令说明
Ctrl + w c- 关闭当前窗口(如果是最后一个,无法关闭) 先按ctrl +w 再按cCtrl + w q- 关闭当前窗口(如果是最后一个,则退出vim) 先按ctrl +w 再按q 或者直接进入命令行模式 输入q 一个一个的关闭
2.3 vim 可视化
命令说明
d删除选中部分文本D删除选中部分所在的行y将选中部分复制到剪贴板中。p(小写)将剪贴板中的内容粘贴到光标之后。P(大写)将剪贴板中的内容粘贴到光标之前。u(小写)将选中部分中的大写字符全部改为小写字符。U(大写)将选中部分中的小写字符全部改为大写字符。g~大小写互调>将选中部分右移(缩进)一个 tab 键规定的长度<将选中部分左移一个 tab 键规定的长度
2.3.1 字符模式
v 键进入可视化字符模式。单词 VISUAL 将出现在屏幕底部。
2.3.2 行模式
按下 Shift+V 进入行模式。单词 VISUAL LINE 将出现在屏幕底部。
2.3.3 块模式
按下 Ctrl+v 进入可视化块模式。单词 VISUAL BLOCK 将出现在屏幕底部。 块模式可以按照列去选择矩形内的文本,如下图所示选中中间Not部分