vi常用命令
Posted tan90丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vi常用命令相关的知识,希望对你有一定的参考价值。
基本介绍
- vi包含三种模式:命令模式、编辑模式和尾行模式
- vi一个文件后,默认处于命令模式
模式转换
- 命令模式是三个模式的核心,也是模式转换的中转站
- 命令模式下,使用
i
,a
,o
等字母以不同的状态进入编辑模式 - 编辑模式下按
Esc
键退回命令模式 - 命令模式下,使用
:
进入尾行模式,尾行多用于查找和保存 - 尾行模式下按
Esc
退回命令模式
命令模式相关命令
1.进入编辑模式
i
在光标所在位置之前插入字符a
在光标所谓位置之后插入字符o
当前行的下一行插入字符O
当前行的上一行插入字符I
在文件首插入A
在文件尾插入
2.常用的操作
u
撤销ctrl + u
反撤销.
重复执行上次操作>>
当前行缩进<<
当前行反缩进shirft + zz
保存后退出,相当于:wq
3.编辑相关命令
yy
复制当前行nyy
复制当前行往下的n行,如2yy
复制两行dd
剪切当前行,可用p
粘贴,其他剪切同理ndd
简介当前行往后的n行,如2dd
剪切两行x
删除当前字符X
删除当前字符的前一个字符dw
剪切当前单词d0
剪切当前位置到行首的所有字符D
剪切当前位置到行尾的所有字符p
粘贴r
替换当前位置的字符R
从当前位置开始往后连续替换字符
4.批量选择与缩进
v
进入选择模式,使用上下左右进行选择V
和v
大致相同,区别就是该命令会选择光标经过的行的一整行>
选择的行往右缩进,可以配合.
命令使用<
选择的行往左缩进,可以配合.
命令使用
5.跳转相关命令
h,j,k,l
分别表示左,下,上,右nG
跳转到第n行,如20G
跳转至第2o行gg
跳转到文件首G
跳转到文件尾{
跳转到当前代码块首部}
跳转到当前代码块尾部w
跳转到下一个单词b
跳转到上一个单词M
跳转到当前屏幕区域的中间行H
跳转到当前屏幕区域的首行L
跳转到当前屏幕区域的尾行ctrl + f
向下翻一页ctrl + b
向上翻一页ctrl + d
向下翻半页ctrl + u
向上翻半页
尾行模式与查找
:
进入尾行模式,一般使用wq
进行报错/
进入查找/hello
查找所有包含hello的位置,并会高亮显示- 要去掉高亮,可以查找一个不存在的字符串
a
跳转到下一个搜索结果A
跳转到上一个搜索结果:%s/hello/world
将所有的hello替换为world:11,16s/hello/world/g
将11-16行的hello替换为world,可用于函数变量的重命名
以上是关于vi常用命令的主要内容,如果未能解决你的问题,请参考以下文章