学一点,记一点。
Linux下重要的vi编辑器有三种模式,分别是
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
末行模式:保存或退出文档,以及设置编辑环境。
输入模式:正常的文本输入。
打开文件时:格式 vi 文件名, 如果文件不存在则先打开,当关闭保存时自动创建该文件。
例:
vim a.txt
vim a.txt +6 打开文件,将光标移动到第5行
如果文件不存在则没有效果
vim a.txt + 打开文件,将光标移动到最后一行
如果文件不存在则没有效果
3种模式转换图如下
每次运行vim编辑器时,先进入命令模式,要切换到输入模式才能进行文档编写工作,编写完成后要先返回命令模式,再进入末行模式,执行文档的保存或退出操作。
a、从编辑模式到命令行模式怎样切换?
输入模式–>esc -->命令模式 -->:–>末行模式
b、字符操作怎样进入编辑模式?
进入编辑模式 a i o
i 当前字符之前插入,就是光标前插入
I 在行首插入
a当前之后插入,就是光标后
A 行尾插入
o 下一行插入 ,就是另起一行
O 上一行插入
x 向后删除一个字符 相当于delete
X 向前删除一个字符
u 撤销一步 每按一次就撤销一次
r 替换
命令模式
打开文件即进入命令模式。
-
移动光标
h、j、k、l 左下上右
上下左右方向键
G 光标快速定位到末行行首
$ 光标快速定位到改行行尾
^ 光标快速定位到改行行首
gg 快速定位到文档的首行
3gg快速定位到第3行行首
M 光标移到中间行
L 光标移动到屏幕最后一行行首
w 向后依次移动一个字
b 向前一次移动一个字
ctrl+d、ctrl+u 向下、上翻半屏
ctrl+f、ctrl+b 向下、上翻一屏 -
删除命令
x 删除光标后一个字符
X 删除光标前一个字符
dd 删除光标所在行
ndd 删除指定的行数
d0 删除光标前本行
dw 删除光标开始位置的字,包含光标所在字符 -
撤销命令
u 一步一步撤销
ctr+r 反撤销
重复命令 . 重复上一操作的命令
-
文本行移动
shift+>> 文本行右移
shift+<< 文本行左移 -
复制粘贴
yy 复制当前行
nyy 复制n行
p 在光标所在位置向下新开辟一行,粘贴 -
剪切粘贴
删除命令相当于剪切
p 在光标位置向下开辟一行,粘贴 -
可视模式
v 按字符移动
V 按行移动,选中文本可视模式可以配合d,y,>>,<<实现对文本块的删除,复制,左右移动
输入模式
进入输入模式 按ESC后
按a 从光标之后开始输入
按A 在光标所在行的末尾开始输入
按i 从光标之前开始输入
按I 从光标所在行第一个非空字符开始输入
按o 在光标所在行下一行,另起一行开始输入
按O 在光标所在行上一行,另起一行开始输入
按s 删除光标所在字符开始输入
按S 删除光标所在行开始输入
末行模式
进入末行模式 按ESC后按Shift+冒号
末行命令
n 光标跳转到第n行
-
存储
w 保存文件
wq 保存并退出文件
x 保存并强制退出文件
q! 强制退出,不保存文件 -
查找
/ 正向查找,按n查看下一个,/ab 查找ab
? 反向查找,按n查看上一个,?ab 查找ab -
替换
s/ab/cd 将光标所在行的第一个ab替换成cd
s/ab/cd/g 将光标所在行的所有ab替换成cd
n,s/ab/cd 将指定的第一个ab替换成cd
n,s/ab/cd/g 将指定行的所有ab替换成cd
%s/ab/cd 将每一行的第一个ab替换成cd
%s/ab/cd/g 将每一行的所有ab替换成cd -
设置
set nu 显示行号
set nonu 取消显示行号
每天进步一点点