如何理解 timeoutlen 和 ttimeoutlen?
:set timeout timeoutlen=3000 ttimeoutlen=100
inoremap jk <esc>
此示例中,插入模式并键入j时,vim将等待timeoutlen毫秒确定是j
还是jk
0, 使用终端命令行 :terminal Ctrl+W w 相互切换 0, 水平打开终端 :vertical terminal 0, 垂直打开终端 :belowright terminal | :bel term
-
多使用
:Te
命令来进行选项卡浏览,normal 下gt
切换选项卡 -
vim -On file1 file2 ...
大写O来垂直分屏,n是数字,表示分成几个屏 -
vim -on file1 file2 ...
小写o来水平分屏 -
Ctrl+W c
关闭当前窗口 -
Ctrl+W q
关闭最后一个窗口退出vim -
Ctrl+W s
上下分割打开的文件 -
:sp filename
上下分割打开新文件 -
Ctrl+W v
左右分割打开的文件 -
:vsp filename
左右分割打开新文件 -
分屏中移动光标
Ctrl+W l|h|k|j|w
-
分屏的移动
Ctrl+W L|H|K|J
-
分屏的尺寸
Ctrl+W =+-
一样高度|增加|减少 -
??
:He[!]
在下边[上边]分屏浏览目录 -
??
:Ve[!]
在左边[右边]分屏浏览目录 -
:set scb[!]
两个屏中都命令后即可[取消]同步移动 set scrollbind -
:Te
分页式浏览 Tab explorer 标签前面的数字表示那一页打开文件的个数gt
到下一页gT
到上一页{i}gt
到第{i}gttabs
查看打开的窗口和Tab情况tabclose [i]
关闭指定页,如果没有就关闭当前页vim -p cool.cpp shell.cpp haoel.cpp | vim -p *.cpp
-p 参数用Tab页方式打开多个文件bufdo tab split
把 buffer 中的文件全转成 tab 的话 -
:mksession ~/.mysession.vim
保存会话状态 -
vim -S ~/.mysession.vim
打开会话状态 -
:wqa
保存全部并退出全部 -
:make
可以直接根据 makefile 进行编译 -
:cw
可以把 make 出错信息显示到分屏中:cp
跳到上一个错误:cn
跳到下一个错误:cl
列出所有错误:cc
显示错误详细信息 -
:grep -r –include=”*.[ch]” NGX_HTTP_VAR_INDEXED src/
递归查询src目录下.c&.h文件,:cw
取出 -
代码补全
Ctrl+N
Ctrl+P
搜索所在目录的代码Ctrl + X Ctrl + D
宏定义Ctrl + X Ctrl + ]
TagCtrl + X Ctrl + F
文件名Ctrl + X Ctrl + I
关键词(词后有所在文件名标记)Ctrl + X Ctrl + V
表达式Ctrl + X Ctrl + L
整行补全 -
字符相关技巧 guu|Vu 一行变小写 gUU|VU 一行改大写 v 选择文本 u|U 转 小写|大写 ga 光标处字符的 ascii 码 g8 光标处字符的 utf-8 码 gf 打开光标处所指的文件(#include 头文件时好用,仅限于有路径的) *|# 当前文件搜索光标单词
-
缩进相关技巧
|«|=|=% 缩进|反缩进|对齐缩进|缩进代码块 当前行 G=gg || G=gg 缩进整个文件
-
光标移动相关 Ctrl + O 回退你的光标移动 Ctrl + l 追赶光标移动 可以在Tab页和Window中向前和向后 trace 你的光标键也方便跳转光标
-
读取 Shell 命令相关 :r!date 插入日期 :read 的所写,!表示读取一个shell命令运行的输出到vim中
-
vim 的终极插件