1.折叠
1.1折叠的方式有六种
manual:以标准的vim结构定义折叠跨越的范围,类似移动命令
indent:折叠与折叠的层次,对应于文本的缩排与shiftwidth选项值
expr:以正则表达式定义折叠
syntax:折叠对应于文件所用的程序语言语义
diff:以两个文件的差异定义折叠
marker:以文件定义的标记指定折叠边界
1.2折叠命令
所有的折叠相关命令都以“z”开始,常用折叠命令如下:
zA:递归切换折叠状态
zC:递归关闭折叠状态
zD:递归删除折叠
zE:去除所有折叠
zf:创建折叠(只计算看得见的行)
countzF:创建包含count行的折叠(只计算看得见的行)
zM:设置foldlevel选项为0
zN,zn:设置(zN)或复位(zn)foldenable选项
zo:递归打开折叠
za:切换一个折叠的状态
zc:关闭一个折叠
zd:删除一个折叠
zi:切换foldenable选项的值
zk,zj:移动光标到下一个折叠开始的地方或相反方向
zm,zr:递减或递增foldlevel选项的值
zo:打开一个折叠
zM:递归关闭所有折叠
zR:递归打开所有折叠
1.3常用折叠设置
:set foldcolumn=n :设置折叠状态列宽度(左边框)
:set foldmethod=(六种方式的任意一种):设置折叠模式
:set foldlevel=n :设置显示的折叠层次,小余等于n的将被显示
1.4对于折叠的操作都是对折叠内的所有内容生效
2.自动智慧缩排
:set cindent #标准c缩进,可自定义触发缩进的关键字和缩进风格
3.关键字不全
多种补全模式
• Whole line
• Current file keywords
• dictionary option keywords
• thesaurus option keywords
• Current and included file keywords
• Tags (as in ctags)
• Filenames
• Macros
• Vim command line
• User-defined
• Omni
• Spelling suggestions
• complete option keywords
除了complete所有的补全都先按 ctrl+x 然后ctrl+代表补全模式的字母(F补全文件名)
ctrl+n,ctrl+p查询其他匹配
ctrl+e 取消匹配补全
ctrl+x,ctrl+l整行补全
ctrl+x,ctrl+k 关键字补全,关键字文件和选项需要自己定义
• /usr/dict/words (Cygwin on XP)
• /usr/share/dict/words (FreeBSD)
• $HOME/.mydict (personal list of dictionary words)
":set dictionary=~/.mydict"b
ctrl+x,ctrl+t 词库补全,词库文件和和选项要自己设置
eg:词库文件 ~/mymythesaurus
设置选项":set thesaurus=~/.mythesaurus"
词库中的一行可以设置许多相关的词,这一行中任何词的头部都将匹配出该行所有其他的词
ctrl+x,ctrl+I 当前文件及当前文件包含文件中去匹配,包含文件已标准c语法指出(#include<some.h> #include"some.h"),vim将根据语法查找标准头文件及用户头文件
ctrl+x,ctrl+] 标签匹配
ctrl+x,ctrl+f 文件名补全
ctrl+x,ctrl+v vim命令补全
ctrl+x,ctrl+d 宏补全
标签
":tag /pattern" //查找匹配正则表达式的所有tag
":ts /pattern" //查找匹配正则表达式的所有tag
语法高亮显示
"syntax enable" //打开语法高亮显示
"syntax on" //打开语法高亮显示
":set syntax=sh" //以shell脚本的语法格式显示文件内容
三个调整颜色的选项
"set background ?"
"set colorscheme ?"
":highlight comment" //高亮显示注释
编译快速修复窗口
":cw","cn","cp"
"makeprg" //make 或compile程序的名称和选项
"colder","cnewer" //现在最旧的10个错误,或最新的10个错误
"errorformat" //设置匹配错误的格式
编辑二进制文件
"vim -b filename" 或者 "set binary"
远程编辑
$ vim scp://ehannah@mozart:122/.vimrc
在目录项上按D,删除该文件
转换为HTML
":TOhtml"