Vim2

如何理解 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

  1. 多使用 :Te 命令来进行选项卡浏览,normal 下 gt 切换选项卡

  2. vim -On file1 file2 ... 大写O来垂直分屏,n是数字,表示分成几个屏

  3. vim -on file1 file2 ... 小写o来水平分屏

  4. Ctrl+W c 关闭当前窗口

  5. Ctrl+W q 关闭最后一个窗口退出vim

  6. Ctrl+W s 上下分割打开的文件

  7. :sp filename 上下分割打开新文件

  8. Ctrl+W v 左右分割打开的文件

  9. :vsp filename 左右分割打开新文件

  10. 分屏中移动光标Ctrl+W l|h|k|j|w

  11. 分屏的移动Ctrl+W L|H|K|J

  12. 分屏的尺寸Ctrl+W =+- 一样高度|增加|减少

  13. ?? :He[!] 在下边[上边]分屏浏览目录

  14. ?? :Ve[!] 在左边[右边]分屏浏览目录

  15. :set scb[!] 两个屏中都命令后即可[取消]同步移动 set scrollbind

  16. :Te 分页式浏览 Tab explorer 标签前面的数字表示那一页打开文件的个数 gt 到下一页 gT 到上一页 {i}gt 到第{i}gt tabs 查看打开的窗口和Tab情况 tabclose [i] 关闭指定页,如果没有就关闭当前页 vim -p cool.cpp shell.cpp haoel.cpp | vim -p *.cpp -p 参数用Tab页方式打开多个文件 bufdo tab split 把 buffer 中的文件全转成 tab 的话

  17. :mksession ~/.mysession.vim 保存会话状态

  18. vim -S ~/.mysession.vim 打开会话状态

  19. :wqa 保存全部并退出全部

  20. :make 可以直接根据 makefile 进行编译

  21. :cw 可以把 make 出错信息显示到分屏中 :cp 跳到上一个错误 :cn 跳到下一个错误 :cl 列出所有错误 :cc 显示错误详细信息

  22. :grep -r –include=”*.[ch]” NGX_HTTP_VAR_INDEXED src/ 递归查询src目录下.c&.h文件,:cw取出

  23. 代码补全 Ctrl+N Ctrl+P 搜索所在目录的代码 Ctrl + X Ctrl + D 宏定义 Ctrl + X Ctrl + ] Tag Ctrl + X Ctrl + F 文件名 Ctrl + X Ctrl + I 关键词(词后有所在文件名标记) Ctrl + X Ctrl + V 表达式 Ctrl + X Ctrl + L 整行补全

  24. 字符相关技巧 guu|Vu 一行变小写 gUU|VU 一行改大写 v 选择文本 u|U 转 小写|大写 ga 光标处字符的 ascii 码 g8 光标处字符的 utf-8 码 gf 打开光标处所指的文件(#include 头文件时好用,仅限于有路径的) *|# 当前文件搜索光标单词

  25. 缩进相关技巧

    |«|=|=% 缩进|反缩进|对齐缩进|缩进代码块 当前行 G=gg || G=gg 缩进整个文件

  26. 光标移动相关 Ctrl + O 回退你的光标移动 Ctrl + l 追赶光标移动 可以在Tab页和Window中向前和向后 trace 你的光标键也方便跳转光标

  27. 读取 Shell 命令相关 :r!date 插入日期 :read 的所写,!表示读取一个shell命令运行的输出到vim中

  28. vim 的终极插件