aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim/init
diff options
context:
space:
mode:
Diffstat (limited to 'vim/init')
-rw-r--r--vim/init/keymaps.vim3
-rw-r--r--vim/init/special_highlight.vim6
-rw-r--r--vim/init/style.vim258
3 files changed, 134 insertions, 133 deletions
diff --git a/vim/init/keymaps.vim b/vim/init/keymaps.vim
index 345ebb2..9128b8d 100644
--- a/vim/init/keymaps.vim
+++ b/vim/init/keymaps.vim
@@ -80,8 +80,9 @@ map <leader>pp :setlocal paste!<CR>
80 80
81" Switch CWD to the directory of the open buffer 81" Switch CWD to the directory of the open buffer
82nnoremap cd :cd %:p:h<CR>:pwd<CR> 82nnoremap cd :cd %:p:h<CR>:pwd<CR>
83" Switch CDW to root git directory 83" Switch CWD to root git directory
84nnoremap cdg :execute 'cd' fnameescape(fnamemodify(finddir('.git', escape(expand('%:p:h'), ' ') . ';'), ':h'))<CR>:pwd<CR> 84nnoremap cdg :execute 'cd' fnameescape(fnamemodify(finddir('.git', escape(expand('%:p:h'), ' ') . ';'), ':h'))<CR>:pwd<CR>
85
85" alias for cd 86" alias for cd
86nnoremap cdd :cd<space> 87nnoremap cdd :cd<space>
87nnoremap cd.. :cd .. <CR>:pwd<CR> 88nnoremap cd.. :cd .. <CR>:pwd<CR>
diff --git a/vim/init/special_highlight.vim b/vim/init/special_highlight.vim
index 9729183..26d2787 100644
--- a/vim/init/special_highlight.vim
+++ b/vim/init/special_highlight.vim
@@ -5,9 +5,9 @@
5syntax enable 5syntax enable
6 6
7function! GetHighlightGroupName() 7function! GetHighlightGroupName()
8 let l:syntaxID = synID(line('.'), col('.'), 1) 8 let l:syntaxID = synID(line('.'), col('.'), 1)
9 let l:groupName = synIDattr(l:syntaxID, 'name') 9 let l:groupName = synIDattr(l:syntaxID, 'name')
10 echo "Highlight Group Name: " . l:groupName 10 echo "Highlight Group Name: " . l:groupName
11endfunction 11endfunction
12 12
13" Defualt highlight for matched parenthesis is so weird in many colorscheme 13" Defualt highlight for matched parenthesis is so weird in many colorscheme
diff --git a/vim/init/style.vim b/vim/init/style.vim
index a96601a..4a3d712 100644
--- a/vim/init/style.vim
+++ b/vim/init/style.vim
@@ -77,15 +77,15 @@ hi! clear SpellCap
77hi! clear SpellRare 77hi! clear SpellRare
78hi! clear SpellLocal 78hi! clear SpellLocal
79if has('gui_running') 79if has('gui_running')
80 hi! SpellBad gui=undercurl guisp=red 80 hi! SpellBad gui=undercurl guisp=red
81 hi! SpellCap gui=undercurl guisp=blue 81 hi! SpellCap gui=undercurl guisp=blue
82 hi! SpellRare gui=undercurl guisp=magenta 82 hi! SpellRare gui=undercurl guisp=magenta
83 hi! SpellRare gui=undercurl guisp=cyan 83 hi! SpellRare gui=undercurl guisp=cyan
84else 84else
85 hi! SpellBad term=standout ctermfg=1 term=underline cterm=underline 85 hi! SpellBad term=standout ctermfg=1 term=underline cterm=underline
86 hi! SpellCap term=underline cterm=underline 86 hi! SpellCap term=underline cterm=underline
87 hi! SpellRare term=underline cterm=underline 87 hi! SpellRare term=underline cterm=underline
88 hi! SpellLocal term=underline cterm=underline 88 hi! SpellLocal term=underline cterm=underline
89endif 89endif
90 90
91" 去掉 sign column 的白色背景 91" 去掉 sign column 的白色背景
@@ -93,7 +93,7 @@ hi! SignColumn guibg=NONE ctermbg=NONE
93 93
94" 修改行号为浅灰色,默认主题的黄色行号很难看,换主题可以仿照修改 94" 修改行号为浅灰色,默认主题的黄色行号很难看,换主题可以仿照修改
95highlight LineNr term=bold cterm=NONE ctermfg=DarkGrey ctermbg=NONE 95highlight LineNr term=bold cterm=NONE ctermfg=DarkGrey ctermbg=NONE
96 \ gui=NONE guifg=DarkGrey guibg=NONE 96 \ gui=NONE guifg=DarkGrey guibg=NONE
97 97
98" 修正补全目录的色彩:默认太难看 98" 修正补全目录的色彩:默认太难看
99hi! Pmenu guibg=gray guifg=black ctermbg=gray ctermfg=black 99hi! Pmenu guibg=gray guifg=black ctermbg=gray ctermfg=black
@@ -104,12 +104,12 @@ hi! PmenuSel guibg=gray guifg=brown ctermbg=brown ctermfg=gray
104" 终端设置,隐藏行号和侧边栏 104" 终端设置,隐藏行号和侧边栏
105"---------------------------------------------------------------------- 105"----------------------------------------------------------------------
106if has('terminal') && exists(':terminal') == 2 106if has('terminal') && exists(':terminal') == 2
107 if exists('##TerminalOpen') 107 if exists('##TerminalOpen')
108 augroup VimUnixTerminalGroup 108 augroup VimUnixTerminalGroup
109 au! 109 au!
110 au TerminalOpen * setlocal nonumber signcolumn=no 110 au TerminalOpen * setlocal nonumber signcolumn=no
111 augroup END 111 augroup END
112 endif 112 endif
113endif 113endif
114 114
115 115
@@ -117,8 +117,8 @@ endif
117" quickfix 设置,隐藏行号 117" quickfix 设置,隐藏行号
118"---------------------------------------------------------------------- 118"----------------------------------------------------------------------
119augroup VimInitStyle 119augroup VimInitStyle
120 au! 120 au!
121 au FileType qf setlocal nonumber 121 au FileType qf setlocal nonumber
122augroup END 122augroup END
123 123
124 124
@@ -129,7 +129,7 @@ augroup END
129" 3: [1] filename.txt 129" 3: [1] filename.txt
130"---------------------------------------------------------------------- 130"----------------------------------------------------------------------
131if has('gui_running') 131if has('gui_running')
132 let g:config_vim_tab_style = 3 132 let g:config_vim_tab_style = 3
133endif 133endif
134 134
135 135
@@ -137,31 +137,31 @@ endif
137" 终端下的 tabline 137" 终端下的 tabline
138"---------------------------------------------------------------------- 138"----------------------------------------------------------------------
139function! Vim_NeatTabLine() 139function! Vim_NeatTabLine()
140 let s = '' 140 let s = ''
141 for i in range(tabpagenr('$')) 141 for i in range(tabpagenr('$'))
142 " select the highlighting 142 " select the highlighting
143 if i + 1 == tabpagenr() 143 if i + 1 == tabpagenr()
144 let s .= '%#TabLineSel#' 144 let s .= '%#TabLineSel#'
145 else 145 else
146 let s .= '%#TabLine#' 146 let s .= '%#TabLine#'
147 endif 147 endif
148 148
149 " set the tab page number (for mouse clicks) 149 " set the tab page number (for mouse clicks)
150 let s .= '%' . (i + 1) . 'T' 150 let s .= '%' . (i + 1) . 'T'
151 151
152 " the label is made by MyTabLabel() 152 " the label is made by MyTabLabel()
153 let s .= ' %{Vim_NeatTabLabel(' . (i + 1) . ')} ' 153 let s .= ' %{Vim_NeatTabLabel(' . (i + 1) . ')} '
154 endfor 154 endfor
155 155
156 " after the last tab fill with TabLineFill and reset tab page nr 156 " after the last tab fill with TabLineFill and reset tab page nr
157 let s .= '%#TabLineFill#%T' 157 let s .= '%#TabLineFill#%T'
158 158
159 " right-align the label to close the current tab page 159 " right-align the label to close the current tab page
160 if tabpagenr('$') > 1 160 if tabpagenr('$') > 1
161 let s .= '%=%#TabLine#%999XX' 161 let s .= '%=%#TabLine#%999XX'
162 endif 162 endif
163 163
164 return s 164 return s
165endfunc 165endfunc
166 166
167 167
@@ -169,39 +169,39 @@ endfunc
169" 需要显示到标签上的文件名 169" 需要显示到标签上的文件名
170"---------------------------------------------------------------------- 170"----------------------------------------------------------------------
171function! Vim_NeatBuffer(bufnr, fullname) 171function! Vim_NeatBuffer(bufnr, fullname)
172 let l:name = bufname(a:bufnr) 172 let l:name = bufname(a:bufnr)
173 if getbufvar(a:bufnr, '&modifiable') 173 if getbufvar(a:bufnr, '&modifiable')
174 if l:name == '' 174 if l:name == ''
175 return '[No Name]' 175 return '[No Name]'
176 else 176 else
177 if a:fullname 177 if a:fullname
178 return fnamemodify(l:name, ':p') 178 return fnamemodify(l:name, ':p')
179 else 179 else
180 let aname = fnamemodify(l:name, ':p') 180 let aname = fnamemodify(l:name, ':p')
181 let sname = fnamemodify(aname, ':t') 181 let sname = fnamemodify(aname, ':t')
182 if sname == '' 182 if sname == ''
183 let test = fnamemodify(aname, ':h:t') 183 let test = fnamemodify(aname, ':h:t')
184 if test != '' 184 if test != ''
185 return '<'. test . '>' 185 return '<'. test . '>'
186 endif 186 endif
187 endif 187 endif
188 return sname 188 return sname
189 endif 189 endif
190 endif 190 endif
191 else 191 else
192 let l:buftype = getbufvar(a:bufnr, '&buftype') 192 let l:buftype = getbufvar(a:bufnr, '&buftype')
193 if l:buftype == 'quickfix' 193 if l:buftype == 'quickfix'
194 return '[Quickfix]' 194 return '[Quickfix]'
195 elseif l:name != '' 195 elseif l:name != ''
196 if a:fullname 196 if a:fullname
197 return '-'.fnamemodify(l:name, ':p') 197 return '-'.fnamemodify(l:name, ':p')
198 else 198 else
199 return '-'.fnamemodify(l:name, ':t') 199 return '-'.fnamemodify(l:name, ':t')
200 endif 200 endif
201 else 201 else
202 endif 202 endif
203 return '[No Name]' 203 return '[No Name]'
204 endif 204 endif
205endfunc 205endfunc
206 206
207 207
@@ -209,23 +209,23 @@ endfunc
209" 标签栏文字,使用 [1] filename 的模式 209" 标签栏文字,使用 [1] filename 的模式
210"---------------------------------------------------------------------- 210"----------------------------------------------------------------------
211function! Vim_NeatTabLabel(n) 211function! Vim_NeatTabLabel(n)
212 let l:buflist = tabpagebuflist(a:n) 212 let l:buflist = tabpagebuflist(a:n)
213 let l:winnr = tabpagewinnr(a:n) 213 let l:winnr = tabpagewinnr(a:n)
214 let l:bufnr = l:buflist[l:winnr - 1] 214 let l:bufnr = l:buflist[l:winnr - 1]
215 let l:fname = Vim_NeatBuffer(l:bufnr, 0) 215 let l:fname = Vim_NeatBuffer(l:bufnr, 0)
216 let l:num = a:n 216 let l:num = a:n
217 let style = get(g:, 'config_vim_tab_style', 0) 217 let style = get(g:, 'config_vim_tab_style', 0)
218 if style == 0 218 if style == 0
219 return l:fname 219 return l:fname
220 elseif style == 1 220 elseif style == 1
221 return "[".l:num."] ".l:fname 221 return "[".l:num."] ".l:fname
222 elseif style == 2 222 elseif style == 2
223 return "".l:num." - ".l:fname 223 return "".l:num." - ".l:fname
224 endif 224 endif
225 if getbufvar(l:bufnr, '&modified') 225 if getbufvar(l:bufnr, '&modified')
226 return "[".l:num."] ".l:fname." +" 226 return "[".l:num."] ".l:fname." +"
227 endif 227 endif
228 return "[".l:num."] ".l:fname 228 return "[".l:num."] ".l:fname
229endfunc 229endfunc
230 230
231 231
@@ -233,23 +233,23 @@ endfunc
233" GUI 下的标签文字,使用 [1] filename 的模式 233" GUI 下的标签文字,使用 [1] filename 的模式
234"---------------------------------------------------------------------- 234"----------------------------------------------------------------------
235function! Vim_NeatGuiTabLabel() 235function! Vim_NeatGuiTabLabel()
236 let l:num = v:lnum 236 let l:num = v:lnum
237 let l:buflist = tabpagebuflist(l:num) 237 let l:buflist = tabpagebuflist(l:num)
238 let l:winnr = tabpagewinnr(l:num) 238 let l:winnr = tabpagewinnr(l:num)
239 let l:bufnr = l:buflist[l:winnr - 1] 239 let l:bufnr = l:buflist[l:winnr - 1]
240 let l:fname = Vim_NeatBuffer(l:bufnr, 0) 240 let l:fname = Vim_NeatBuffer(l:bufnr, 0)
241 let style = get(g:, 'config_vim_tab_style', 0) 241 let style = get(g:, 'config_vim_tab_style', 0)
242 if style == 0 242 if style == 0
243 return l:fname 243 return l:fname
244 elseif style == 1 244 elseif style == 1
245 return "[".l:num."] ".l:fname 245 return "[".l:num."] ".l:fname
246 elseif style == 2 246 elseif style == 2
247 return "".l:num." - ".l:fname 247 return "".l:num." - ".l:fname
248 endif 248 endif
249 if getbufvar(l:bufnr, '&modified') 249 if getbufvar(l:bufnr, '&modified')
250 return "[".l:num."] ".l:fname." +" 250 return "[".l:num."] ".l:fname." +"
251 endif 251 endif
252 return "[".l:num."] ".l:fname 252 return "[".l:num."] ".l:fname
253endfunc 253endfunc
254 254
255 255
@@ -258,25 +258,25 @@ endfunc
258" 设置 GUI 标签的 tips: 显示当前标签有哪些窗口 258" 设置 GUI 标签的 tips: 显示当前标签有哪些窗口
259"---------------------------------------------------------------------- 259"----------------------------------------------------------------------
260function! Vim_NeatGuiTabTip() 260function! Vim_NeatGuiTabTip()
261 let tip = '' 261 let tip = ''
262 let bufnrlist = tabpagebuflist(v:lnum) 262 let bufnrlist = tabpagebuflist(v:lnum)
263 for bufnr in bufnrlist 263 for bufnr in bufnrlist
264 " separate buffer entries 264 " separate buffer entries
265 if tip != '' 265 if tip != ''
266 let tip .= " \n" 266 let tip .= " \n"
267 endif 267 endif
268 " Add name of buffer 268 " Add name of buffer
269 let name = Vim_NeatBuffer(bufnr, 1) 269 let name = Vim_NeatBuffer(bufnr, 1)
270 let tip .= name 270 let tip .= name
271 " add modified/modifiable flags 271 " add modified/modifiable flags
272 if getbufvar(bufnr, "&modified") 272 if getbufvar(bufnr, "&modified")
273 let tip .= ' [+]' 273 let tip .= ' [+]'
274 endif 274 endif
275 if getbufvar(bufnr, "&modifiable")==0 275 if getbufvar(bufnr, "&modifiable")==0
276 let tip .= ' [-]' 276 let tip .= ' [-]'
277 endif 277 endif
278 endfor 278 endfor
279 return tip 279 return tip
280endfunc 280endfunc
281 281
282 282