OSX上的vim配置:从Linux到Mac,C/Java到JS,HTML

原创 2013年12月04日 11:30:18

在linux上工作的有两种人:用vi的,和用emacs。我身边的人多数是vier, 自己也深爱之。 近来改成用Macbook Pro,开发也从C/JAVA转而接触到JS, HTML,代码编辑器的配置自然也要跟上。

Mac上做可选优秀编辑器或者IDE很多,Sublime Text, TextWrangler, Eclipse等,但是VIM几乎无所不能的插件库,以及速度快的优势还是几乎无可替代的。并且是完全的Open Source, 不做crack那些商业软件的事情。所以做了一番配置和插件的研究,主要达到这样几个特性要求:

1. 代码浏览时候定义引用的跳转。就像SourceInsight。还是ctags + taglist。Mac上这点让很不给力。注意,在mac上自带ctags, 但是它不是我们想要的Exuberant CTags,因此功能不兼容taglist。在Mac,可以用port 下载正确的ctags,在.vimrc中需要如下配置:

" use exuberant ctags tool instead of Mac ctags
let Tlist_Ctags_Cmd = '/opt/local/bin/ctags'
" add ctag files
if filereadable("./tags")
set tags+=./tags
endif
" taglist quick key
nnoremap <silent> <F5> :TlistToggle<CR>


2. 语法高亮和自动补全。VIM对JS/HTML的这方面原生支持不够。自动补全对JS很弱,需要在.vimrc中配置omnifunc

autocmdFileType javascript setomnifunc=javascriptcomplete#CompleteJS

补全的快捷键CTRL-X CTRL-O比较好用。


3. JS的lint(静态语法和代码检查), .vimrc配置如下:

" javascriptlint
autocmd FileType javascript set makeprg=/Users/oliverluan/bin/jsl\ -nologo\ -nofilelisting\ -nosummary\ -nocontext\ -conf\ '/Users/oliverluan/bin/jsl.default.conf'\ -process\ %
"autocmd FileType javascript set errorformat=%f(%l): %m
autocmd FileType javascript inoremap <silent> <F9> <C-O>:make<CR>
autocmd FileType javascript map <silent> <F9> :make<CR>

4. HTML代码自动补全,用emmet插件。


5. JAVA代码编写,tab一般要求必须替换为空格,缩进应为4。

" tab settings
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4


6. 不能没有的插件:

MRU: 文件历史

taglist: 顾名思义


以下给出一份完整.vimrc

" syntax highlight
filetype plugin indent on
syntax on

" search etc
set hlsearch
set incsearch
set ruler

" tab settings
set expandtab
set tabstop=4
set shiftwidth=4  
set softtabstop=4  

" file history
noremap   :MRU 

" javascript auto completion
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
let b:javascript_fold=1
let javascript_enable_domhtmlcss=1
let g:tlist_javascript_settings = 'javascript;s:string;a:array;o:object;f:function;m:member'

" use exuberant ctags tool instead of Mac ctags
let Tlist_Ctags_Cmd = '/opt/local/bin/ctags'

" add ctag files
if filereadable("./tags")
   set tags+=./tags 
endif

" taglist quick key
nnoremap   :TlistToggle

" javascriptlint
autocmd FileType javascript set makeprg=/Users/oliverluan/bin/jsl\ -nologo\ -nofilelisting\ -nosummary\ -nocontext\ -conf\ '/Users/oliverluan/bin/jsl.default.conf'\ -process\ %
"autocmd FileType javascript set errorformat=%f(%l): %m
autocmd FileType javascript inoremap   :make
autocmd FileType javascript map   :make

" folding
"set foldmethod=indent "set default foldmethod
"set foldlevel=8

" emmet for html
 let g:user_emmet_settings = {
   \  'indentation' : '  ',
   \  'perl' : {
   \    'aliases' : {
   \      'req' : 'require '
   \    },
   \    'snippets' : {
   \      'use' : "use strict\nuse warnings\n\n",
   \      'warn' : "warn \"|\";",
   \    }
   \  }
   \}

   let g:user_emmet_expandabbr_key = ''
   "let g:user_emmet_expandabbr_key = ''
   let g:use_emmet_complete_tag = 1

" netrw configs
let g:netrw_altv = 1
let g:netrw_liststyle = 3
let g:netrw_preview   = 1
let g:netrw_winsize   = 30


相关文章推荐

让Vim更好用 for Mac OS X

http://hessian.cn/p/1026.html 参考文章: 谁说Vim不是IDE?(一) 谁说Vim不是IDE?(二) 谁说Vim不是IDE?(三)   ...

Mac OS X下安装与配置ctags和tagbar.vim以开发obj-c

ctags原先不支持objective-c, 后来在其trunk分支上增加了对obj-c的支持(其stable版本 截止目前仍然不支持obj-c). 由于ctags早期不支持obj-c, tagbar...

MAC 下vim 配置(Linux通用)

vim 在Mac电脑下的配置和Linux下的一样,只是配置的路径不一样 在liunx 系统下, vim 的配置是在/etc 的vimrc 的配置目录下 在unix 的Mac 本下 vim 的配置路...

Terminal和Vim在Mac os和Linux系统下Solarized的配色配置

这片文章讲述如何在Mac和Linux下进行Solarized的配置,包括终端以及Vim,同时还有Putty的配置。 Mac下的配置:首先是配置...

Mac OS /Linux /Unix Vim配置

1、 将vim的环境文件copy到自己常用用户的主目录下比如你的用户叫aitracy cp /usr/share/vim/vimrc     ~ aitracy/.vimrc 2、 ...
  • so_zt
  • so_zt
  • 2011年10月15日 14:15
  • 1130

vim windows配置 http://hi.baidu.com/leemoncc/blog/item/a6be15cf40d7ab31b600c806.html

原作地址:http://hi.baidu.com/leemoncc/blog/item/a6be15cf40d7ab31b600c806.html 当然,对我的环境而言,有问题和有所修改。需要注...

Mac下为SublimeText安装与配置HTML CSS JS 格式化插件-超级好用,步骤100%验证

sublime text为html, css,js自动格式化

Mac osx 删除云梯VPN 配置文件(remove profiles)

装了云梯VPN,在Mac上部署了云梯VPN提供的配置文件,后来由于某原因弃用这个VPN,却发现不知道怎么删除这profile,在网络列表里留下一堆的VPN配置,看上去很是烦心。  经过一番搜索,终于...

MAC OSX 配置jdk环境变量

转至:http://www.cnblogs.com/iOS-mt/p/5726380.html 大家在windows里面配置JDK环境变量很容易,但是如果要在mac里面配置JDK环境变量和win...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OSX上的vim配置:从Linux到Mac,C/Java到JS,HTML
举报原因:
原因补充:

(最多只允许输入30个字)