JiaHe's Blog

读万卷书,行万里路

Vim配置大全

选项配置说明

选项书写格式选项说明
:se[t]显示所有被改动的选项
:se[t] all显示所有非 termcap 选项
:se[t] termcap显示所有 termcap 选项
:se[t] {option}置位布尔选项(开启) 显示字符串或数值选项
:se[t] no{option}复位布尔选项(关闭)
:se[t] inv{option}逆转布尔选项的值
:se[t] {option}={value}将 {value} 附加到字符串选项里, {value} 加到数值选项上
:se[t] {option}+={value}将 {value} 附加到字符串选项里, {value} 加到数值选项上
:se[t] {option}-={value}从 {value} 从字符串选项里删除 ,数值选项里减去
:se[t] {option}?显示 {option} 的值
:se[t] {option}&重置 {option} 为其缺省值
:setl[ocal]同 ":set" ,但对局部选项只设定局部值
:setg[lobal]同 ":set" ,但对局部选项设定其全局值
:fix[del]根据 't_kb' 的值设置 't_kD'
:opt[ions]打开一个新窗口,用来参看并设置选项,选项们以功能分组,有单行的解释,并有指向帮助的链接

各选项的简短说明

A

选项全称选项简称选项说明
alephalAleph 字母(希伯来语) 的 ASCII 代码
allowrevinsari允许插入和命令行模式的 CTRL-_
altkeymapakm缺省的第二语言(波斯语/希伯来语)
ambiwidthambw如何处理有多种宽度的 Unicode 字符
antialiasantiMac OS X:用平滑反锯齿的字体
autochdiracd根据当前窗口的文件切换目录
arabicarab使用阿拉伯语为缺省的第二语言
arabicshapearshape阿拉伯语的字型重整
autoindentai根据上一行决定新行的缩进
autoreadar有 Vim 之外的改动时自动重读文件
autowriteaw有改动时自动回写文件
autowriteallawa类似于 'autowrite' ,但适用于更多命令

B

选项全称选项简称选项说明
backgroundbg"dark" 或 "light" ,用于色彩的高亮
backspacebs在一行开关按退格键如何处理
backupbk覆盖文件时保留备份文件
backupcopybkc文件备份使用复制而不是换名
backupdirbdir备份文件使用的目录列表
backupextbex备份文件使用的扩展名
backupskipbsk匹配这些模式的文件不予备份
balloondelaybdlay弹出气泡之前的延迟(以毫秒计)
balloonevalbeval打开气泡表达式求值功能
balloonexprbexpr计算气泡显示内容的表达式
binarybin二进制方式读/写/编辑文件
bioskeybioskMS-DOS :用 bios 调用取得字符输入
bomb文件头附加字节顺序标记(Byte Order Mark)
breakatbrk可以在此断行的字符
brosedirbsdir开始浏览文件的目录
bufhiddenbh缓冲区不再在窗口显示时的行为
buflistedbl缓冲区是否显示在缓冲区列表中
buftypebt缓冲区的特殊类型

C

选项全称选项简称选项说明
casemapcmp指定字母大小写如何改变
cdpathcd":cd" 搜索的目录列表
cedit打开命令行窗口的键
charconvertccv完成字符编码转换的表达式
cindentcin实现 C 程序的缩进
cinkeyscink设置 'cindent' 时启动缩进的键
cinoptionscino设置 'cindent' 时如何缩进
cinwordscinw'si' 和 'cin' 在这些词后加入额外的缩进
clipboardcb使用剪贴板作为无名的寄存器
cmdheightch命令行使用的行数
cmdwinheightcwh命令行窗口的高度
colorcolumncc高亮指定列
columnsco显示屏幕的列数
commentscom可以开始注释行的模式
commentstringcms注释的样板:用于折叠的标志
compatiblecp尽可能做到与 Vi 兼容
completecpt指定插入模式的自动补全如何工作
completefunccfu插入模式补全使用函数
completeoptcot插入模式补全使用的选项
concealcursorcocu是否隐藏光标所有行的可隐藏文本
conceallevelcole是否显示可隐藏文本
confirmcf询问如何处理未保存/只读的文件
conskeyconsk直接从控制台读入键击(只限于 MS-DOS)
copyindentci使得 'autoindent' 使用已有的缩进结构
cpoptionscpo设定 Vi-兼容的行为
cryptmethodcm文件写入时所用的加密方法
cscopepathcompcspc显示路径多少部分
cscopeprgcsprg执行 cscope 的命令
cscopequickfixcsqf用 quickfix 窗口得到 cscope 的结果
cscoperelativecsre用 cscope.out 路径目录名作为前缀
cscopetagcst用 cscope 处理标签命令
cscopetagordercsto决定 ":cstag" 的搜索顺序
cscopeverbosecsverb增加 cscope 数据库时给出消息
cursorbindcrb光标移动时同时在其他窗口移动
sursorcolumncuc高亮光标所在屏幕列
cursorlinecul高亮光标所在屏幕行

