1.跳到本地变量
的定义处
gd
2.
跳到全局变量的定义处
gD
跳转到某个文件内 gf
3.
查询光标所在的词:
在
normal
模式下,用
*
或
#
可以在当前文件中查询光标所在的词,
*
表示从当前光标向后查,
#
表示向前查
在
insert
模式下,用
ctrl-p
或者
ctrl-n
可以实现自动补全,连续按可以循环补全为匹配的字符串,使用
ctrl-x ctrl-l
可以插入匹配的一整行
(:help ins-completion)
4.将下一行移动到当前行的末尾
在
normal
模式下,按
J
将下一行移动到当前行的末尾
5.跳转到某个
tag
用
Ctrl+],
再跳回来用
Ctrl+t
.
如果一次有可能有多个
tag
都匹配
(
例如
java
中的父子继承关系
)
则可以使用
g]
调出匹配列表,然后选择
r 替换当前字符;
8. 排版
== 排版当前行
=a{ 排版{}内的行
gg=G排版全文
g=12排版从当前行到以下12行
>3> 可以让光标下的三行右移一个缩进;
9.跳转:
跳到开关处的17行;
17gg 跳到第17行;
6.分隔窗口:
:split file.c
7.在窗口间切换
:ctrl + w
8.使用ctags
:ctags *.c
为当前文件重头CTAGS标记
:tag 函数名
转到相应函数处
快捷键:CTRL + ] (光标放在相应的函数上),返回CTRL+ T
会话和VIMINFO的作用:
会话能保存很我信息,但是不包括标记,寄存器和命令历史记录。要用这些东西还得靠VIMINFO;
使用VIMINFO:
:wviminfo! ~/.vim/secret.viminfo 保存
:rviminfo! ~/.vim/secret.viminfo 再次启动会话时,载入这些配置
设置要保存的项目,格式:
:set viminfo=string
其中string指代你要保存的东西,语法是一个选项字符跟一个参数,每一对之间用逗号分开;
1. ‘ 选项表示你要为多少文件保存标记信息,如下示例参数为1000
:set viminfo='1000
2. f选项表示是否保存全局的标记,以0 为参数 表示不保存,以1为参数表示保存
:set viminfo=`1000, f1
3. <选项表示要每个寄存器保存多少行
:set viminfo='1000,f1,<500
其它字符参考手册
使用会话:
:mksession vim.vim 保存保存会话
:source vim.vim 再次启用VIM时,加载会话
切换会话:
:wall 先保存
:mksession! vim.vim 保存会话
:source vim2.vim 加载新会话
设置会话选项:
:set sessionoptions += resize
自动补齐:
mode:
C-p
C-n