├── .gitignore
├── .gitmodules
├── README.md
├── bundle
├── Config
│ ├── autoload
│ │ └── handy.vim
│ ├── ftdetect
│ │ └── vm.vim
│ ├── ftplugin
│ │ └── javascript.vim
│ ├── indent
│ │ └── haml.vim
│ └── plugin
│ │ ├── config.vim
│ │ ├── ctrlp.vim
│ │ ├── molokai.vim
│ │ ├── nerdtree.vim
│ │ ├── shortcut.vim
│ │ ├── statusline.vim
│ │ ├── vimwiki.vim
│ │ └── zencoding.vim
├── customSnippet
│ └── snippets
│ │ ├── html.snippets
│ │ └── javascript.snippets
├── html5-syntax
│ └── after
│ │ └── syntax
│ │ └── html.vim
└── jslint_fix
│ └── ftplugin
│ └── javascript
│ └── jslint_fix.vim
├── gvimrc
├── install.bat
├── install.sh
└── vimrc
/.gitignore:
--------------------------------------------------------------------------------
1 | .netrwhist
2 | bundle/Config/plugin/alias.vim
3 | ftplugin/javascript/jslint
4 | dirfile
5 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "bundle/nerdcommenter"]
2 | path = bundle/nerdcommenter
3 | url = git://github.com/scrooloose/nerdcommenter.git
4 | [submodule "bundle/vim-surround"]
5 | path = bundle/vim-surround
6 | url = git://github.com/tpope/vim-surround.git
7 | [submodule "bundle/desertEx"]
8 | path = bundle/desertEx
9 | url = git://github.com/vim-scripts/desertEx.git
10 | [submodule "bundle/genutils"]
11 | path = bundle/genutils
12 | url = git://github.com/vim-scripts/genutils.git
13 | [submodule "bundle/CmdlineComplete"]
14 | path = bundle/CmdlineComplete
15 | url = git://github.com/vim-scripts/CmdlineComplete.git
16 | [submodule "bundle/bufexplorer"]
17 | path = bundle/bufexplorer
18 | url = git://github.com/vim-scripts/bufexplorer.zip.git
19 | [submodule "bundle/zencoding-vim"]
20 | path = bundle/zencoding-vim
21 | url = https://github.com/mattn/emmet-vim.git
22 | [submodule "bundle/nerdtree"]
23 | path = bundle/nerdtree
24 | url = git://github.com/scrooloose/nerdtree.git
25 | [submodule "bundle/fencview"]
26 | path = bundle/fencview
27 | url = git://github.com/tyru/fencview.vim.git
28 | [submodule "bundle/vim-coffee-script"]
29 | path = bundle/vim-coffee-script
30 | url = git://github.com/kchmck/vim-coffee-script.git
31 | [submodule "bundle/vim-markdown"]
32 | path = bundle/vim-markdown
33 | url = git://github.com/plasticboy/vim-markdown.git
34 | [submodule "bundle/snipmate"]
35 | path = bundle/snipmate
36 | url = git://github.com/msanders/snipmate.vim.git
37 | [submodule "bundle/jslint"]
38 | path = bundle/jslint
39 | url = git://github.com/perfectworks/jslint.vim.git
40 | [submodule "bundle/tagbar"]
41 | path = bundle/tagbar
42 | url = git://github.com/majutsushi/tagbar.git
43 | [submodule "bundle/Gist"]
44 | path = bundle/Gist
45 | url = git://github.com/vim-scripts/Gist.vim.git
46 | [submodule "bundle/molokai"]
47 | path = bundle/molokai
48 | url = git://github.com/tomasr/molokai.git
49 | [submodule "bundle/vim-repeat"]
50 | path = bundle/vim-repeat
51 | url = git://github.com/tpope/vim-repeat.git
52 | [submodule "bundle/vim-pathogen"]
53 | path = bundle/vim-pathogen
54 | url = git://github.com/tpope/vim-pathogen.git
55 | [submodule "bundle/vim-scratch"]
56 | path = bundle/vim-scratch
57 | url = git://github.com/duff/vim-scratch.git
58 | [submodule "bundle/vim-javascript"]
59 | path = bundle/vim-javascript
60 | url = git://github.com/pangloss/vim-javascript.git
61 | [submodule "bundle/less"]
62 | path = bundle/less
63 | url = git://github.com/groenewege/vim-less.git
64 | [submodule "bundle/vim-css3-syntax"]
65 | path = bundle/vim-css3-syntax
66 | url = git://github.com/hail2u/vim-css3-syntax.git
67 | [submodule "bundle/vim-fugitive"]
68 | path = bundle/vim-fugitive
69 | url = git://github.com/tpope/vim-fugitive.git
70 | [submodule "bundle/chdirectory"]
71 | path = bundle/chdirectory
72 | url = git://github.com/perfectworks/chdirectory.git
73 | [submodule "bundle/vitality"]
74 | path = bundle/vitality
75 | url = git://github.com/sjl/vitality.vim.git
76 | [submodule "bundle/ctrlp"]
77 | path = bundle/ctrlp
78 | url = git://github.com/kien/ctrlp.vim.git
79 | [submodule "bundle/webapi-vim"]
80 | path = bundle/webapi-vim
81 | url = git://github.com/mattn/webapi-vim.git
82 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PerfectWorks 的 Vim 配置以及插件
2 | 作者日常工作环境为 Linux,经常编辑 JavaScript/HTML/CSS/Python/Shell 文件,因此大部分插件都是为这些文件进行优化。
3 |
4 | 这份配置对 Vim 的修改不多,每个修改都有详细的注释说明,对初学者比较友好。
5 |
6 | 尽管作者对该配置的多平台兼容性有一定处理,但因为每人的使用习惯都不一致,所以并不建议直接使用该配置文件作为生产配置使用,而是建议将该项目 fork 出一个自己的版本来维护。
7 |
8 |
9 | 有更多问题,欢迎直接联系作者。
10 |
11 | ## 安装
12 |
13 | ### *nix
14 |
15 | 在 $HOME 目录下执行以下命令
16 |
17 | git clone git://github.com/perfectworks/vim.git ~/.vim
18 | cd ~/.vim && ./install.sh
19 |
20 | ### Windows
21 |
22 | 在 %HOME% 目录下执行
23 |
24 | git clone git://github.com/perfectworks/vim.git %HOME%/.vim
25 | cd %HOME%/.vim && install.bat
26 |
27 | ## 升级
28 |
29 | 在 .vim 目录下执行以下命令
30 |
31 | git pull
32 |
33 | 升级插件
34 |
35 | git submodule foreach "git checkout master && git pull"
36 |
37 |
38 | ## 配置修改
39 |
40 | 大部分的自定义修改都在 bundle/Config
这个 bundle 里面
41 |
42 | * Vim 本身配置修改一般在 bundle/Config/plugin/config.vm
43 | * 快捷键修改一般在 bundle/Config/plugin/shortcut.vim
44 | * 对插件的配置会在 bundle/Config/plugin/插件名.vim
45 |
46 | ### 自定义快捷键
47 |
48 | 大部分自定义快捷键都在 bundle/Config/plugin/shortcut.vim
中配置,<Leader>
键被映射为 \\
49 |
50 | * Normal 模式
51 | * gp
: 粘贴最近一次 yank 操作的文字 (比如 yy 之后又 dd 了,可以用 gp 来粘贴 yy 的结果)
52 | *
/
: 在分屏模式下放大 / 缩小当前窗口
53 | * <Leader>nt
: 打开 NerdTree
54 | * <Leader>nf
:打开 NerdTree 并且将光标跳转到现在编辑的文件 (nt 的意思是 Nerdtree Find)
55 | * <Leader>m
: 调用系统 make
56 | * <Leader>sh
: 打开系统 shell (打开 shell 之后退出会跳回 vim)
57 | * <F3>
: 在当前目录以及子文件夹中搜索特定关键字 (搜索支持 Vim 正则, 默认会搜索 \<关键字>>
,如果要取消左右的 \<\>
,可以输入 /关键字
)
58 | * <F6>
: 切换粘贴模式
59 | * <F5>
: 切换显示行号
60 | * <F7>
/<F8>
: 跳到上一条/下一条 quickfix 记录,配合 <F3>
可以在搜索结果中快速跳转;在 vimdiff 模式下跳转到下一处/上一处 diff
61 | * <F9>
: 快速编辑 Snippet,在 Snippet 中按 <F9>
会保存当前 Snippet,刷新 snipMate 缓存并返回刚刚编辑的文件
62 | * <F10>
: 打开 TagBar
63 | * <Ctrl>-l
: 清除高亮并且重绘屏幕
64 | * <Ctrl>-_
: 分屏模式下当前窗口最大化
65 | * t`
: 跳转到下一个大写字母 (驼峰式跳转)
66 | * <Leader>gc
: git commit
67 | * <Leader>gs
: git status
68 | * g<C-O>
g<C-I>
: 跳转到当前文件中的上一个/下一个光标位置
69 | * <space>
: 打开刚刚编辑的文件
70 | * CommandLine 模式
71 | * <Ctrl>-a
: 跳到命令行开始
72 | * <Ctrl>-e
: 跳到命令行结束
73 | * Insert 模式
74 | * ii: 退出到 Norm 模式并保存文件
75 | * <Ctrl>-j
: 相当于 <Ctrl>-x<Ctrl>-u
76 | * <Command>-r
: 仅在 MacVim 下有效,执行 :silent make
77 | * CtrlP
78 | * 参考插件列表中 CtrlP 的介绍
79 | * Objective C 文件编辑
80 | * <leader>-a
: 在 .m 和 .h 文件间切换
81 |
82 | ## 方便 Coding 的一些小功能
83 |
84 | * 打开文件时自动跳转到上一次编辑的位置
85 | * 保存 js 文件后自动生成 tags 文件(需要在项目目录下写一个 jstags.sh 脚本,脚本中写生成 tags 的命令。Vim 仅仅调用这个脚本而已)
86 |
87 | ## 插件
88 |
89 | ### 插件列表
90 |
91 | 插件介绍请 Google
92 |
93 | * vitality 在 iterm2 下支持光标样式切换,以及给 tmux 提供一些高级 feature
94 | * CtrlP
95 | * 强大的文件查找工具,主要快捷键映射有
96 | * <Ctrl>-p
搜索 Buffer/文件/最近使用的文件 (Mixed 模式)
97 | * g<Ctrl>-j
搜索 Tag
98 | * nerdcommenter 快速给代码加注释
99 | * vim-surround 修改一段代码周围的引号、括号等
100 | * CmdlineComplete 给命令行提供补全功能
101 | * bufexplorer 提供 Buffer 列表
102 | * zencoding-vim
103 | * 快捷键是 <Ctrl>-k
104 | * nerdtree 查看目录树
105 | * 设置了过滤 pyc 文件
106 | * fencview 增强 vim 的编码检测
107 | * snipmate 代码补全
108 | * jslint js 语法校验
109 | * tagbar js 代码大纲视图
110 | * Gist 分享代码到 github 的小工具
111 | * vim-repeat 增强 vim 的 repeat 功能
112 | * web-indent JavaScript 的语法缩进
113 | * jsbeautify JavaScript 代码格式化,快捷键是 <Leader>ff
114 | * Scrath 打开一个临时的缓冲区随便记录东西,快捷键是 <Leader>S
115 | * genutils 给 vim 添加一些函数库
116 | * vim-fugitive 增加一些 git 命令支持
117 | * molokai 配色
118 | * desertEx 配色
119 | * vim-markdown 高亮 markdown 格式
120 | * vim-lesscss 高亮 lesscss 格式
121 | * vim-css3 高亮 css3 中的属性
122 |
123 | ### 安装新插件
124 |
125 | 在 .vim
目录下执行
126 |
127 | git submodule add '插件的 github 检出地址' 'bundle/插件名'
128 | git submodule init
129 | git submodule update
130 |
--------------------------------------------------------------------------------
/bundle/Config/autoload/handy.vim:
--------------------------------------------------------------------------------
1 | " 打开文件时自动跳转到最后输入的位置
2 | function! handy#JumpToLatest()
3 | if line("'\"") > 1 && line("'\"") <= line("$")
4 | exe "normal! g`\""
5 | endif
6 | endfunction
7 |
8 | " 查找文字
9 | function! handy#SearchWord()
10 | let word = input("search:", expand(""))
11 | if word[0] == "/" && word[len(word)-1] == "/"
12 | execute "vimgrep ".word." **"
13 | else
14 | execute "vimgrep /\\<".word."\\>/gj **"
15 | endif
16 | copen
17 | endfunction
18 |
19 | " 切换编辑 Snippet
20 | function! handy#ToggleSnipple()
21 | if &ft == 'snippet'
22 | w!
23 | call ReloadAllSnippets()
24 | edit #
25 | bdelete #
26 | else
27 | edit `=expand("~/.vim/bundle/customSnippet/snippets/" . &ft . ".snippets")`
28 | endif
29 | endfunction
30 |
31 | " 根据 tags 文件设置当前目录
32 | function! handy#AutoChangePwd()
33 | let file = finddir('.git', '.;')
34 | if isdirectory(file)
35 | execute ":lcd " . fnamemodify(file, ":p:h:h")
36 | endif
37 | endfunction
38 |
39 | " 生成 jstags
40 | function! handy#GenerateTag()
41 | let file = fnamemodify(findfile('jstags', '.;'), ':p')
42 | if executable(file)
43 | execute ':silent !' . file
44 | endif
45 | endfunction
46 |
47 | " Remove trailing whitespace when writing a buffer, but not for diff files.
48 | " From: Vigil
49 | " @see http://blog.bs2.to/post/EdwardLee/17961
50 | function! handy#RemoveTrailingWhitespace()
51 | if &ft != "diff"
52 | let b:curcol = col(".")
53 | let b:curline = line(".")
54 | silent! %s/\s\+$//
55 | silent! %s/\(\s*\n\)\+\%$//
56 | call cursor(b:curline, b:curcol)
57 | endif
58 | endfunction
59 |
60 | " Prevent jumps out of current buffer
61 | " From: ib.
62 | " @see http://stackoverflow.com/questions/7066456/vim-how-to-prevent-jumps-out-of-current-buffer
63 | function! handy#JumpInFile(back, forw)
64 | let [n, i] = [bufnr('%'), 1]
65 | let p = [n] + getpos('.')[1:]
66 | sil! exe 'norm!1' . a:forw
67 | while 1
68 | let p1 = [bufnr('%')] + getpos('.')[1:]
69 | if n == p1[0] | break | endif
70 | if p == p1
71 | sil! exe 'norm!' . (i-1) . a:back
72 | break
73 | endif
74 | let [p, i] = [p1, i+1]
75 | sil! exe 'norm!1' . a:forw
76 | endwhile
77 | endfunction
78 |
79 | function! handy#VisualSearch(direction) range
80 | let l:saved_reg = @"
81 | execute "normal! vgvy"
82 |
83 | let l:pattern = escape(@", '\\/.*$^~[]')
84 | let l:pattern = substitute(l:pattern, "\n$", "", "")
85 |
86 | if a:direction == 'b'
87 | execute "normal ?" . l:pattern . "
"
88 | elseif a:direction == 'f'
89 | execute "normal /" . l:pattern . "
"
90 | endif
91 |
92 | let @/ = l:pattern
93 | let @" = l:saved_reg
94 | endfunction
95 |
--------------------------------------------------------------------------------
/bundle/Config/ftdetect/vm.vim:
--------------------------------------------------------------------------------
1 | au BufRead,BufNewFile *.vm set filetype=html
2 |
--------------------------------------------------------------------------------
/bundle/Config/ftplugin/javascript.vim:
--------------------------------------------------------------------------------
1 | " JavaScript 折叠
2 | let b:javascript_fold=4
3 | let javascript_enable_domhtmlcss=1
4 |
5 | set cc=81
6 |
--------------------------------------------------------------------------------
/bundle/Config/indent/haml.vim:
--------------------------------------------------------------------------------
1 | sw=4
2 |
--------------------------------------------------------------------------------
/bundle/Config/plugin/config.vim:
--------------------------------------------------------------------------------
1 | " 色彩主题
2 | colo molokai
3 | if $TERM == "xterm-256color"
4 | set t_Co=256 " 256 色
5 | endif
6 |
7 | " 关闭兼容模式
8 | set nocompatible
9 | " 开启魔法匹配
10 | set magic
11 | " 退格键行为
12 | set backspace=indent,eol,start
13 | " 右下角显示标尺
14 | set ruler
15 | " 编码设置
16 | set fileencodings=ucs-bom,utf-8,gbk
17 | set fileformats=unix,dos,mac
18 |
19 | " 缩进设置
20 | set smarttab
21 | set tabstop=4
22 | set softtabstop=4
23 | set shiftwidth=4
24 | set expandtab
25 |
26 | " 高亮括号对
27 | set showmatch
28 | " 自动缩进
29 | set autoindent
30 | " 高亮搜索
31 | set hlsearch
32 | " 状态栏显示键入的命令
33 | set showcmd
34 | " 不创建备份文件
35 | set nobackup
36 | " 高亮当前行
37 | set cursorline
38 | " 智能大小写判断
39 | set ignorecase smartcase
40 | " 语法高亮
41 | syntax on
42 | " 打开文件类型支持
43 | filetype plugin indent on
44 | " 递归向上查找 tags
45 | set tags=tags;
46 | " 修复 Terminal 下面中文双引号的问题
47 | set ambiwidth=double
48 |
49 | " 即时搜索
50 | set incsearch
51 |
52 | " 永远显示状态栏
53 | set laststatus=2
54 |
55 | " undo dir
56 | if v:version >= 703
57 | set undodir=$HOME/.vimundodir
58 | set undofile
59 | endif
60 |
61 | " 打开文件时跳到上次编辑的位置
62 | autocmd BufReadPost * call handy#JumpToLatest()
63 |
64 | if (!(has("win32") || has("win64")))
65 | autocmd BufWritePost * call system('bsync '.expand('%:p').' &')
66 | endif
67 |
68 | " 保存文件时自动去除 trailing whitespace
69 | autocmd BufWritePre *.js call handy#RemoveTrailingWhitespace()
70 |
71 | " 写文件时去去找 jstags.sh 生成 tag
72 | autocmd BufWritePost *.js call handy#GenerateTag()
73 |
74 | set wildignore+=*/.git/*,*/.hg/*,*/.svn/*
75 | set wildignore+=*/*target/*,*/target*/*,*/node_modules/*
76 |
--------------------------------------------------------------------------------
/bundle/Config/plugin/ctrlp.vim:
--------------------------------------------------------------------------------
1 | let g:ctrlp_regexp = 1
2 | let g:ctrlp_cmd = 'CtrlPMixed'
3 | let g:ctrlp_max_files = 1000
4 | let g:ctrlp_match_window_bottom = 0
5 |
--------------------------------------------------------------------------------
/bundle/Config/plugin/molokai.vim:
--------------------------------------------------------------------------------
1 | hi ColorColumn ctermbg=234 guibg=#232526
2 | hi CursorLine guibg=#232526
3 |
4 |
--------------------------------------------------------------------------------
/bundle/Config/plugin/nerdtree.vim:
--------------------------------------------------------------------------------
1 | " NERDTree Ignore
2 | let NERDTreeIgnore=['\.pyc']
3 |
--------------------------------------------------------------------------------
/bundle/Config/plugin/shortcut.vim:
--------------------------------------------------------------------------------
1 | " NERDTree快捷键
2 | nmap nt :NERDTreeToggle
3 | nmap nf :NERDTreeFind
4 |
5 | " 更快的切换到刚刚编辑的文件上去
6 | nmap
7 |
8 | " CtrlP
9 | nmap :CtrlPTag
10 |
11 | " fugitive
12 | nmap gc :Gcommit
13 | nmap gs :Gstatus
14 |
15 | " 使用上下来调节窗口大小
16 | nmap +:let t:flwwinlayout = winrestcmd()
17 | nmap -:let t:flwwinlayout = winrestcmd()
18 |
19 | " 使用 Y 来复制到行尾
20 | nmap Y y$
21 |
22 | " 使用 gP 来粘贴最近一次 yank 的文字
23 | nmap gp "0p
24 | nmap gP "0P
25 |
26 | " 快速编译
27 | map m :make
28 |
29 | " 切换到 shell
30 | map sh :sh
31 |
32 | " TagList
33 | map :TagbarToggle
34 |
35 | " 命令模式下方便移动光标
36 | if (!has ("gui_win32"))
37 | cmap
38 | cmap
39 | endif
40 |
41 | " 切换粘贴模式
42 | nmap :set invpaste
43 |
44 | " 切换行号
45 | nmap :set invnu
46 |
47 | " 目录中查找内容
48 | nmap :call handy#SearchWord()
49 |
50 |
51 | " ^L 刷新
52 | nnoremap :nohlsearch
53 |
54 | " 当前分屏最大
55 | nmap
56 |
57 | " F7/F8 切换下一条 diff / quickfix
58 | " @see http://vim.wikia.com/wiki/Selecting_changes_in_diff_mode
59 | if &diff
60 | let g:origCursorPos=getpos('.')
61 | autocmd WinEnter * :call setpos('.', g:origCursorPos)
62 | autocmd WinLeave * :let g:origCursorPos=getpos('.')
63 | nmap [c
64 | nmap ]c
65 | else
66 | map :cp
67 | map :cn
68 | endif
69 |
70 | " 编辑 snippet
71 | nmap :call handy#ToggleSnipple()
72 |
73 | " 更方便的
74 | imap ii :w
75 |
76 | " 打开一个临时的缓冲区随便记东西
77 | nmap S :Scratch
78 |
79 | " 交换 0 和 ^
80 | nnoremap 0 ^
81 | nnoremap ^ 0
82 | nnoremap d0 d^
83 | nnoremap d^ d0
84 | nnoremap c0 c^
85 | nnoremap c^ c0
86 | nnoremap s0 s^
87 | nnoremap s^ s0
88 | nnoremap y0 y^
89 | nnoremap y^ y0
90 |
91 | " 快速跳到下一个驼峰位置
92 | nmap t` /[A-Z]
93 |
94 | " 使用 C-i 来调用 complete
95 | inoremap
96 |
97 | " 在 macvim 下通过 cmd+r 来 make 项目
98 | if has("gui_macvim")
99 | nmap :silent make
100 | endif
101 |
102 | " Prevent jump out from current buffer
103 | nnoremap g :call handy#JumpInFile("\", "\")
104 | nnoremap g :call handy#JumpInFile("\", "\")
105 |
106 | " 搜索前先标记当前位置,方便回到当前位置上
107 | nnoremap / ms/
108 | nnoremap ? ms?
109 |
110 | """"""""""""""""""""""""""""""
111 | " => Visual mode related
112 | """"""""""""""""""""""""""""""
113 | " Really useful!
114 | " In visual mode when you press * or # to search for the current selection
115 | vnoremap * :call handy#VisualSearch('f')
116 | vnoremap # :call handy#VisualSearch('b')
117 |
--------------------------------------------------------------------------------
/bundle/Config/plugin/statusline.vim:
--------------------------------------------------------------------------------
1 | " Paste flag
2 | set statusline=%{&paste=='nopaste'?'':'[p]'}[%{CurDir()}]\ %F%m%r%h\ \ %{&fenc!=''?&fenc:&enc}\ %=%l:%c\ %P\ of\ %L
3 |
4 | function! CurDir()
5 | let home = substitute(expand("$HOME"), "\\", "\\\\\\", "g")
6 | return substitute(getcwd(), home, "~", "g")
7 | endfunction
8 |
--------------------------------------------------------------------------------
/bundle/Config/plugin/vimwiki.vim:
--------------------------------------------------------------------------------
1 | " settings for Vimwiki
2 | let g:vimwiki_camel_case=0
3 |
4 |
--------------------------------------------------------------------------------
/bundle/Config/plugin/zencoding.vim:
--------------------------------------------------------------------------------
1 | let g:user_zen_leader_key = ''
2 |
--------------------------------------------------------------------------------
/bundle/customSnippet/snippets/html.snippets:
--------------------------------------------------------------------------------
1 | snippet doc
2 |
3 |
--------------------------------------------------------------------------------
/bundle/customSnippet/snippets/javascript.snippets:
--------------------------------------------------------------------------------
1 | snippet def
2 | define(function(require, exports) {
3 | ${1}
4 | });
5 | snippet req
6 | var ${1:} = require('${2}');
7 | snippet for for length
8 | for (var i=0, l=${1:SomeThing}.length; i
4 | " URL: http://rm.blog.br/vim/syntax/html.vim
5 | " Last Change: 2009 Aug 19
6 | " License: Public domain
7 | " (but let me know if you liked it :) )
8 | "
9 | " Note: This file just adds the new tags from HTML 5
10 | " and don't replace default html.vim syntax file
11 |
12 | " HTML 5 tags
13 | syn keyword htmlTagName contained article aside audio bb canvas command datagrid
14 | syn keyword htmlTagName contained datalist details dialog embed figure footer
15 | syn keyword htmlTagName contained header hgroup keygen mark meter nav output
16 | syn keyword htmlTagName contained progress time ruby rt rp section time video
17 |
18 | " HTML 5 arguments
19 | syn keyword htmlArg contained autofocus placeholder min max step
20 | syn keyword htmlArg contained contenteditable contextmenu draggable hidden item
21 | syn keyword htmlArg contained itemprop list subject spellcheck
22 | " this doesn't work because default syntax file alredy define a 'data' attribute
23 | syn match htmlArg "\<\(data-[\-a-zA-Z0-9_]\+\)=" contained
24 |
--------------------------------------------------------------------------------
/bundle/jslint_fix/ftplugin/javascript/jslint_fix.vim:
--------------------------------------------------------------------------------
1 | " remove jslint key binding
2 | "
3 | if (maparg('dd', 'n') != '')
4 | unmap dd
5 | endif
6 |
7 | if (maparg('dw', 'n') != '')
8 | unmap dw
9 | endif
10 |
--------------------------------------------------------------------------------
/gvimrc:
--------------------------------------------------------------------------------
1 | set guioptions= " 无 gui 界面
2 | if (has ("gui_win32"))
3 | au GUIEnter * simalt ~x " 最大化启动
4 | set guifont=Consolas:h13:cANSI " 字体设置
5 | elseif (has ("gui_x11"))
6 | set guifont=Droid\ Sans\ Mono\ 14 " 字体设置
7 | else
8 | set guifont=Droid\ Sans\ Mono:h18 " 字体设置
9 | endif
10 |
--------------------------------------------------------------------------------
/install.bat:
--------------------------------------------------------------------------------
1 | %USERPROFILE%/bin/elevate.exe fsutil hardlink create %USERPROFILE%\_vimrc %USERPROFILE%\.vim\vimrc
2 | %USERPROFILE%/bin/elevate.exe fsutil hardlink create %USERPROFILE%\_gvimrc %USERPROFILE%\.vim\gvimrc
3 | %USERPROFILE%/bin/junction.exe -q %USERPROFILE%\vimfiles %USERPROFILE%\.vim
4 | cd %USERPROFILE%\.vim
5 | git submodule update --init
6 | md ftplugin\javascript
7 | %USERPROFILE%/bin/junction.exe -q %USERPROFILE%\vimfiles\ftplugin\javascript\jslint %USERPROFILE%\vimfiles\bundle\jslint\ftplugin\javascript\jslint
8 |
9 | echo "Installation finished"
10 | pause
11 |
--------------------------------------------------------------------------------
/install.sh:
--------------------------------------------------------------------------------
1 | ln -sf ~/.vim/vimrc ~/.vimrc
2 | ln -sf ~/.vim/gvimrc ~/.gvimrc
3 | [[ ! -e '~/.vimundodir' ]] || mkdir ~/.vimundodir
4 | [[ ! -e '~/.vim-fuf-data' ]] || mkdir ~/.vim-fuf-data
5 | git submodule update --init
6 |
--------------------------------------------------------------------------------
/vimrc:
--------------------------------------------------------------------------------
1 | " 加载 pathogen
2 | runtime bundle/vim-pathogen/autoload/pathogen.vim
3 | call pathogen#infect()
4 | Helptags
5 |
--------------------------------------------------------------------------------