打开文件:
vim +# PAHTFILE:打开文件后,直接让光标处于第#行的行首
vim +/PATTERN :打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
模式转换:
编辑模式:默认模式
编辑模式-->输入模式:
i : insert,在光标所在处输入
a : append,在光标所在处后面输入
o : 在光标所在处下方打开的一个新行
I : 在光标所在行的行首输入
A : 在光标所在行的行尾输入
O : 在光标所在处的上方打开一个新行输入
输入模式-->编辑模式 ESC
关闭文件:
ZZ :保存并退出
:wq 保存并退出
: x 保存并退出
: w PATHFILE :保存退出到PATHFILE文件中
光标的跳转:
h: 左 j: 下 k: 上 l: 右
单词间的跳转:
w: 下一个单词的词首
e: 当前或后一个单词的词尾
b: 当前或前一个单词的词首
#COMMAND :跳转由#指定的个数的单词
行首行尾跳转
^ :跳转至行首的第一个非空白字符
0: 跳转至行首
$ : 跳转至行尾
行间跳转
#G : 跳转至由# 指定的行
1G,gg :跳转第一行
G : 跳转最后一行
句间跳转:
)
(
短间跳转:
{
}
翻屏:
ctrl+f:向文件尾部翻一屏
ctrl+b: 向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u :向文件首部翻半屏
Enter : 按行向后翻
vim 编辑命令:
字符编辑:
x: 删除光标所在处的字符
#x: 删除光标所在处起始的#个字符
xp:交换光标所在处的字符与其后面的字符的位置
替换命令: r CHAR :替换光标所在处的字符
删除命令:
d:删除命令,可结合光标跳转字符,实现范围删除
dd:删除光标所在行的一整行
#dd :删除光标所在行起始地#行
粘贴命令(put,p,paste):
p:缓存区中的内容为整行,则粘贴在当前光标所在行的下方,否则,粘贴至当前光标所在处的后方
P:缓存区中的内容为整行,则粘贴在当前光标所在行的上方,否则,粘贴至当前光标所在处的前方
复制命令 (yank,y)
y:复制,工作行为类似d命令
改变命令(change,c):编辑模式-->输入模式,实现删除操作
可视化模式:
v:按字符选定
V:按行选定
结合编辑命令使用:d,c,y
撤销(undo)命令:
u: 撤销此前的操作
#u: 撤销此前的#个操作
Ctrl+r : 恢复此前的撤销操作
重复执行前一个编辑操作: .
vim末行模式:内建的命令行接口
1.地址定界
:start_post [,end_post]
#:特定的第#行,例如第六既第六行
#,# :指定范围行
. : 当前行
#,+#:左侧为起始行,右侧为偏移量
$ : 表示最后一行
% :表示全文
/pattern/ :从光标所在处开始 第一次被模式所匹配的行
2.查找:
/PATTERN: 从当前光标到文件尾部查找匹配的字符串
?PATTERN: 从当前光标到文件首部查找匹配的字符串
n:下一个。与命令方向相同
N:上一个,与命令方向相反
3. 查找并替换
s: 末行模式的命令:
s/要查找的内容/替换为的内容/修饰符
要查找的内容可以使用正则表达式
替换内容不能使用正则表达式,但可以引用
修饰符:
i:忽略大小写
g:全局替换,意味着一行中如果匹配多次,全部替换
可把分隔符替换为其他非常用字符
s@@@
s###
vim多文件功能
在文件切换:
netx
prev
first
last
退出保存所有文件: wqall
多窗口
-o : 水平分割窗口
-O : 垂直分割窗口
在窗口见切换 ctrl+w,方向键
注意:单个文件也可以分割多个窗口
ctrl+w,s水平分割
ctrl+w,v 垂直分割
定制vim的工作特性
注意:在末行模式下的设定,只对当前的vim进程有效
永久保存需要写在配置文件
全局:/etc/vimrc
用户:~/.vimrc
1,行号
显示:set number,简写为:set nu
取消显示:set nomber,setno
2.括号匹配高亮显示:(可能已经默认开启)
开启:set showmatch,set sm
关闭:set nosm
3.自动缩进
开启:set ai
关闭:set noai
4.高亮搜索结果
开启:set hlsearch
关闭:set nohlsearch
5.语法高亮:
开启: syntax on
关闭: syntax off
6.忽略字符大小写
启用:set ic
关闭: set noic