vim编辑器
ASCII
vi:
vim:
全屏,模式化
vim模式:
编辑模式(命令模式)
输入模式
末行模式
模式转换:
编辑-->输入
i,a,o (o:在当前光标所在行的下方,新建一行,并转为输入模式)
I,A,O (行首,行尾,上方新建一行)
输入-->编辑:ESC
编辑-->末行::(冒号) 10,20d(删除);set nu 行号;!ls /etc (外部命令)
一,打开文件
vim +# 光标处在#行
+ 打开文件,定位到最后一行
+/PATTERN :打开文件,定位到指定字符串
二,关闭文件
:q
:wq
:q!
:w
:w!
:wq = :x
编辑模式下退出:ZZ 保存退出
三,移动光标
1.h,l,j,k 左右下上
#h:移动#个字符
2.以单词为单位移动
w:下一个单词词首
e:下一个单词词尾
b:前一个单词词首
3.行内跳转:
0:行首
^:行首的第一个非空白字符
$:绝对行尾
4.行间跳转
#G :跳转至#行
G:最后一行
末行模式下,直接给出行号即可
四,翻屏
Ctrl+f :向下
Ctrl+b :向上
Ctrl+d :向下半屏
Ctrl+u :向上半屏
五,删除单个字符
#x:删除光标所在处的#个字符
六,删除命令:d
#d 组合跳转命令使用
dw,de,db
dd :删除当前光标所在行
#dd:删除包括光标所在内的#行;
末行模式下:STR,END 1,8d
.,+5d ; .,100d
.:表示当前行
$:最后一行
+#:向下的#行
七,粘贴命令 p
p:小写,如果删除或复制为整行内容,则粘贴至光标所在行的下方,非整行则粘贴在光标后方
P:大写,如果删除或复制为整行内容,则粘贴至光标所在行的上方,非整行则粘贴在光标前方
八,复制命令 y
用法同d命令
九,修改:先删除内容,再转换为输入模式,
c:用法同d命令
十,替换单个字符 r
R :替换模式
十一,撤消编辑操作
u: 撤消前一次操作,可连续撤消,50次
#u:直接撤消#次操作
反撤消最近一次操作:Ctrl+r
十二,重复前一次编辑操作
. 点
十三,可视化模式
v:按字符选取
V:按矩形选取
十四,查找
/PATTERN
?PATTERN
n,N 下一个,上一个
十五,查找并替换
在末行模式下使用s命令
ADDR1,[email protected]@[email protected] (i,忽略字符大小写 g,全局模式)
十六,如何打开多个文件
vim File1 file2 file3
:next 切换至下一个文件
:prev 切换至上一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
退出
:qa 全部退出
十七,分屏显示一个文件
Ctrl + w ,s :水平拆分窗口
Ctrl + w ,v :垂直拆分
在窗口间切换光标:
Ctrl + w ,ARROW
:qa 退出全部
十八,分窗口编辑多个文件
vim -o :水平分割
vim -O :垂直分割
十九,将当前文件中部分内容另存为另外一个文件
:w
:ADDR1,ADDR2w /path/to/somewhere
二十,将另外一个文件的内容填充在当前文件中
:r /path/to/somefile
二十一,跟shell交互
:! command
二十二,高级话题
1,显示或取消行号
:set nu 显示行号
:set nonu 取消
2,显示忽略或区分字符大小写
:set ic
:set noic
3,设置自动缩进
:set autoindent
:set ai
:set noai
4,查找到的文本高亮显示或取消
:set hlsearch
:set nohlsearch
5,语法高亮
:syntax on
:syntax off
二十三,配置文件
/etc/vimrc 全局模式
~./vimrc 用户配置
vimtutor 练习
vim -r 恢复上次末保存
rm -f .file.swp