D

选项全称选项简称选项说明
debug设为 "msg" 可以看到所有错误消息
definedef查找宏定义所使用的模式
delcombinedeco在单独使用时删除组合用字符
dictionarydict关键字自动补全所用的文件名
diff当前窗口使用 diff 模式
diffexprdex得到 diff 文件所用的表达式
diffoptdip使用 diff 模式的选项
digraphdg允许插入模式时输入二合字母
directorydir交换文件所用的目录名列表
displaydy如何显示文本的标志位列表

E

选项全称选项简称选项说明
eadirectionead'equalalways' 工作的方向
edcompatibleed切换 ":subsitute" 命令的标志位
encodingenc内部使用的编码方式
endoflineeol文件最后一行写入换行符 <EOL>
equalalwaysea自动使所有窗口大小相同
equalprgep"=" 命令使用的外部命令
errorbellseb有错误信息时响铃
errorfileefQuickFix 模式的错误文件名
errorformatefm错误文件行格式的描述
esckeysek插入模式下识别功能键
eventignoreei忽略的自动命令事件
expandtabet键入 <Tab> 时使用空格
exrcex在当前目录里读入 .vimrc 和.exrc

F

选项全称选项简称选项说明
fileencodingfenc多字节文本的文件编码
fileencodingsfencs参与自动检测的字符编码
fileformatff文件输入输出使用的格式
fileformatsffs参与自动检测的 'fileformat' 的格式
fileignorecasefic使用文件名时忽略大小写
filetypeft自动命令使用的文件类型
fillcharsfcs显示特殊项目所使用的字符
fkmapfk波斯键盘映射
foldclosefcl当光标离开时关闭折叠
foldcolumnfdc设定指示折叠的列宽度
foldenablefen设置为显示所用打开的折叠
foldexprfde当 'foldmethod' 为 "expr" 时使用的表达式
foldignorefdi当 'foldmethod' 为 "indent" 时忽略的行
foldlevelfdl当折叠级别高于此值时关闭折叠
foldlevelstartfdls开始编辑文件的 'foldlevel'
foldmarkerfmr当 'foldmethod' 为 "marker" 时的标志
foldmethodfdm折叠的类型
foldminlinesfml折叠关闭所需的最少行数
foldnestmaxfdn最大折叠深度
foldopenfdo打开折叠所使用的命令
foldtextfdt显示关闭的折叠所用的表达式
formatlistpatflp识别列表头部的模式
formatoptionsfo自动排版完成的方式
formatprgfp"gq" 命令使用的外部程序
formatexprfex"gp" 命令使用的表达式
fsyncfs文件写回后是否激活 fsync()

G

选项全称选项简称选项说明
gdefaultgd缺省打开 ":substitute" 的 'g' 标志
grepformatgfm'grepprg' 的输出格式
grepprggp":grep" 使用的程序
guicursorgcrGUI: 光标形状和闪烁的设置
guifontgfnGUI: 使用的字体名
guifontsetgfsGUI: 使用的多字节字体名
guifontwidegfw双倍宽度字符的字体名列表
guiheadroomghrGUI: 用于窗口装饰的像素空间
guioptionsgoGUI: 使用的部件和选项
guiptyGUI: ":!" 命令尝试仿终端
guitablabelgtlGUI: 标签页定制的标签
guitabtooltipgttGUI: 标签页定制的工具提示

