首页 > 代码库 > vim 简介
vim 简介
Virtual Interface
VI iMproved
vim模式:
1. 命令模式
2. 输入模式
3. 末行模式
模式转换
编辑-->输入
i : 在当前光标所在字符的前面,转为输入模式
a : 在当前光标所在字符的后面,转为输入模式
o : 在当前光标所在行的下方,新建一行,并转为输入模式
I : 在当前光标所在字符的行首,转位输入模式
A : 在当前光标所在字符的行尾,转位输入模式
O : 在当前光标所在行的上方,新建一行,并转为输入模式
打开文件
vim +# :打开文件,并定位到第#行
vim +:打开文件,并定位到最后一行
vim +/PATTERN : 打开文件,并定位到第一次被PATTERN匹配到的行的行首
关闭文件:
:q 退出
:w 保存
:wq 保存退出
:x 保存退出
:q! 强制不保存退出
:wq! 强制保存退出
:x! 强制保存退出
insert模式下,ZZ :保存退出
移动光标:
1.逐字符移动
h: 左
l:右
j:下
k:上
#h:移动#个字符
2.按单词移动
w:移至下一个单词的词首
e:跳至当前或下一个单词的词尾
b:跳至当前或前一个单词的词首
#w:一致性跳#个单词
3.行内跳转
0:跳至行首(绝对行首)
^:行首的第一个非空白字符
$:绝对行尾
4. 行间跳转
#G:跳转至第#行
G:最后一行
M:本屏中间一行
H:本屏第一行
末行模式下,直接给出行号即可
翻屏
ctrl+f:向下翻一屏
ctrl+b:向上翻一屏
ctrl+d:向下翻半屏
ctrl+u:向上翻半屏
删除但个字符
x:删除光标所在处的但个字符
#x:删除光标所在处之后的#个字符
删除命令:d
d命令跟跳转符命令组合使用
#d跳转符:#dw,#de,#db
dd:删除光标所在行
#dd:删除当前光标所在行内以下#行
末行模式下:StartADD,EndADD
m,nd:删除m到n行
.:表示当前行
$:最后一行
+=:向下的#行
粘贴命令p
p:如果删除的或复制的为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴到光标所在行的后面
P:如果删除的或复制的为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴到光标所在行的前面
复制命令y
用法同d命令
修改:先删除内容,再转换为输入模式
c:用法同d命令
替换:r
r:替换单个字符
R:进入替换模式
撤销编辑操作:u
u:撤销前一次的编辑操作,连续u命令可撤销此前n次操作
#u:撤销最近#次编辑操作
撤销最近一次撤销操作
ctrl+r
重复前一次的编辑操作
.:重复前一次操作
可视化模式
v:按字符选取,移动光标选中光标经过的字符,按d删除选中的字符,按y复制
V:按整行选取
查找
/Strings:从前向后查找匹配的字符串
?Strings:从后向前查找匹配的字符串
n:向下跳转查找到的字符
N:向上跳转查找到的字符
查找并替换
在末行模式下使用s命令
ADDR1,ADDR2|%s/PATTERN/String/gi
ADDR1,ADDR2:地址范围
PATTERN:查找内容
string:替换成的内容
g:全局替换,不加g替换查找到的第一个字符串
i:忽略大小写
%:表示全文
/:分隔符,可以使用其他符号
vim编辑多个文件
vim file1 file2 file3
:next 切换至下一个文件,可使用n替换
:prev 切换至前一个文件,可使用N替换
:last 切换至最后一个文件
:first 切换至第一个文件
退出
:qa 全部退出
分屏显示文件
ctrl+w,s水平拆分窗口
ctrl+w,v 垂直分割窗口
在窗口间切换光标
ctrl+w,上下左右箭头
退出
:qa 关闭所有窗口
分窗口编辑多个文件
vim -o :水平分割显示
vim -O:垂直分割显示
将当前文件的部分内容另存为另一个文件
末行模式下使用w命令
:ADDR1,ADDR2w /path/to/somewhere
将另外一个文件的内容填充在当前文件中,合并两个文件
:r /path/to/somewhere
跟shell交互
:! COMMAND
高级话题
显示获取消显示行号
显示
:set nu[mber]
取消
:set nonu[mber]
忽略大小写
:set ignorecase
:set ic
不忽略大小写
:set noignorecase
:set noic
设定自动缩进
:set autoindent
:set ai
取消自动缩进
:set noautoindent
:set noai
高亮显示查找到的文本(默认)
:set hlsearch
取消高亮显示查找到的文本
:set nohlsearch
语法高亮
:syntax on
关闭语法高亮
:syntax off
配置文件
全局级别
/etc/vimrc
用户级别的
~/.vimrc
vim导师
vimtutor
vim 简介