vi 编辑器 (vim 增强版)
一、vim模式
编辑模式(命令模式)
输入模式
末行模式
打开文件时默认处于编辑模式
模式转换
编辑模式-->输入模式
i:在当前光标所在文字的前面转换为输入模式
a:在。。。。。。。。。后面。。。。。。。
o:在。。。。。。行的下方新建一行并转为输入模式
O:在。。。。。。。。上方。。。。。。。。。。。
I:在。。。。。。行的行首转换为。。。
A:。。。。。。。。。。尾。。。。。。
输入模式-->编辑模式
ESC
编辑模式-->末行模式
:
末行模式-->编辑模式
ESC
二、打开编辑器
vim /path/file 打开或创建一个新文件
vim +n file 可以指定打开后光标直接到第n行
vim + filr 可以指定打开文件后光标直接到最后一行
vim +/pattern 打开文件光标直接到被模式匹配到的第一个的行上
三、关闭编辑器
末行模式下关闭文件:
:q 不保存退出
:wq 保存并退出(也可以用:x)
:q! 不保存强制退出
编辑模式下退出
ZZ 保存退出
四、移动光标
1、逐字移动
h:左
l:右
j:下
k:上
前面加数字可以指定移动数
2、以单词为单位移动
w:移动至下一个单词的词首
e:跳至本单词或下一单词的词尾
b:跳转到当前或前一单词的词首
前面也可以指定移动数
3、行内跳转
0 : 跳到行首 (绝对行首)
^ : 跳到行首 (行首的第一个空白字符)
$ : 绝对行尾
4、行间条转
#G:跳至第#行
G :最后一行
末行模式下,直接给出行号即可
五、翻屏
Ctrl+f 向下翻一屏
Ctrl+b 向上翻一屏
Ctrl+d 向下翻半屏
Ctrl+u 向上翻半屏
六、编辑
x和del键 删除光标所在处及向后的字符
(5x 一次删5个)
d 跳转符:
d$ 从光标删到行尾
d0 从光标删到行首
(# d跳转符 )
末行模式下:
.:表示当前行
$:最后一行
+#:向下的$行
startLine,endLine dd
七、粘贴
p:如果删除或复制的为整行内容,则粘贴在所在行下放 如果复制或删除的内容非整行,则粘贴在光标所在位置后方
P:如果删除或复制的为整行内容,则粘贴在所在行上放 如果复制或删除的内容非整行,则粘贴在光标所在位置前方
八、复制 y
用法和d用法相同
九、修改 先删除内容,再转换为输入模式
c:用法同d 但是删完后立刻到编辑模式
十、替换
r:替换当前光标下字符
R:直接进入替换模式
十一、撤销
编辑模式下按u (缓存中指只会保存最近50次)
撤销刚才的撤销ctrl+r
十二、重复前一次的编辑操作
.
十三、可视化模式
v : 按字符选取
V : 按矩形选择
十四、查找
/pattern 向下查找
?pattern 向上查找
n下一个 N 上一个
十五、查找并替换
在末行模式下使用s命令
和sed中的s替换一样
起始位置,结束位置s/pattern/string/gi
1,$ 第一行到最后一行
% 表示全文
例: %s/ftp/ftpx/g
十六、如何打开多个文件
vim file1 file2
可以同时打开多个文件,但只会默认显示第一个文件
末行模式下:
next 切换到下一文件
prev 切换到前一个文件
last 切换到最后一个文件
first 切换到第一个文件
退出:
qall退出所有文件
分屏显示多个文件
vim -o file1 file2 水平分割显示
vim -O file1 file2 垂直分割显示
十七、分屏显示一个文件
ctrl+w , s : 水平拆分 得到两个窗口
ctrl + w , ↓光标切换到下一窗口
ctrl + w . ↑光标切换到上一窗口
ctrl+w , v : 垂直分割窗口
ctrl + w , →光标切换到右一窗口
ctrl + w . ←光标切换到上一窗口
十八、将当前文件部分内容另存为另一文件
末行模式下
:w /path/file
:ADDR1,ADDR2w /path/file 将某些行另存到某文件
十九、将另一文件的内容填充到当前文件
末行模式
:r /path/file 将某文件内容填充到当前光标位置
二十、末行模式执行shell
:! COMLAND
回车就可以返回文件
二十一、高级话题
1、显示或取消行号
:set nu 显示行号
:set nonu 取消行号
2、设置忽略或区分大小写
:set ignorecase 忽略大小写(set ic)
:set noignorecase区分大小写
3、设定自动缩进
:set autoindent 设定自动缩进(set ai)
:set noautoindent 取消自动缩进(set noai)
4、查找到的文本高亮显示或取消高亮显示
:set hlsearch 高亮搜索到的文本
:set nohlsearch 取消高亮搜索到的文本
5、语法高亮
:syntax on 开启
:syntax off 关闭
二十二、配置文件
/etc/vimrc 全局
~/.vimrc 用户配置
二三、非法退出
非法退出会产生 ***.swp文件
vim -r file 恢复之前未保存内容并打开,修改完后删除***.swp文件
vimtutor vim学习指南