继续之前的vim小节,在对vim和vi有了初步认识之后,真心的觉得vim比什么eclipse,aptana,dreamweaver之类牛逼太多。虽然刚开始上手难受了一点,虽然现在有些时候还会被一些小问题纠结住,但总的使用了一周后感觉良好。
下面把配置文件再扔出来一次:
set nocompatiblesource $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswin set diffexpr=MyDiff()function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif let arg1 = v:fname_in if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif let arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif let eq = '' if $VIMRUNTIME =~ ' ' if &sh =~ '\ ' . arg3 . eqendfunction "配色colorscheme slate"字体set guifont=Bitstream_Vera_Sans_Mono:h10:cANSI"行号,行号栏目宽度set nuset numberwidth=2"tab长度set tabstop=2"自动对齐set autoindent"语法高亮syntax on"设置gbk字符会有编码问题,设置字符集set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936"行间距set linespace=2"<>调整缩进时的长度set shiftwidth=2"初始化窗口宽度高度set columns=150set lines=30"初始化窗口位置winpos 52 42 "禁止自动换行set nowrap"在输入命令时列出匹配项目set wildmenu"显示光标位置set ruler"分割窗口保持相等宽高set equalalways "匹配括号规则,增加html的<>set matchpairs=(:),{:},[:],<:>"让退格,空格,上下箭头遇到行首位自动移到下一行(包括insert模式)set whichwrap=b,s,<,>,[,]"取消自动备份set nobackup"关闭文件之前保留一个备份set writebackup "js语法高亮脚本let g:javascript_enable_domhtmlcss=1 "光标准星set cursorlinehi cursorline guibg=NONE gui=underlineset cursorcolumnhi cursorcolum gui=underline "自动修改set autoread "不明字体宽度,按照double的来set ambiwidth=double"打开javascript折叠"setlocal foldlevel=1let g:tlist_javascript_settings = 'javascript;s:string;a:array;o:object;f:function;m:member'let b:javascript_fold=1 "开启折叠"自动补齐括号等:inoremap ( ()i:inoremap ) =ClosePair(')'):inoremap { {}O:inoremap } =ClosePair('}'):inoremap [ []i:inoremap ] =ClosePair(']'):inoremap " ""i:inoremap ' ''i function ClosePair(char) if getline('.')[col('.') - 1] == a:char return "/" else return a:char endifendfunction "自动补齐html"function! InsertHtmlTag() let pat = '\c<\w\+\s*\(\s\+\w\+\s*=\s*[''#$;,()."a-z0-9]\+\)*\s*>' normal! a> let save_cursor = getpos('.') let result = matchstr(getline(save_cursor[1]), pat) "if (search(pat, 'b', save_cursor[1]) && searchpair('<','','>','bn',0, getline('.')) > 0) if (search(pat, 'b', save_cursor[1])) normal! lyiwf> normal! a<!-- normal! p normal! a--> endif :call cursor(save_cursor[1], save_cursor[2], save_cursor[3])endfunctioninoremap > :call InsertHtmlTag()a "半透明设置"au GUIEnter * call libcallnr("vimtweak.dll", "SetAlpha", 234)"git 配置"set laststatus=2set statusline=%{GitBranch()} command Gogm cd E:\apache\htdocs\gm\
看注释就明白了,简单说一下目前我觉得足够用的功能,其实都是想到了现google搜的,全部解决。然后在淘宝师傅给我的vim键盘表也排上了用场,这里也要谢谢猥琐的师傅啊……- -
简单说一下,之前用aptana主要是使用他得js,css,html代码提示功能。在vim里,用ctrl+n和p其实是可以直接调用的,牛逼的是提示不区分语言,而是从缓存里直接去读,甚至目录,我当时就被震惊了……这尼玛还要什么代码提示,先开一个jquery源文件,然后再写jq代码,确实是爽的不行,之后又安装了自动弹出提示的插件,感觉比那半残的aptana不知道好多少……。
然后是自定义的命令使用,每次打开vim都要cd一堆到我的工作目录,然后再开启目录树那个NERDTree插件,后来编辑了直接cd到目录的快捷命令,方便很多了,再之后调用bat脚本,直接!强制执行就OK了……更是便捷……再最后,增加括号补全,自动保存,一些颜色配置等,视觉效果比aptana牛逼多了,而且半透明的界面有时候还可以边抄边写代码。。。真是不错- -||
最后在aptana下有一个localstore,是我比较喜欢的,最后在vim下安装了git-vim插件,再也不用开bash界面了,再也不用再bash界面看恶心的diff了。。真是……而且也强迫了我把gitpro前面入门的章节看完了。。- -|| 总之 store的东西也就这样解决了~
周末用vim正则帮媳妇处理文本,1800多个ctrl+v,c,十几分钟就被搞定了……
我知道vim还有很多更强大的命令,期待以后慢慢挖掘……耶,哥终于转型vimer了……~发个文章,庆祝一下,而且新到的《学习vi,vim编辑器》也送到了~灭哈哈O(∩_∩)O~等着哥的读书笔记吧。