SHOW:
|
|
- or go back to the newest paste.
| 1 | " Tim Holt's vimrc file | |
| 2 | " Created probably in 2010, Idunno. | |
| 3 | " modified extensively continously since then. | |
| 4 | " | |
| 5 | " This file is full of ‘*’ command ‘links’ __in_this_format. | |
| 6 | " | |
| 7 | " Free to use for anyone | |
| 8 | ||
| 9 | "│-v-1 │ To-Do's | |
| 10 | "└─────┴───────── | |
| 11 | " (not actually settings, just settings todo's) | |
| 12 | " TODO Look into the 'tabline' setting | |
| 13 | " TODO When numbers are off, change window width. | |
| 14 | ||
| 15 | "│-v-1 │ “precedence” necessaries. | |
| 16 | "└─────┴─────────────────────────── | |
| 17 | "For virtually everything, and sanity in general: | |
| 18 | set nocp | |
| 19 | filetype plugin on | |
| 20 | ||
| 21 | "For that which __requires_utf_8: | |
| 22 | set encoding=utf8 | |
| 23 | ||
| 24 | " Note: Make sure to link here from _every_ line that has a prerequisite, | |
| 25 | " and from every location in this file where the prerequisite would more | |
| 26 | " naturally be categorized. | |
| 27 | ||
| 28 | ||
| 29 | "│-v-1 │ Plug-in Settings | |
| 30 | "└─┬───┴─┬──────────────── | |
| 31 | "│-v-2 │ plug-in manager | |
| 32 | "└─────┴───────────────── | |
| 33 | " pathogen startup stuff | |
| 34 | filetype off | |
| 35 | call pathogen#infect() | |
| 36 | call pathogen#helptags() | |
| 37 | filetype plugin on | |
| 38 | ||
| 39 | ||
| 40 | "│-v-2 │ Individual plug-ins | |
| 41 | "└─┬───┴─┬─────────────────── | |
| 42 | "│-v-3 │ Gundo Settings | |
| 43 | "└─────┴──────────────── | |
| 44 | nnoremap <silent> <leader>u :GundoToggle<cr> | |
| 45 | let g:gundo_help=1 | |
| 46 | let g:gundo_right=0 | |
| 47 | let g:gundo_preview_bottom=0 | |
| 48 | ||
| 49 | " Mappings (@__gundo_mappings): | |
| 50 | " toggle Gundo | |
| 51 | ||
| 52 | "│-v-3 │ vimwiki Settings | |
| 53 | "└─────┴────────────────── | |
| 54 | let g:vimwiki_camel_case = 0 | |
| 55 | ||
| 56 | let wiki_1 = {}
| |
| 57 | let wiki_1.path = '~/Dropbox/Vim/vimwiki/' | |
| 58 | let wiki_1.nested_syntaxes = {'c++': 'cpp', 'asm': 'asm', 'sh': 'sh'}
| |
| 59 | ||
| 60 | let wiki_2 = {}
| |
| 61 | let wiki_2.path = '~/Dropbox/timwrite/vimfriendly/Inhuman_Universe/wiki/' | |
| 62 | ||
| 63 | let g:vimwiki_list = [wiki_1, wiki_2] | |
| 64 | ||
| 65 | "│-v-3 │ Full-Screen Mode Settings | |
| 66 | "└─────┴─────────────────────────── | |
| 67 | " Mappings (@__full_screen_mappings): | |
| 68 | function! ToggleFullScreen() | |
| 69 | if has('win32')
| |
| 70 | :call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)
| |
| 71 | endif | |
| 72 | endfunction | |
| 73 | ||
| 74 | "│-v-3 │ 'a' settings | |
| 75 | "└─────┴────────────── | |
| 76 | " Mappings (@__a_mappings): | |
| 77 | ||
| 78 | "│-v-3 │ Rainbow Parentheses Settings | |
| 79 | "└─────┴────────────────────────────── | |
| 80 | " (Steve Losh's modified version, cleaned up and jazz) | |
| 81 | ||
| 82 | " Mappings (@__rainbow_parentheses_mappings): | |
| 83 | autocmd BufEnter * RainbowParenthesesLoadRound | |
| 84 | autocmd BufEnter * RainbowParenthesesLoadBraces | |
| 85 | ||
| 86 | "│-v-1 │ Set-up | |
| 87 | "└─┬───┴─┬────── | |
| 88 | "│-v-2 │ Behavior | |
| 89 | "└─┬───┴─┬──────── | |
| 90 | "│-v-3 │ “meta” (settings settings) | |
| 91 | "└─────┴──────────────────────────── | |
| 92 | ||
| 93 | " Quick settings access | |
| 94 | " TODO: maybe make this a function | |
| 95 | nnoremap <silent> <F2> :tabedit $MYVIMRC<cr>:lcd $HOME<cr>:vs ~/Dropbox/Vim/vimrc.vim<cr> | |
| 96 | ||
| 97 | ||
| 98 | " Reload vimrc when saved | |
| 99 | au! BufWritePost $MYVIMRC source $MYVIMRC | |
| 100 | ||
| 101 | " Doesn't work, because MyRefreshFullScreen doesn't work. | |
| 102 | " TODO: evaluate this thing. | |
| 103 | function! MyRefreshVimrc() | |
| 104 | :source $MYVIMRC | |
| 105 | :call MyRefreshFullScreen() | |
| 106 | endfunction | |
| 107 | ||
| 108 | "│-v-3 │ Tweakings/Feature Settings | |
| 109 | "└─┬───┴─┬────────────────────────── | |
| 110 | "│-v-4 │ Intended/Built-In Settings | |
| 111 | "└─┬───┴─┬────────────────────────── | |
| 112 | "│-v-5 │ Editing Settings | |
| 113 | "└─────┴────────────────── | |
| 114 | set expandtab | |
| 115 | set shiftwidth=2 | |
| 116 | set softtabstop=2 | |
| 117 | set tabstop=2 | |
| 118 | set backspace=indent,eol,start | |
| 119 | set ruler | |
| 120 | :syntax enable | |
| 121 | :set cindent | |
| 122 | ||
| 123 | :set switchbuf=useopen,usetab,newtab | |
| 124 | ||
| 125 | " Allows the closing of buffers without saving. | |
| 126 | set hidden | |
| 127 | ||
| 128 | " allows cursor position past true end of line | |
| 129 | set virtualedit=all | |
| 130 | ||
| 131 | " Whether jumping to another line (like with "G") goes to the start | |
| 132 | " of the line, or tries to stay in the same column. | |
| 133 | set nostartofline | |
| 134 | ||
| 135 | "│-v-5 │ Spelling | |
| 136 | "└─────┴────────── | |
| 137 | set spelllang=en_us,es,eo | |
| 138 | ||
| 139 | "│-v-5 │ Status Line | |
| 140 | "└─────┴───────────── | |
| 141 | ":set statusline=%F%m%r%h%w\ (%{&ff})\ typ:%Y\ ASCII=\%04.8b\ HEX=\%04.4B\ %l,%v %p%%\ LEN=%L
| |
| 142 | "set statusline=%<[%02n]\ %F%(\ %m%h%w%y%r%)\ %a%=\ %8l,%c%V/%L\ (%P)\ [%08O:%02B] | |
| 143 | set statusline=%<[%02n]\ %F%(\ %m%h%w%y%r%)\ %a%=\ %8l,%c%V/%L\ (%P)\ [%02B] | |
| 144 | ||
| 145 | set laststatus=2 | |
| 146 | " “The value of this option influences when the | |
| 147 | " last window will have a status line…” | |
| 148 | ||
| 149 | "│-v-5 │ Folds | |
| 150 | "└─────┴────────── | |
| 151 | :set foldmethod=marker | |
| 152 | :set foldmarker=-v-,-^- | |
| 153 | ||
| 154 | "│-v-5 │ WildMenu | |
| 155 | "└─────┴────────── | |
| 156 | set wildmode=longest,list,full | |
| 157 | :set wildmenu | |
| 158 | ||
| 159 | "│-v-5 │ persistent undo | |
| 160 | "└─────┴───────────────── | |
| 161 | set undofile | |
| 162 | ||
| 163 | "│-v-5 │ search settings | |
| 164 | "└─────┴───────────────── | |
| 165 | set ignorecase | |
| 166 | set smartcase | |
| 167 | set gdefault | |
| 168 | set incsearch | |
| 169 | set showmatch | |
| 170 | set hlsearch | |
| 171 | " Mappings (@__search_mappings): | |
| 172 | " Switch off search highlighting. | |
| 173 | ||
| 174 | "│-v-5 │ netrw settings | |
| 175 | "└─────┴──────────────── | |
| 176 | let g:netrw_liststyle=3 | |
| 177 | ||
| 178 | "│-v-5 │ External Shell Settings | |
| 179 | "└─────┴───────────────────────── | |
| 180 | " __requires_utf_8: | |
| 181 | if has('win32')
| |
| 182 | set shell=powershell.exe | |
| 183 | set shellcmdflag=-c | |
| 184 | set shellpipe=| | |
| 185 | set shellredir=> | |
| 186 | endif | |
| 187 | ||
| 188 | "│-v-4 │ Customized behavior | |
| 189 | "└─┬───┴─┬─────────────────── | |
| 190 | "│-v-5 │ (function) Toggle Spell Checking. | |
| 191 | "└─────┴─────────────────────────────────── | |
| 192 | " (mapping @__spell_check_mapping) | |
| 193 | let g:timspellmode = 0 | |
| 194 | function! g:ToggleSpellMode() | |
| 195 | if g:timspellmode == 0 | |
| 196 | let g:timspellmode = 1 | |
| 197 | set spell | |
| 198 | else | |
| 199 | let g:timspellmode = 0 | |
| 200 | set nospell | |
| 201 | endif | |
| 202 | endfunction | |
| 203 | "│-v-5 │ (function) Box character (turburul) hax | |
| 204 | "└─────┴───────────────────────────────────────── | |
| 205 | " This: | |
| 206 | " r----v-, | |
| 207 | " | | | | |
| 208 | " >----+-< | |
| 209 | " | | | | |
| 210 | " >————+—< | |
| 211 | " | | | | |
| 212 | " L----^-’ | |
| 213 | " | |
| 214 | " Becomes This: | |
| 215 | " ┌────┬─┐ | |
| 216 | " │ │ │ | |
| 217 | " ├────┼─┤ | |
| 218 | " │ │ │ | |
| 219 | " ├────┼─┤ | |
| 220 | " │ │ │ | |
| 221 | " └────┴─┘ | |
| 222 | " (mapping @__box_characters_mapping) | |
| 223 | function! g:BoxCharacters() | |
| 224 | :s'r'┌'e | |
| 225 | gv | |
| 226 | :s','┐'e | |
| 227 | gv | |
| 228 | :s'’'┘'e | |
| 229 | gv | |
| 230 | :s/'/┘/e | |
| 231 | gv | |
| 232 | :s'L'└'e | |
| 233 | ||
| 234 | gv | |
| 235 | :s'|'│'e | |
| 236 | gv | |
| 237 | :s'-'─'e | |
| 238 | gv | |
| 239 | :s'—'─'e | |
| 240 | gv | |
| 241 | :s'+'┼'e | |
| 242 | ||
| 243 | gv | |
| 244 | :s'\^'┴'e | |
| 245 | gv | |
| 246 | :s'>'├'e | |
| 247 | gv | |
| 248 | :s'v'┬'e | |
| 249 | gv | |
| 250 | :s'T'┬'e | |
| 251 | gv | |
| 252 | :s'<'┤'e | |
| 253 | endfunction | |
| 254 | "│-v-5 │ (functions) Multi-Window automatic stuff | |
| 255 | "└─────┴────────────────────────────────────────── | |
| 256 | " These settings rely heavily on the specific ways I personally use Vim. | |
| 257 | " (auto-commands @__multi_window_autocmds) | |
| 258 | ||
| 259 | function! TimWinLeaveWithGundo() | |
| 260 | if !GundoInTab() && g:timdisplaymode == 'code' | |
| 261 | :vertical resize | |
| 262 | :set nowrap | |
| 263 | :set norelativenumber | |
| 264 | :set nonumber | |
| 265 | endif | |
| 266 | endfunction | |
| 267 | ||
| 268 | function! TimWinEnterWithGundo() | |
| 269 | if !GundoInTab() && g:timdisplaymode == 'code' | |
| 270 | if g:tim_number_mode == 0 | |
| 271 | :vertical resize 81 | |
| 272 | else | |
| 273 | :vertical resize 85 | |
| 274 | endif | |
| 275 | :set wrap | |
| 276 | :call g:TimDisplayNumbers() | |
| 277 | endif | |
| 278 | endfunction | |
| 279 | ||
| 280 | function! GundoInTab() | |
| 281 | let s:current_tabpagebuflist = tabpagebuflist() | |
| 282 | for i in s:current_tabpagebuflist | |
| 283 | if bufname(i) == "__Gundo__" | |
| 284 | return 1 | |
| 285 | endif | |
| 286 | endfor | |
| 287 | return 0 | |
| 288 | endfunction | |
| 289 | ||
| 290 | "│-v-5 │ (functions) Line-number Mode switching | |
| 291 | "└─────┴──────────────────────────────────────── | |
| 292 | " (mappings @__line_number_modes_mappings) | |
| 293 | ||
| 294 | let g:tim_number_mode = 1 | |
| 295 | ||
| 296 | function! g:ToggleNuMode(...) | |
| 297 | if a:0 | |
| 298 | let g:tim_number_mode = a:1 " TODO: use this somewhere. | |
| 299 | else | |
| 300 | let g:tim_number_mode += 1 | |
| 301 | endif | |
| 302 | ||
| 303 | if g:tim_number_mode > 2 | |
| 304 | let g:tim_number_mode = 0 | |
| 305 | endif | |
| 306 | if g:tim_number_mode < 0 | |
| 307 | let g:tim_number_mode = 2 | |
| 308 | endif | |
| 309 | ||
| 310 | call g:TimDisplayNumbers() | |
| 311 | endfunc | |
| 312 | ||
| 313 | function! g:TimDisplayNumbers() | |
| 314 | if(g:tim_number_mode == 1) | |
| 315 | if g:timdisplaymode == 'code' | |
| 316 | :vertical resize 85 | |
| 317 | endif | |
| 318 | set number | |
| 319 | elseif(g:tim_number_mode == 2) | |
| 320 | if g:timdisplaymode == 'code' | |
| 321 | :vertical resize 85 | |
| 322 | endif | |
| 323 | set relativenumber | |
| 324 | else | |
| 325 | if g:timdisplaymode == 'code' | |
| 326 | :vertical resize 81 | |
| 327 | endif | |
| 328 | set nonumber | |
| 329 | set norelativenumber | |
| 330 | endif | |
| 331 | endfunc | |
| 332 | ||
| 333 | "│-v-3 │ Mappings, Auto-Commands & Abbreviations. | |
| 334 | "└─┬───┴─┬──────────────────────────────────────── | |
| 335 | "│-v-4 │ Mappings | |
| 336 | "└─┬───┴─┬──────── | |
| 337 | "│-v-5 │ Leader Key Settings | |
| 338 | "└─────┴───────────────────── | |
| 339 | let mapleader = "," | |
| 340 | " doesn't work?: | |
| 341 | noremap <C-,> <leader> | |
| 342 | ||
| 343 | "│-v-5 │ navigation remaps | |
| 344 | "└─────┴───────────────────── | |
| 345 | nnoremap <tab> % | |
| 346 | vnoremap <tab> % | |
| 347 | ||
| 348 | nnoremap <silent> <leader>t :tabs<cr> | |
| 349 | nnoremap <silent> <leader>b :ls<cr> | |
| 350 | ||
| 351 | nnoremap j gj | |
| 352 | nnoremap k gk | |
| 353 | ||
| 354 | nnoremap <leader>h <C-W>h | |
| 355 | nnoremap <leader>l <C-W>l | |
| 356 | nnoremap <leader>j <C-W>j | |
| 357 | nnoremap <leader>k <C-W>k | |
| 358 | " for use with the numeric version: | |
| 359 | nnoremap <leader>W <C-W><C-W> | |
| 360 | ||
| 361 | "│-v-5 │ Normal-Mode alternative access. | |
| 362 | "└─────┴───────────────────────────────── | |
| 363 | " TODO: Change the windows mapping to changing caps lock to esc. | |
| 364 | if has('win32')
| |
| 365 | inoremap hh <esc> | |
| 366 | cnoremap hh <esc> | |
| 367 | endif | |
| 368 | ||
| 369 | "│-v-5 │ toggle showing of invisible characters | |
| 370 | "└─────┴──────────────────────────────────────── | |
| 371 | nnoremap <silent> <leader>i :set list!<cr> | |
| 372 | ||
| 373 | "│-v-5 │ OS clip-board easy-integration. | |
| 374 | "└─────┴───────────────────────────────── | |
| 375 | nnoremap <leader>y "+y | |
| 376 | vnoremap <leader>y "+y | |
| 377 | ||
| 378 | nnoremap <leader>Y "+Y | |
| 379 | vnoremap <leader>Y "+Y | |
| 380 | ||
| 381 | nnoremap <leader>p "+p | |
| 382 | vnoremap <leader>p "+p | |
| 383 | ||
| 384 | nnoremap <leader>P "+P | |
| 385 | vnoremap <leader>P "+P | |
| 386 | ||
| 387 | "│-v-5 │ Jump to file shortcut | |
| 388 | "└─────┴─────────────────────── | |
| 389 | nnoremap <silent> <leader>f <c-w>gf | |
| 390 | ||
| 391 | "│-v-5 │ File-name completion shortcut | |
| 392 | "└─────┴─────────────────────────────── | |
| 393 | inoremap <c-f> <c-x><c-f> | |
| 394 | ||
| 395 | "│-v-5 │ __search_mappings: | |
| 396 | "└─────┴──────────────────── | |
| 397 | " Switch off search highlighting. | |
| 398 | nnoremap <silent> <leader><space> :noh<cr> | |
| 399 | ||
| 400 | "│-v-5 │ Quick window-width reset | |
| 401 | "└─────┴────────────────────────── | |
| 402 | nnoremap <leader><Bar> :vertical resize 85<cr> | |
| 403 | ||
| 404 | "│-v-5 │ Generate Tag files | |
| 405 | "└─────┴──────────────────── | |
| 406 | "map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR> | |
| 407 | map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q *.h *.cpp<CR> | |
| 408 | ||
| 409 | "│-v-5 │ mappings to customized-behavior & functions. | |
| 410 | "└─┬───┴─┬────────────────────────────────────────── | |
| 411 | "│-v-6 │ __spell_check_mapping: | |
| 412 | "└─────┴──────────────────────── | |
| 413 | nnoremap <F5> :call g:ToggleSpellMode()<cr> | |
| 414 | ||
| 415 | "│-v-6 │ __box_characters_mapping: | |
| 416 | "└─────┴─────────────────────────── | |
| 417 | vnoremap <silent> <leader>b :call g:BoxCharacters()<cr> | |
| 418 | ||
| 419 | "│-v-6 │ __line_number_modes_mappings: | |
| 420 | "└─────┴─────────────────────────────── | |
| 421 | " TODO: use <leader>n for cycle, <leader>N[mnemonic] for absolute. | |
| 422 | nnoremap <silent> <leader>n :call g:ToggleNuMode()<cr> | |
| 423 | nnoremap <silent> 3<leader>n :call g:ToggleNuMode(0)<cr> | |
| 424 | nnoremap <silent> 1<leader>n :call g:ToggleNuMode(1)<cr> | |
| 425 | nnoremap <silent> 2<leader>n :call g:ToggleNuMode(2)<cr> | |
| 426 | nnoremap <silent> <leader>N :call g:ToggleNuMode()<cr>:call g:ToggleNuMode()<cr> | |
| 427 | "│-v-6 │ __display_mode_mappings: | |
| 428 | "└─────┴────────────────────────── | |
| 429 | nnoremap <silent> <leader>d :call ToggleDisplayMode()<cr> | |
| 430 | ||
| 431 | "│-v-5 │ mappings to Plug-ins | |
| 432 | "└─┬───┴─┬──────────────────── | |
| 433 | "│-v-6 │ __gundo_mappings: | |
| 434 | "└─────┴─────────────────── | |
| 435 | " toggle Gundo: | |
| 436 | nnoremap <silent> <leader>u :GundoToggle<cr> | |
| 437 | ||
| 438 | "│-v-6 │ __full_screen_mappings: | |
| 439 | "└─────┴───────────────────────── | |
| 440 | map <silent> <F11> <Esc>:call ToggleFullScreen()<CR> | |
| 441 | ||
| 442 | "│-v-6 │ __a_mappings: | |
| 443 | "└─────┴─────────────── | |
| 444 | nnoremap <silent> <leader>a :AV<cr> | |
| 445 | nnoremap <silent> <leader>s :AV<cr> | |
| 446 | nnoremap <silent> <leader>v :vs<cr> | |
| 447 | ||
| 448 | "│-v-6 │ __rainbow_parentheses_mappings: | |
| 449 | "└─────┴───────────────────────────────── | |
| 450 | nnoremap <silent> <leader>, :RainbowParenthesesToggle<cr> | |
| 451 | ||
| 452 | "│-v-4 │ Auto-commands | |
| 453 | "└─┬───┴─┬───────────── | |
| 454 | "│-v-5 │ Independent auto-commands | |
| 455 | "└─────┴─────────────────────────── | |
| 456 | autocmd BufRead,BufNewFile *.txtfmt setfiletype txtfmt | |
| 457 | "│-v-5 │ function auto-commands | |
| 458 | "└─┬───┴─┬────────────────────── | |
| 459 | "│-v-6 │ __multi_window_autocmds | |
| 460 | "└─────┴───────────────────────── | |
| 461 | autocmd WinLeave * :call TimWinLeaveWithGundo() | |
| 462 | autocmd WinEnter * :call TimWinEnterWithGundo() | |
| 463 | ||
| 464 | ||
| 465 | "│-v-4 │ Abbreviations | |
| 466 | "└─┬───┴─┬───────────── | |
| 467 | "│-v-5 │ Shortcuts | |
| 468 | "└─────┴─────────── | |
| 469 | ab ?! ‽ | |
| 470 | ab !? ‽ | |
| 471 | ||
| 472 | :ab ,.0 ⁰ | |
| 473 | :ab ,.1 ¹ | |
| 474 | :ab ,.2 ² | |
| 475 | :ab ,.3 ³ | |
| 476 | :ab ,.4 ⁴ | |
| 477 | :ab ,.5 ⁵ | |
| 478 | :ab ,.6 ⁶ | |
| 479 | :ab ,.7 ⁷ | |
| 480 | :ab ,.8 ⁸ | |
| 481 | :ab ,.9 ⁹ | |
| 482 | ||
| 483 | "│-v-5 │ Corrections | |
| 484 | "└─────┴───────────── | |
| 485 | "│-v-2 │ Appearance | |
| 486 | "└─┬───┴─┬────────── | |
| 487 | "│-v-3 │ Built-in Settings | |
| 488 | "└─┬───┴─┬───────────────── | |
| 489 | "│-v-4 │ GUI Options (default is "egmrLtT") | |
| 490 | "└─────┴──────────────────────────────────── | |
| 491 | :set guioptions= | |
| 492 | " Note that fullscreen plugin doesn't work well with anything but null | |
| 493 | " (or similar). | |
| 494 | ||
| 495 | "│-v-4 │ Color scheme | |
| 496 | "└─────┴────────────── | |
| 497 | set t_Co=256 | |
| 498 | ||
| 499 | " Not sure if this one's actually necessary. | |
| 500 | :set background=dark | |
| 501 | ||
| 502 | " Some favorite color schemes. Just leave your choice the only | |
| 503 | " un-commented one. (and make sure you actually have the colorscheme, | |
| 504 | " and it's compatible!) | |
| 505 | ||
| 506 | :colorscheme timbat | |
| 507 | ":colorscheme timatrix " I've put a lot of my own adjustments into this one. | |
| 508 | ":colorscheme pyte | |
| 509 | ||
| 510 | "│-v-4 │ Current-Row-Column highlighting | |
| 511 | "└─────┴───────────────────────────────── | |
| 512 | autocmd WinLeave * set nocursorline nocursorcolumn | |
| 513 | autocmd WinEnter * set cursorline cursorcolumn | |
| 514 | set cursorline cursorcolumn | |
| 515 | ||
| 516 | "│-v-4 │ Window Width & Such | |
| 517 | "└─────┴───────────────────── | |
| 518 | set winminwidth=12 | |
| 519 | ||
| 520 | "│-v-4 │ Invisible characters depiction. | |
| 521 | "└─────┴───────────────────────────────── | |
| 522 | " __requires_utf_8: | |
| 523 | set listchars=tab:▸\ ,eol:¬ | |
| 524 | ||
| 525 | "│-v-4 │ Miscellaneous | |
| 526 | "└─────┴─────────────── | |
| 527 | set showcmd | |
| 528 | ||
| 529 | "│-v-3 │ Custom Functions | |
| 530 | "└─┬───┴─┬──────────────── | |
| 531 | "│-v-4 │ Display Mode Stuff | |
| 532 | "└─────┴──────────────────── | |
| 533 | " Mappings (@__display_mode_mappings): | |
| 534 | function! g:ApplyDisplayMode(...) | |
| 535 | if a:0 | |
| 536 | let g:timdisplaymode = a:1 | |
| 537 | endif | |
| 538 | ||
| 539 | if g:timdisplaymode == 'code' | |
| 540 | set cursorcolumn | |
| 541 | set nospell " -v- | |
| 542 | ||
| 543 | if &filetype=='vimwiki' | |
| 544 | setlocal linebreak | |
| 545 | else | |
| 546 | set nolinebreak | |
| 547 | endif | |
| 548 | ||
| 549 | if has('win32')
| |
| 550 | :set guifont=consolas:h11 | |
| 551 | else | |
| 552 | set guifont=Consolas\ 12 | |
| 553 | endif | |
| 554 | ||
| 555 | colorscheme timbat | |
| 556 | set display-=lastline | |
| 557 | let &showbreak = '' | |
| 558 | set foldmarker=-v-,-^- | |
| 559 | au WinEnter * set cursorcolumn | |
| 560 | " -^- | |
| 561 | elseif g:timdisplaymode == 'composition' | |
| 562 | set nocursorcolumn | |
| 563 | setlocal spell " -v- | |
| 564 | inoremap <C-BS> <Esc>b1z=wi | |
| 565 | ||
| 566 | setlocal linebreak | |
| 567 | ||
| 568 | if has('win32')
| |
| 569 | :set guifont=consolas:h16 | |
| 570 | else | |
| 571 | setlocal guifont=Consolas\ 16 | |
| 572 | endif | |
| 573 | ||
| 574 | colorscheme timatrix | |
| 575 | setlocal display+=lastline | |
| 576 | let &showbreak = ' ' | |
| 577 | " setlocal foldmarker={{{,}}}
| |
| 578 | set foldmarker=-v-,-^- | |
| 579 | au BufEnter * set nocursorcolumn | |
| 580 | endif " -^- | |
| 581 | endfunction | |
| 582 | ||
| 583 | let g:timdisplaymode = '' | |
| 584 | call g:ApplyDisplayMode('code')
| |
| 585 | ||
| 586 | function! ToggleDisplayMode() | |
| 587 | if g:timdisplaymode == 'code' | |
| 588 | let g:timdisplaymode = 'composition' | |
| 589 | else | |
| 590 | let g:timdisplaymode = 'code' | |
| 591 | endif | |
| 592 | ||
| 593 | call g:ApplyDisplayMode() | |
| 594 | endfunction | |
| 595 | ||
| 596 | ||
| 597 | ||
| 598 |