*********************vim编辑器知识点*************************************
vim模式
编辑模式(命令模式)
输入模式
末行模式
打开vim编辑器时,默认是编辑模式
模式转换:
编辑-->输入
i:在当前光标所在字符前面,转为输入模式
a:在当前光标所在字符后面,转为输入模式
o:在当前光标所在行下方,新建一行,转为输入模式
I:在当前光标所在行首,转为输入模式
A:在当前光标所在行为,转为输入模式
O:在当前光标所在行上方,新建一行,转为输入模式
输入-->编辑
Esc
编辑模式-->末行模式
:sed nu 显示行号
末行模式-->编辑模式
Esc 有时候需要联系敲两下
输入模式和末行模式不能直接转换
关闭文件
1.在末行模式关闭文件
:w 保存文件
:q 退出(会询问是否保存)
:q!不保存推出
:wq 保存退出
:w! 强制保存
:wq-->:x
2.编辑模式关闭文件
ZZ 保存退出
移动光标
逐字符移动光标
h:左
l:右
j:下
k:上
数字+{h,l,j,k}:移动指定数目个字符
逐单词移动
w:移到下一个单词的词首
e:跳至当前单词词尾或下一个单词词尾
b:跳至当前单词词首或前一个单词词首
数字+{w,e,b}:数字组合
行内跳转
0:跳到绝对行首
^:跳到非空白字符行首
$:绝对行尾
行家跳转
#G:直接跳转至#行
G:跳转至最后一行
末行模式下直接给行号即可
翻屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
删除单个字符
x:删除光标所在处单个字符
#x:删除光标所在处及向后的共#个字符
删除命令:d
d命令跟跳转命令组合使用
dd;删除当前光标所在行
#dd:删除#行
末行模式下:
StartADD,EndADDd 从开始行删除到结束行
.:表示当前行
$:最后一行
+#:向下的#行
vim删除的内容会保存在缓存区中,最后一次删除的内容,可以复制到新的地方
粘贴命令
p:如果删除的或复制的为整行内容,则粘贴至光标所在行的下方,如果为非整行,则粘贴至光标所在字符的后面
P:如果删除的或复制的为整行内容,则粘贴至光标所在行的上方,如果为非整行,则粘贴至光标所在字符的前面
复制命令
y 跟d用法相同
修改命令:先删除内容,再转为输入模式
c 跟d用法相同
替换命令
r#:将光标所在单个字符替换成#
R:替换模式,直接替换
撤销编辑操作
u:撤销前一次的操作,连续u,撤销前n次操作
#u:直接撤销最近#编辑操作
撤销撤销
Ctrl + r:撤销刚才撤销的操作
重复前一次操作
.
可视化模式
v:按字符选取
V:按矩形块操作
查找
/PATTERN
?PATTERN
n
N
查找并替换替换
在末行模式下使用s命令
使用vim编辑多个文件
vim file1 file2 ......................
退出
:qa 全部退出
分屏显示一个文件
ctrl+w s:水平拆分
ctrl+w v:垂直拆分
ctrl+w+上下箭头,切换窗口
分窗口编辑多个文件
vim -o:水平分割显示
vim -O:垂直分割显示
将当前文件中部分内容另存为另外一个文件
末行模式下用w命令
:w
:addr1,addr2w /path/to/somewhere
跟shell交互
:! COMMAND
显示或取消行号
:set nu
:set nonu
vim模式
编辑模式(命令模式)
输入模式
末行模式
打开vim编辑器时,默认是编辑模式
模式转换:
编辑-->输入
i:在当前光标所在字符前面,转为输入模式
a:在当前光标所在字符后面,转为输入模式
o:在当前光标所在行下方,新建一行,转为输入模式
I:在当前光标所在行首,转为输入模式
A:在当前光标所在行为,转为输入模式
O:在当前光标所在行上方,新建一行,转为输入模式
输入-->编辑
Esc
编辑模式-->末行模式
:sed nu 显示行号
末行模式-->编辑模式
Esc 有时候需要联系敲两下
输入模式和末行模式不能直接转换
关闭文件
1.在末行模式关闭文件
:w 保存文件
:q 退出(会询问是否保存)
:q!不保存推出
:wq 保存退出
:w! 强制保存
:wq-->:x
2.编辑模式关闭文件
ZZ 保存退出
移动光标
逐字符移动光标
h:左
l:右
j:下
k:上
数字+{h,l,j,k}:移动指定数目个字符
逐单词移动
w:移到下一个单词的词首
e:跳至当前单词词尾或下一个单词词尾
b:跳至当前单词词首或前一个单词词首
数字+{w,e,b}:数字组合
行内跳转
0:跳到绝对行首
^:跳到非空白字符行首
$:绝对行尾
行家跳转
#G:直接跳转至#行
G:跳转至最后一行
末行模式下直接给行号即可
翻屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
删除单个字符
x:删除光标所在处单个字符
#x:删除光标所在处及向后的共#个字符
删除命令:d
d命令跟跳转命令组合使用
dd;删除当前光标所在行
#dd:删除#行
末行模式下:
StartADD,EndADDd 从开始行删除到结束行
.:表示当前行
$:最后一行
+#:向下的#行
vim删除的内容会保存在缓存区中,最后一次删除的内容,可以复制到新的地方
粘贴命令
p:如果删除的或复制的为整行内容,则粘贴至光标所在行的下方,如果为非整行,则粘贴至光标所在字符的后面
P:如果删除的或复制的为整行内容,则粘贴至光标所在行的上方,如果为非整行,则粘贴至光标所在字符的前面
复制命令
y 跟d用法相同
修改命令:先删除内容,再转为输入模式
c 跟d用法相同
替换命令
r#:将光标所在单个字符替换成#
R:替换模式,直接替换
撤销编辑操作
u:撤销前一次的操作,连续u,撤销前n次操作
#u:直接撤销最近#编辑操作
撤销撤销
Ctrl + r:撤销刚才撤销的操作
重复前一次操作
.
可视化模式
v:按字符选取
V:按矩形块操作
查找
/PATTERN
?PATTERN
n
N
查找并替换替换
在末行模式下使用s命令
使用vim编辑多个文件
vim file1 file2 ......................
退出
:qa 全部退出
分屏显示一个文件
ctrl+w s:水平拆分
ctrl+w v:垂直拆分
ctrl+w+上下箭头,切换窗口
分窗口编辑多个文件
vim -o:水平分割显示
vim -O:垂直分割显示
将当前文件中部分内容另存为另外一个文件
末行模式下用w命令
:w
:addr1,addr2w /path/to/somewhere
跟shell交互
:! COMMAND
显示或取消行号
:set nu
:set nonu