最全的VIM脚本命令Word格式文档下载.docx
《最全的VIM脚本命令Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《最全的VIM脚本命令Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。
编辑过程中不备份
else
setbackup
endif
setbackup"
编辑过程备份
setwritebackup
setbackupdir=~/tmp
去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
setnocompatible
检测文件的类型
filetypeon
记录历史的行数"
保存50个命令历史
sethistory=1000
背景使用黑色
setbackground=dark
总的打开文件记录
letMRU_Max_Entries=1000
这样在vim中打开文件时,按tab键补齐文件名时它会忽略上述文件.
setsuffixes=.bak,~,.o,.h,.info,.swp,.aux,.bbl,.blg,.dvi,.lof,.log,.lot,.ps,.toc
setencoding=utf-8
setfileencodings=utf-8,gbk
setguifont=Luxi\Mono\9"
设置字体,字体名称和字号
setbackspace=2"
设置退格键可用
setwrap"
自动换行
setnowrap"
不自动换行
setlinebreak"
整词换行,单词作为一个整体换行
setwhichwrap=b,s,<
>
[,]"
光标从行首和行末时可以跳到另一行去
setlist"
显示制表符
setlistchars=tab:
>
-,trail:
-"
将制表符显示为'
---'
将行尾空格显示为'
-'
setlistchars=tab:
.\,trail:
."
.'
setautochdir"
自动设置目录为正在编辑的文件所在的目录
sethidden"
没有保存的缓冲区可以自动被隐藏
setscrolloff=5"
光标上下两侧最少保留的屏幕行数。
这使你工作时总有一些可见的上下文。
setshowcmd"
在屏幕最后一行显示未完成的命令。
setmouse=a"
在终端中使用鼠标这样设置后,不能用鼠标右键的”复制“了,解决方法,在复制之前,先按住Shift键
setnoswapfile"
不生成.swap的文件
syntaxenable"
高亮语法
syntaxon"
colordarkblue
setcursorline
settabstop=4"
设置tab键的宽度
setsofttabstop=4
setnoexpandtab
setshowmode
sethls
sethlsearch"
高亮显示搜索结果
setgdefault"
替换时所有的行内匹配都被替换,而不是只有第一个
setcin
setsm
setai
setupdatetime=100
匹配括号高亮的时间(单位是十分之一秒)
setmatchtime=1
搜索时不区分大小写
setignorecase
自动完成设置禁止在插入模式移动的时候出现Complete提示
letg:
acp_mappingDriven=1
导出html设置
lethtml_use_css=1
lethtml_number_lines=0
letuse_xhtml=1
设置工作目录
function!
CHANGE_CURR_DIR()
let_dir=expand("
%:
p:
h"
)
exec"
cd"
._dir
unlet_dir
endfunction
autocmdBufEnter*callCHANGE_CURR_DIR()
nmap:
move.+1
move.-2
imap:
vmap:
move'
+1gv
<
-2gv
--------------------------------------------------------------------------------
鼠标滚动
map[62~
map!
[62~
map[63~
[63~
map[64~
[64~
map[65~
[65~
编程相关的设置
setcompleteopt=longest,menu"
关掉智能补全时的预览窗口
filetypepluginindenton"
加了这句才可以用智能补全
settags=src/tags"
设置tags文件的路径
synon"
打开语法高亮
setsmartindent"
智能对齐方式
setshiftwidth=4"
换行时行间交错使用4个空格
setautoindent"
自动对齐
setai!
"
设置自动缩进
colorschemedefault"
默认为白底黑字
colorschemeevening"
载入色彩方案evening。
它会在'
runtimepath'
里搜索
colors/{name}.vim"
,载入第一个找到的文件。
代码折叠
setfoldmarker={{{,}}}"
指定折叠标志
setfoldmarker={,}"
setfoldmarker={,}"
syntaxregionfunctionFoldstart="
\(^\({\|\S.*{\)$\n\)\@<
=\_[^}]"
end="
\(^{.*\)\@<
!
$\n\(^}\)\@="
transparentfold
syntaxregioncommentFoldstart="
/\*"
\*/"
transparentfoldkeepend
syntaxregioncommentFold2start="
^\(^//.*$\n\)\@<
//.*\(\n//\)\@=$"
=//.*\(\n//\)\@!
$"
setfoldmethod=marker"
标志用于指定折叠。
setfoldmethod=syntax
语法高亮项目指定折叠。
文件太大,打开会非常慢,因为要进行正则表达式搜索
setfoldlevel=100"
不要自动折叠
setfoldopen-=search"
不要打开折叠,当搜索进它里面时
setfoldopen-=undo"
不要打开折叠,当做撤销进它里面时
setfoldcolumn=4"
如果非零,指定宽度的列在窗口的一侧显示,指示折叠的打开和关闭。
最大值为12
快速编辑.vimrc设置
当.vimrc被修改时,自动生效
autocmd!
bufwritepost.vimrcsource~/.vimrc
Fileformats
Favoritefiletypes
setffs=unix,dos,mac
nmap<
leader>
fd:
seff=dos<
cr>
fu:
seff=unix<
Statusline
Alwayshidethestatusline
setstatusline=[%F]%y%r%m%*%=[Line:
%l/%L,Column:
%c][%p%%]"
状态栏的显示格式
setlaststatus=2"
总是显示一个状态栏
setruler"
总是显示光标的位置
CurDir()
letcurdir=substitute(getcwd(),'
/Users/amir/'
"
~/"
g"
returncurdir
Formatthestatusline
setstatusline=\%F%m%r%h\%w\\CWD:
\%r%{CurDir()}%h\\\Line:
\%l/%L:
%c
使tags在当前找不到tags到上级目录去找
settags=tags;
General
Forctags,thenitcanfindthe'
tags'
fileevennotincurrentdirectory"
settags=tags;
Settoautoreadwhenafileischangedfromtheoutside"
setautoread
文本操作
按"
="
,就可以利用外部命令indent美化我的c程序。
map=ggVG:
indent-nut-st-kr2>
/dev/null
map<
Left>
:
bp<
CR>
br/>
Right>
bn<
F4>
bd<
<
GeneralAbbrevs
Myinformation
iabxdate<
c-r>
=strftime("
%d/%m/%y%H:
%M:
%S"
)<
iabxnameAmirSalihefendic
Editingmappingsetc.
RemapVIM0
map0^
Movealineoftextusingcontrol
M-j>
mz:
m+<
`z
M-k>
m-2<
vmap<
m'
+<
`<
my`>
mzgv`yo`z
-2<
`>
my`<
func!
DeleteTrailingWS()
exe"
normalmz"
%s/\s\+$//ge
normal`z"
endfunc
autocmdBufWrite*.py:
callDeleteTrailingWS()
setcompleteopt=menu
Command-lineconfig
Cwd()
letcwd=getcwd()
return"
e"
.cwd
DeleteTillSlash()
cmd=getcmdline()
ifg:
cmd==g:
cmd_edited
returng:
CurrentFileDir(cmd)
returna:
cmd."
.expand("
)."
/"
Smartmappingsonthecommandline
cno$he~/
cno$de~/Desktop/
cno$je./
cno$q<
C-\>
eDeleteTillSlash()<
cno$ce<
eCurrentFileDir("
e"
cno$tc<
tabnew"
cno$thtabnew~/
cno$tdtabnew~/Desktop/
Bashlike
cnoremap<
C-A>
Home>
C-E>
End>
C-K>
C-U>
ColorsandFonts
Enablesyntaxhighlight
syntaxenable
VIMuserinterface
Set7linestothecurorsawayfromtheborder-whenmovingvertical..
setso=7
TurnonWiLdmenu"
setwildmenu
Thecommandbaris2high"
setcmdheight=2
setbackspace=eol,start,indent
不要闪烁
setnovisualbell
Howmanytenthsofasecondtoblink"
setmat=2
imediatelyshowthesearchresult"
setis
Switchtocurrentdir
cd:
cd%:
h<
Folding
Enablefolding,Ifinditveryuseful
setnofen
setfdl=0
Textoptions
setexpandtab
setambiwidth=double
setsmarttab
SetTab=4spaces
setts=4
setlbr
settw=500
setselection=inclusive
Indent
Autoindent
setai
Setautoindentwidth=4spaces"
setsw=4
Smartindet"
setsi
C-styleindenting"
setcindent"
usage:
selectcodes,press'
='
key,thecodeswillautoindenting
Encodingsettings
ifhas("
multi_byte"
Setfileencodingpriority
ifgetfsize(expand("
%"
))>
0
setfileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
else
setfileencodings=cp936,big5,euc-jp,euc-kr,latin1
endif
CJKenvironmentdetectionandcorrespondingsetting
ifv:
lang=~"
^zh_CN"
Usecp936tosupportGBK,euc-cn==gb2312
setencoding=cp936
settermencoding=cp936
setfileencoding=cp936
elseifv:
^zh_TW"
cp950,big5oreuc-tw"
Aretheyequaltoeachother?
setencoding=big5
settermencoding=big5
setfileencoding=big5
^ko"
Copiedfromsomeone'
sdotfile,untested"
setencoding=euc-kr
settermencoding=euc-kr
setfileencoding=euc-kr
^ja_JP"
sdotfile,unteste"
setencoding=euc-jp
settermencoding=euc-jp
setfileencoding=euc-jp
DetectUTF-8locale,andreplaceCJKsettingifneeded"
utf8$"
||v:
UTF-8$"
setencoding=utf-8
settermencoding=utf-8
setfileencoding=utf-8
echoerr"
Sorry,thisversionof(g)vimwasnotcompiledwithmulti_byte"