H

选项全称选项简称选项说明
helpfilehf主帮助文件的完整路径名
helpheighthh新帮助窗口的最小高度
helplanghlg首选帮助语言
hiddenhid`当缓冲区被放弃 (
highlighthl设置若干场合下的高亮模式
hlsearchhls高亮最近的匹配搜索模式
historyhi记住的命令行的行数
hkmaphk希伯来语的键盘映射
hkmapphkp希伯来语的音节 (phonetic) 键盘映射

I

选项全称选项简称选项说明
icon让 Vim 设定窗口图标的文本
iconstringVim 图标文本所用的字符串
ignorecaseic搜索模式时忽略大小写
imactivatekeyimak激活 X 输入方法 (X input method) 的键击
imactivatefuncimaf激活/关闭 X 输入方法的函数
imcmdlineimc开始编辑命令行时使用 IM
imdisableimd任何模式下不使用 IM
iminsertimi插入模式下使用 :lmap 或 IM
imsearchims输入搜索模式时使用 :lmap 或 IM
imstatusfuncimsf获得 X 输入方法的状态的函数
includeinc查找包含文件所使用的模式
includeexprinex处理包含文件行所使用的表达式
incsearchis输入搜索模式时同时高亮部分的匹配
indentexprinde得到一行的缩进位置的表达多
indentkeysindk使用 'indentexpr' 时启动缩进的键
infercaseinf关键字自动补全的匹配调整大小写
insertmodeim开始编辑文件时进入插入模式
isfnameisf文件和路径名可用的字符
isidentisi标识符可用的字符
iskeywordisk关键字可用的字符
isprintisp可显示的字符

J

选项全称选项简称选项说明
joinspacesjs连接命令在句号之后加两个空格

K

选项全称选项简称选项说明
key加密密钥
keymapkmp键盘映射名
keymodelkm允许用键击开始/停止选择
keywordprgkp"K" 命令所使用的程序

L

选项全称选项简称选项说明
langmaplmap其他语言模式用的字母表字符
langmenulm菜单使用的语言
laststatusls当最近的窗口有状态行时提示
lazyredrawlz执行宏时不重画
linebreaklbr在空白处回绕长行
lines显示屏幕的行数
linespacelsp字符之间的像素行数
lisp自动 lisp 缩进
lispwordslw改变 lisp 缩进方式的单词
list显示 <Tab> 和 <EOL>
listcharslcslist 模式下显示用的字符
loadpluginslpl启动时调入插件脚本

M

选项全称选项简称选项说明
macatsuiMac GUI: 使用 ATSUI 文本绘制
magic改变搜索模式所用的特殊字符
makeefmef":make" 所用的错误文件名
makeprgmp":make" 命令所用的程序
matchpairsmps"%" 能匹配的字符对
matchtimemat显示匹配括号的时间 (以十分之一秒计)
maxcombinemco显示的最大组合用字符数
maxfuncdepthmfd用户函数的最大递归深度
maxmapdepthmmd映射的最大递归深度
maxmemmm单个缓冲区可用的最大内存 (以千字节计)
maxmempatternmmp模式匹配使用的最大内存 (以千字节计)
maxmemtotmmt所有缓冲区可用的最大内存 (以千字节计)
menuitemsmis菜单可用的最大项目数
mkspellmemmsm`在
modelineml在文件开头或结尾识别模式行
modelinesmls模式行的检查行数
modifiablema可否修改文本
modifiedmod缓冲区已被修改
more全屏显示时暂停列表
mouse允许使用鼠标
mousefocusmousef键盘焦点追随鼠标点击
mousehidemh输入时隐藏鼠标指针
mousemodelmousem改变鼠标按钮的含义
mouseshapemouses不同模式下改变鼠标指针的形状
mousetimemoukset鼠标双击之间的最大时间
mzquantummzqMzScheme 线程的轮询间隔

N

选项全称选项简称选项说明
nrformatsnfCTRL-A 命令识别的数字格式
numbernu行前显示行号
numberwidthnuw行号使用的列数

O

