vi的三种工作模式:命令模式、编辑模式、末行模式
命令模式:默认模式
这种模式主要用来查看命令
less:在less命令里面的快捷键,基本能使用
移动光标:
1.使用方向键移动光标
两边的左右h l
中间 jk表示下上
滚动:i
向下滚动、向前滚动一页 ctrl+f(forward/front)
向后/向前滚动一页ctrl+b(back)
向上滚动半页:ctrl + u (up)
向下滚动半页:ctrl + d (down)
跳转:
跳转到首行小写gg
跳转到具体的某行:nG
其中n表示你要跳转的具体某一行
加入取得负数,则会跳转到绝对值的行号
比如-2G 表示跳转到第2行
eg:跳转到10行
10G:跳转到第10行
30G:跳转到第30行
1G:跳转到首行
G:移动到文档的最后一行
按屏幕位置键
H(head):表示移动到当前屏幕最上方的字符
M(middle):表示移动到当前屏幕中间的字符
L(last):表示移动到当前屏幕尾行
按照字符移动光标
w(word):按照单词移动,一次向后移动一个单词位置,光标落在下一个单词的第一个字符
b(begin):按照单词移动,一次向前移动一个单词位置,光标落在上一个单词的第一个字符
e(end):一次向后移动一个单词位置,光标落在下一个单词的最后一个字符
一次移动多个单词, nw,ne,nb
其中n表示一次移动的单词个数
eg:10w一次向后移动10个单词
2w一次向后移动两个单词
按照字符移动:使用空格键一次向后移动一个字符
n
在命令模式下编辑操作的快捷键
yy:复制当前行(常用)
nyy:将当前行及其以下n-1行
dd:删除当前行
ndd:删除当前行,再往下删除到n行
d1G:删除第一行到当前行的内容
dG:删除当前行到最后一行的内容
y1G:复制第一行到当前行
yG:复制当前行到最后一行
paste:粘贴
p:粘贴到当前行的下一行
P:粘贴到当前行的上一行
np:多次粘贴: 一次粘贴n行
10p:向下粘贴10行
按字符复制:
y0:表示当前光标位置至行首的字符数据
ys:表示复制光标当前位置至行
编辑模式:在命令模式下进入编辑模式 可以按住键盘上i a o键进入
撤销:
使用小写的u,undo是撤销的操作
查找与替换:
语法:在命令模式下输入
:开始行,结束行s/要搜索的内容/要替换的内容/g
eg:比如我们要将第一行 到 第三行的students 替换为 teacher
:1,3s/students/teacher/g
如果要替换开始到结束?
:1,$s/students/teacher/g 搜索第一行到最后一行的students单词替换为teacher单词
:q:退出
wq:保存退出
q!:表示强制退出
ZZ: 保存退出00
wq 文件名 :另存为
ZQ:不保存退出

