diff options
author | Hsieh Chin Fan <pham@topo.tw> | 2024-07-05 13:38:44 +0800 |
---|---|---|
committer | Hsieh Chin Fan <pham@topo.tw> | 2024-07-05 13:38:44 +0800 |
commit | b2c650c9c3a5cb67a642eb97c226072b0f4174a6 (patch) | |
tree | 667564ac712c7f84f36a74d52dcf70b003f1848d /vim | |
parent | 99f1573ba9083eb1d4c92d6e415824cc2d39ee79 (diff) |
Update
Diffstat (limited to 'vim')
-rw-r--r-- | vim/autoload/foo.vim | 3 | ||||
-rw-r--r-- | vim/init/keymaps.vim | 3 | ||||
-rw-r--r-- | vim/init/special_highlight.vim | 6 | ||||
-rw-r--r-- | vim/init/style.vim | 258 |
4 files changed, 134 insertions, 136 deletions
diff --git a/vim/autoload/foo.vim b/vim/autoload/foo.vim deleted file mode 100644 index 223f482..0000000 --- a/vim/autoload/foo.vim +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | function bar#Hello() | ||
2 | echo "Hello" | ||
3 | endfunction | ||
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 |
82 | nnoremap cd :cd %:p:h<CR>:pwd<CR> | 82 | nnoremap cd :cd %:p:h<CR>:pwd<CR> |
83 | " Switch CDW to root git directory | 83 | " Switch CWD to root git directory |
84 | nnoremap cdg :execute 'cd' fnameescape(fnamemodify(finddir('.git', escape(expand('%:p:h'), ' ') . ';'), ':h'))<CR>:pwd<CR> | 84 | nnoremap cdg :execute 'cd' fnameescape(fnamemodify(finddir('.git', escape(expand('%:p:h'), ' ') . ';'), ':h'))<CR>:pwd<CR> |
85 | |||
85 | " alias for cd | 86 | " alias for cd |
86 | nnoremap cdd :cd<space> | 87 | nnoremap cdd :cd<space> |
87 | nnoremap cd.. :cd .. <CR>:pwd<CR> | 88 | nnoremap 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 @@ | |||
5 | syntax enable | 5 | syntax enable |
6 | 6 | ||
7 | function! GetHighlightGroupName() | 7 | function! 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 |
11 | endfunction | 11 | endfunction |
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 | |||
77 | hi! clear SpellRare | 77 | hi! clear SpellRare |
78 | hi! clear SpellLocal | 78 | hi! clear SpellLocal |
79 | if has('gui_running') | 79 | if 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 |
84 | else | 84 | else |
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 |
89 | endif | 89 | endif |
90 | 90 | ||
91 | " 去掉 sign column 的白色背景 | 91 | " 去掉 sign column 的白色背景 |
@@ -93,7 +93,7 @@ hi! SignColumn guibg=NONE ctermbg=NONE | |||
93 | 93 | ||
94 | " 修改行号为浅灰色,默认主题的黄色行号很难看,换主题可以仿照修改 | 94 | " 修改行号为浅灰色,默认主题的黄色行号很难看,换主题可以仿照修改 |
95 | highlight LineNr term=bold cterm=NONE ctermfg=DarkGrey ctermbg=NONE | 95 | highlight 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 | " 修正补全目录的色彩:默认太难看 |
99 | hi! Pmenu guibg=gray guifg=black ctermbg=gray ctermfg=black | 99 | hi! 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 | "---------------------------------------------------------------------- |
106 | if has('terminal') && exists(':terminal') == 2 | 106 | if 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 |
113 | endif | 113 | endif |
114 | 114 | ||
115 | 115 | ||
@@ -117,8 +117,8 @@ endif | |||
117 | " quickfix 设置,隐藏行号 | 117 | " quickfix 设置,隐藏行号 |
118 | "---------------------------------------------------------------------- | 118 | "---------------------------------------------------------------------- |
119 | augroup VimInitStyle | 119 | augroup VimInitStyle |
120 | au! | 120 | au! |
121 | au FileType qf setlocal nonumber | 121 | au FileType qf setlocal nonumber |
122 | augroup END | 122 | augroup END |
123 | 123 | ||
124 | 124 | ||
@@ -129,7 +129,7 @@ augroup END | |||
129 | " 3: [1] filename.txt | 129 | " 3: [1] filename.txt |
130 | "---------------------------------------------------------------------- | 130 | "---------------------------------------------------------------------- |
131 | if has('gui_running') | 131 | if has('gui_running') |
132 | let g:config_vim_tab_style = 3 | 132 | let g:config_vim_tab_style = 3 |
133 | endif | 133 | endif |
134 | 134 | ||
135 | 135 | ||
@@ -137,31 +137,31 @@ endif | |||
137 | " 终端下的 tabline | 137 | " 终端下的 tabline |
138 | "---------------------------------------------------------------------- | 138 | "---------------------------------------------------------------------- |
139 | function! Vim_NeatTabLine() | 139 | function! 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 |
165 | endfunc | 165 | endfunc |
166 | 166 | ||
167 | 167 | ||
@@ -169,39 +169,39 @@ endfunc | |||
169 | " 需要显示到标签上的文件名 | 169 | " 需要显示到标签上的文件名 |
170 | "---------------------------------------------------------------------- | 170 | "---------------------------------------------------------------------- |
171 | function! Vim_NeatBuffer(bufnr, fullname) | 171 | function! 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 |
205 | endfunc | 205 | endfunc |
206 | 206 | ||
207 | 207 | ||
@@ -209,23 +209,23 @@ endfunc | |||
209 | " 标签栏文字,使用 [1] filename 的模式 | 209 | " 标签栏文字,使用 [1] filename 的模式 |
210 | "---------------------------------------------------------------------- | 210 | "---------------------------------------------------------------------- |
211 | function! Vim_NeatTabLabel(n) | 211 | function! 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 |
229 | endfunc | 229 | endfunc |
230 | 230 | ||
231 | 231 | ||
@@ -233,23 +233,23 @@ endfunc | |||
233 | " GUI 下的标签文字,使用 [1] filename 的模式 | 233 | " GUI 下的标签文字,使用 [1] filename 的模式 |
234 | "---------------------------------------------------------------------- | 234 | "---------------------------------------------------------------------- |
235 | function! Vim_NeatGuiTabLabel() | 235 | function! 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 |
253 | endfunc | 253 | endfunc |
254 | 254 | ||
255 | 255 | ||
@@ -258,25 +258,25 @@ endfunc | |||
258 | " 设置 GUI 标签的 tips: 显示当前标签有哪些窗口 | 258 | " 设置 GUI 标签的 tips: 显示当前标签有哪些窗口 |
259 | "---------------------------------------------------------------------- | 259 | "---------------------------------------------------------------------- |
260 | function! Vim_NeatGuiTabTip() | 260 | function! 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 |
280 | endfunc | 280 | endfunc |
281 | 281 | ||
282 | 282 | ||