vim编辑器
文本编辑器,字处理器ASCII
全屏编辑器,模式化编辑器
vim模式
编辑模式(命令模式)
输入模式
末行模式
模式转换:
编辑-->输入
i:在当前光标所有字符的前面,转换为输入模式
a:在当前光标所有字符的后面,转换为输入模式
o:在当前光标所在行的下方,新建一行,并转换为输入模式
I:在当前光标所有字符的行首,转换为输入模式
A:在当前光标所有字符的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转换为输入模式
输入-->编辑:Esc
编辑-->末行::
末行-->编辑:Esc
一、打开文件
# vim /path/to/somfile(必须有主目录)
文件存在:编辑内容;不存在,就创建此文件并编辑内容
vim +#:打开文件,并定位于第#行
vim +:打开文件,定位于最后一行
vim /PATTERN:打开文件,定位至第一次被PATTERN匹配的行
二、关闭文件
1.末行模式下
:q 退出
:wq 保存并退出=:c
:q!不保存并退出
:w保存
:w!强行保存
2.编辑模式下
zz:保存并退出
三、移动光标(编辑模式)
1.逐字符移动
h:向左
l:向右
j:向下
k:向上
#h:移动#个字符
2.一单词为单位移到
w:移到下一个单词的词首
e:调到当前或下一个单词的词尾
b: 调到当前或前一个单词的词首
#w:移到#个单词的词首
3.行内跳转
0:绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾
4.行间跳转
#G:跳转到第#行
G:最后一行
末行模式下,直接给出行号即可
四、翻屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
五、删除单个字符
x:删除光标所在处的单个字符
#x:删除光标所在处及向后的共#个字符
六、删除命令:d
d命令跟跳转命令组合使用
#d跳转符:删除跳转符指定范围的#号个
#dw, #de, #db
dd:删除当前光标所在行
#dd:删除当前光标所在行在内的#行
d$:删除当前光标到行尾的内容
d0:删除当前光标到行首的内容
末行模式下:
起始行,结束行
.:表示当前行
$:最后一行
$-1:倒二行
+#:向下的#行
七、粘贴命令
小p:如果删除或复制为整行内容,则粘贴至光标所在行的下方
如果不是整行,则粘贴至光标所在字符的后面
大P:如果删除或复制为整行内容,则粘贴至光标所在行的上方
如果不是整行,则粘贴至光标所在字符的前面
八、复制命令:y
用法同d命令
y命令跟跳转命令组合使用
#y跳转符:复制跳转符指定范围的#号个
#dw, #de, #db
yy:复制当前光标所在行
#yy:复制当前光标所在行在内的#行
y$:复制当前光标到行尾的内容
九、修改:先删除内容,再转换为输入模式
用法同d
c命令跟跳转命令组合使用
#c跳转符:删除跳转符指定范围的#号个
#cw, #ce, #cb
cc:修改当前光标所在行
#cc:修改当前光标所在行在内的#行
c$:修改当前光标到行尾的内容
十、替换
#r:替换后面#个字符
十一、撤销编辑操作 u
u:撤销前一次的编辑操作
连续u条命令可撤销此前的n次编辑操作
#u:直接撤销最近#次命令(最多50次)
还原最近一次撤销操作Ctrl+r
十二、重复前一次的编辑操作:.
十三、可视化模式
v:按字符选取
V:按矩形选取
十四、查找
/PATTERN
?PATTERN:从当前光标所在行向文件首部倒着找
-n上一个
-N下一个
十五、查找并替换
在末行模式下使用s命令
ADDR1,ADDR2 [email protected]@string
/pattrnl/,/pattern2/
第一次被pattrn1匹配到的行开始,到第一次被pattrn2匹配到的行结束,这中间的所有行
s /pattern/string/修饰符:查找pattern(可用正则表达式)并替换成string
(默认只替换每行中第一次被模式匹配到的字符串)
g:全局替换
i:查找时忽略大小写
十六、使用vim编辑多个文件:
vim FILE1 FILE2 FILE3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
:qa 退出全部文件
十七、分屏显示一个文件
ctrl+w后按s:水平拆分窗口
ctrl+w后按v:垂直拆分窗口
在窗口件切换光标:
ctrl+w后按ARROW(左右箭头):切换左右边窗口
:qa 关闭所有窗口
十八、分窗口编辑多个文件
vim -o:水平分割显示
vim -O:垂直分割显示
十九、将当前文件中部分内容另存为另外一个文件
:w 末行模式下使用w命令
:ADDR1,ADDR2w /path/to/somewhere:保存到指定文件
二十、将另外一个文件填充到当前文件中
:r /path/to/somefile
二十一、跟shell交互
:!COMMAND 回到屏幕前执行命令(查看文件eg:ls xx. enter回来vim编辑下)
二十二、高级话题
1.显示或取消显示行号
:set number 显示行号
:set nu 显示行号
:set nonu 不显示行号
2.显示忽略或区分字符大小写
:set ignorecase
:set ic
:set noignorecase
3.设定自动缩进
:set autoindent
:set ai
:set noai
4.查找到的文本高达这显示或取消
:set hlsearch
:set nohlsearch