选项全称选项简称选项说明
omnifuncofu文件类型特定补全使用的函数
opendeviceodevMS-Windows 上允许读/写设备
operatorfuncopfunc`
osfiletypeoft不再支持

P

选项全称选项简称选项说明
paragraphspara分隔段落的 nroff 宏
paste允许粘贴文本
pastetogglept切换 'paste' 的键盘代码
patchexprpex用于给文件打补丁的表达式
patchmodepm保留文件最老的版本
pathpa"gf" 等命令搜索用的目录列表
preserveindentpi重排时保持原有的缩进结构
previewheightpvh预览窗口的高度
previewwindowpvw标识预览窗口
printdevicepdev用于 :hardcopy 的打印机名
printencodingpenc用于打印的编码方式
printexprpexpr用于 :hardcopy 打印 PostScript 的表达式
printfontpfn用于 :hardcopy 的字体名
printheaderpheader用于 :hardcopy 的页眉格式
printmbcharsetpmbcs用于 :hardcopy 的 CJK 字符集
printmbfontpmbfn用于 :hardcopy 的 CJK 输出的字体名
printoptionspopt控制 :hardcopy 输出格式
pumheightph弹出窗口的最大高度

Q

选项全称选项简称选项说明
quoteescapeqe字符串里使用的转义字符

R

选项全称选项简称选项说明
readonlyro禁止写入缓冲区
redrawtimerdt`'hlsearch' 和
regexpenginere使用的缺省正规表达式引擎
relativenumberrnu每行前显示相对行号
remap允许映射可以递归调用
report报告行改变的行数下限
restorescreenrsWin32: 退出时恢复屏幕
revinsri字符插入会反向进行
rightleftrl窗口为从右到左模式
rightleftcmdrlc从右到左模式工作的编辑命令
rulerru标尺,在状态行里显示光标的行号和列号
rulerformatruf定制标尺格式
runtimepathrtp用于运行时文件的目录列表

S

