1、vim模式:
编辑模式(命令模式)
输入模式
末行模式
2、模式转换:
<1. 编辑--输入
i:在当前光标所在字符的前面,转为输入模式
a:在当前光标所在字符的后面,转为输入模式
o:在当前光标所在行的下方,新建一行,并转为输入模式
I:在当前光标所在行的行首,转为输入模式
A:在当前光标所在行的行尾,转为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式
<2.输入--编辑
ESC键
<3.编辑--末行模式
输入‘:’
set nu 显示行号
<4.末行模式--编辑模式
ESC键
一:打开文件
vim +#:打开文件,并定位于第#行
vim + :打开文件,定位至最后一行
vim +/passent(字符串):打开文件,定位至第一次被pattent匹配到的行的行首
默认处于编辑模式
二:关闭文件
1.末行模式关闭文件
:q 退出
:wq 保存并退出
:!q 不保存并退出,强制退出
:w 保存
:w!强制保存
:wq--》:x 命令相同
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命令跟跳至命令组合使用
#dw #de #db
dd:删除光标所在行
#dd:删除包括当前光标所在行内的#行
末行模式下
首行,末行 dd删除首行和末行的所有行 如:1,5dd
.:表示当前行
$:最后一行
+#:向下的#行
七:粘贴命令
P:如果删除或复制的为正行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面
p:如果删除或复制的为正行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面
八:复制命令
y命令 :用法同d命令
九:修改:先删除内容,在转换为输入模式
c命令:同d命令
十:替换命令
r命令
R:替换模式
十一:撤销编辑操作
u:撤销前一次的编辑操作
连续u命令可撤销此前的n次编辑操作
#u:直接撤销最近#次编辑操作
撤销最近一次撤销:ctrl+r
十二:重复前一次编辑操作
“ . ” 命令
十三:可视化模式
v:按字符选取
V:按矩形块选取
十四:查找
/字符 :从前往后查找
/?字符:从后往前查找
n:往下跳转大小写
N:往上跳转
十五:查找并替换
在末行模式下使用s命令
起始地址,结束地址s/查找字符/替换字符/gi
g:全局替换
i:忽略字符
%:表示全文查找并替换
十六:使用vim编辑多个文件
vim file1 file2
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
退出
:qa退出所有文件,全部退出
十七: 如何分屏显示一个文件
ctrl+w,s:水平拆分窗口
ctrl+w,v:垂直拆分窗口
在窗口间切换光标
ctrl+w,ARROW(上下箭头)
:qa关闭所有窗口
十八:分窗口多个文件
vim -o file1 file2 水平分割显示
vim -O file1 file2 垂直分割显示
十九:将当前文件中的部分内容另存为另外一个文件
末行模式下使用w命令
:起始行,结束行w /path/to/somewhere 另存为目录
二十:将另外一个文件的内容填充在当前文件中
:r file文件路径
二十一:跟shell交互
:!执行命令
二十二:高级话题
1.显示或取消显示行号
:set nu 显示行号
:set nonu取消行号
2.显示忽略或区分字符大小写
:set ic忽略大小写
:set noic 不忽略大小写
3.设定自动缩进
:set ai 自动缩进
:set noai 取消自动缩进
4.查找到的文本显示或者不显示高亮显示
:set hlsearch 设定高亮显示
:set nohlsearch取消高亮显示
5.语法高亮
:syntax on 语法高亮显示
:syntax off 关闭语法高亮显示
二十三:配置文件
/etc/vimrc 全局配置文件
~/.vimrc 局部配置文件用户家目录下
注:vimtutor命令 vim使用教程(系统自带)
本文转自 zhangguangyi 51CTO博客,原文链接:http://blog.51cto.com/bosszhang/1660096