选项全称选项简称选项说明
scrollscr用 CTRL-U 和 CTRL-O 滚动的行数
scrollbindscb其他窗口滚动时滚动当前窗口
scrolljumpsj滚动所需的最少行数
scrolloffso光标上下的最少行数
scrolloptsbo'scrollbind' 的行为方式
sectionssect分隔小节的 nroff 宏
secure在当前目录下以安全模式读入 .vimrc
selectionsel使用何种选择方式
selectmodeslm何时使用选择模式而不是可视模式
sessionoptionsssop:mksession 的选项
shellsh使用外部命令的 shell 程序名字
shellcmdflagshcf执行命令所使用的 shell 的参数
shellpipesp把 :make 结果输出到错误文件的字符串
shellquoteshq括起 shell 命令的字符
shellredirsrr把过滤命脉的输出存到暂时文件的字符串
shellslashsslshell 文件名使用正斜杠
shelltempstmpshell 命令是否使用临时文件
shelltypestAmiga: 影响如何使用 shell
shellxescapesxe'shellxquote' 为 ( 时使用的转义字符
shellxquotesxq类似于 'shellquote',但包括重定向
shiftroundsr缩进列数对齐到 shiftwidth 的整数倍
shiftwidthsw(自动) 缩进使用的步进单位,以空白数目计
shortmessshm缩短消息长度的标志位列表
shortnamesn非 MS-DOS: 文件名假定为 8.3字符
showbreaksbr用于提示回绕行开始的字符串
showcmdsc在状态行里显示 (部分) 命令
showfulltagsft自动补全标签时显示完整的标签匹配模式
showmatchsm插入括号时短暂跳转到匹配的括号
showmodesmd在状态行上显示当前模式的消息
showtablinestal是否显示标签页行
sidescrollss横向滚动的最少列数
sidescrolloffsiso在光标左右最少出现列数
smartcasescs模式中有大写字母时不忽略大小写
smartindentsiC 程序智能自动缩进
smarttabsta插入 <Tab> 时使用 'shiftwidth'
softtabstopsts编辑时 <Tab> 使用的空格数
spell打开拼写检查
spellcapcheckspc定位句子尾部的模式
spellfilespf`
spelllangspl拼写检查使用的语言
spellsuggestsps提供拼写校正建议的方法
splitbelowsb分割窗口时新窗口在当前窗口之下
splitrightspr新窗口在当前窗口之右
startoflinesol命令移动光标到行的第一个非空白
statuslinestl状态行的定制格式
suffixessu多个匹配所忽略的后缀
suffixesaddsua搜索文件时附加的后缀
swapfileswf缓冲区是否使用交换文件
swapsyncsws和交换文件同步的方式
switchbufswb设置切换到别的缓冲区时的行为
synmaxcolsmc寻找语法项目的最大列数
syntaxsyn读入当前缓冲区的语法

T

选项全称选项简称选项说明
tabstopts<Tab> 在文件里使用的空格数
tablinetal终端标签页行的定制格式
tabpagemaxtpm`
tagbsearchtbs标签文件里用二分法查找
taglengthtl标签里的有效字符数
tagrelativetr标签文件里的文件名是相对路径
tagstag标签命令使用的文件名列表
tagstacktgst把标签推入标签栈
term终端名
termbiditbidi终端支持双向文本
termencodingtenc终端使用的编码方式
terse简化部分消息
textautota废止,用 'fileformats'
textmodetx废止,用 'fileformat'
textwidthtw插入文本的最大宽度
thesaurustsr关键字自动补全手忙脚乱的同义词字典
tildeoptop波浪命令 "~" 以操作符方式工作
timeoutto映射和键盘代码等待超时
timeoutlentm超时时间 (以毫秒计)
title让 Vim 设置窗口标题
titlelen用于窗口标题 'columns' 比例
titleold旧的标题,用于退出时恢复
titlestring用于 Vim 窗口标题的字符串
toolbartbGUI: 工具栏显示何种项目
toolbariconsizetbis工具栏图标的大小 (只适用于 GTK 2)
ttimeout映射等待超时
ttimeoutlenttm键盘代码超时时间 (以毫秒计)
ttybuiltintbi在外部 termcap 之前先用内建的 termcap
ttyfasttf指示一个快速的终端链接
ttymousettym鼠标产生代码的类型
ttyscrolltsl滚动的最大行数
ttytypetty'term' 的别名

U

选项全称选项简称选项说明
undodirudir保存撤销文件的位置
undofileudf把撤销信息写入一个文件里
undolevelsul最多可以撤销的改变个数
undoreloadur保存缓冲区重载撤销的最大行数
updatecountuc刷新交换文件所需的字符数
updatetimeut刷新交换文件所需的毫秒数

V

选项全称选项简称选项说明
verbosevbs给出详细信息
verbosefilevfile消息写入的文件
viewdirvdir:mkview 存储文件的所在目录
viewoptionsvop指定 :mkview 保存的内容
viminfovi启动和退出时使用 .viminfo 文件
virtualeditve何时使用虚拟编辑
visualbellvb使用可视铃声而不是响铃

W

选项全称选项简称选项说明
warn当缓冲区改变时,对 shell 命令给出警告
weirdinvertwiv用于有特殊反转方法的终端
whichwrapww允许指定键跨越行边界
wildcharwc用于符扩展的命令行字符
wildcharmwcm同 'wildchar',但对映射情况也适用
wildignorewig匹配这些模式的文件不会参与自动补全
wildignorecasewic匹配文件名时忽略大小写
wildmenuwmnu命令行自动补全所使用的菜单
wildmodewim'wildchar' 命令行扩展所用的模式
wildoptionswop指定如何完成命令行补全
winaltkeyswak休时窗口系统处理 ALT 键
windowwiCTRL-F 和 CTRL-B 滚动的行数
winheightwh当前窗口的最少行数
winfixheightwfh打开/关闭窗口时保持窗口高度
winfixwidthwfw打开/关闭窗口时保持窗口宽度
winminheightwmh任何窗口的最少行数
winminwidthwmw任何窗口的最少列数
winwidthwiw当前窗口的最少列数
wrap长行回绕并在下一行继续
wrapmarginwm使 (硬) 回绕开始的从右侧起算的字符数
wrapscanws搜索在文件尾折回文件头
write允许写入文件
writeanywa写入文件不需 "!" 强制
writebackupwb覆盖文件时建立备份
writedelaywd每个字符延迟 (以毫秒计) (用于调试)