|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"" %USERPROFILE%\_vimrc |
|
"" |
|
"" Vim on ( Command Prompt / Powershell ) |
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
|
|
"" Get default settings. |
|
|
|
source $VIMRUNTIME/defaults.vim |
|
if has( "vms" ) |
|
set nobackup "do not keep a backup file, use versions instead |
|
endif |
|
|
|
if &t_Co > 2 || has( "gui_running" ) |
|
"" Switch on highlighting the last used search pattern. |
|
set hlsearch |
|
endif |
|
|
|
"" Add optional packages. |
|
"" The matchit plugin makes the % command work better, |
|
"" but it is not backwards compatible. |
|
if has( 'syntax' ) && has( 'eval' ) |
|
packadd matchit |
|
endif |
|
|
|
syntax on |
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"" set temp swap files in a custom dir |
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
|
|
"" set swapfile wls |
|
"set backupdir=.backup/,~/.backup/,/tmp// |
|
"set directory=.swp/,~/.swp/,/tmp// |
|
"set undodir=.undo/,~/.undo/,/tmp// |
|
|
|
"" .vimrc file paths for gitbash |
|
"set backupdir=~/AppData/Roaming/vim/backup/ |
|
"set directory=~/AppData/Roaming/vim/swp/ |
|
"set undodir=~/AppData/Roaming/vim/undo/ |
|
|
|
"" _vimrc file paths for cmd |
|
set backupdir=%UserProfile%\backup\ |
|
set directory=%UserProfile%\swp\ |
|
set undodir=%UserProfile%\undo\ |
|
|
|
""silent !mkdir %UserProfile%\vim\backup\ |
|
""silent !mkdir %UserProfile%\vim\swp\ |
|
""silent !mkdir %UserProfile%\vim\undo\ |
|
|
|
"" prevent automatic backup files |
|
" set nobackup |
|
if v:progname =~? "evim" |
|
finish |
|
endif |
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"" automatically display line numbers |
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
|
|
set number |
|
set linebreak |
|
set autoindent |
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"" Indent fold presets |
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"" za toggles fold |
|
"" zM fold all |
|
"" zR unfold all |
|
"" xo open fold |
|
|
|
|
|
"set foldmethod=indent |
|
"set foldmethod=syntax |
|
"set foldnestmax=10 |
|
"set foldlevel=2 |
|
set foldmethod=manual |
|
|
|
"set nofoldenable |
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"" Tabs |
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
|
|
" use 4 spaces for tabs |
|
set tabstop=4 |
|
set shiftwidth=4 |
|
set expandtab |
|
set smarttab |
|
|
|
"" Unicode Decoration |
|
"" Ctrl+v u2002 for a "blank space" |
|
"" u21D2 ⇒ Rightwards Double Arrow |
|
"" u21E2 ⇢ Rightwards Dashed Arrow |
|
"" u21A6 ↦ Rightwards Arrow From Bar |
|
"" u2192 → Rightwards Arrow |
|
"" u21E5 ⇥ Rightwards Arrow To Bar |
|
"" u21E8 ⇨ Rightwards White Arrow |
|
"" u21F0 ⇰ Rightwards White Arrow From Wall |
|
"" u21FE ⇾ Rightwards Open-Headed Arrow |
|
"" u21F6 ⇶ Three Rightwards Arrows |
|
"" u25B6 ▶ BLACK RIGHT-POINTING TRIANGLE |
|
"" u2506 ┆ Box Drawings Light Triple Dash Vertical |
|
"" u2507 ┇ Box Drawings Heavy Triple Dash Vertical |
|
"" u250A ┊ Box Drawings Light Quadruple Dash Vertical |
|
"" u250B ┋ Box Drawings Heavy Quadruple Dash Vertical |
|
"" u00B7 · Middle Dot |
|
|
|
"set listchars=tab:\|\ |
|
set listchars=tab:\|. |
|
"set listchars=tab:\┊· |
|
set list |
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"" Long line markers |
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
|
|
set colorcolumn=80,120 |
|
highlight ColorColumn guibg=red |
|
|
|
"set cursorcolumn |
|
set cursorline |
|
|
|
"" Center cursor line by 100 visible lines |
|
set scrolloff=100 |
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"" copy and paste into vim terminal |
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
|
|
set paste |
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"" split divide char to nothing |
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
|
|
"set fillchars+=vert:\ |
|
set fillchars+=vert:\| |
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
""" Word processing |
|
"" activate :WP |
|
"" goto misspelled word ]s or [s |
|
"" list spelling options z= |
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
|
|
function! WordProcessor() |
|
"" movement changes |
|
map j gj |
|
map k gk |
|
|
|
"" formatting text |
|
setlocal formatoptions=1 |
|
setlocal noexpandtab |
|
setlocal wrap |
|
setlocal linebreak |
|
|
|
"" spelling and thesaurus |
|
setlocal spell spelllang=en_us |
|
|
|
"" Download and Use a Pre-defined Thesaurus |
|
"" wget http://www.gutenberg.org/dirs/etext02/mthes10.zip |
|
"set thesaurus+=/home/test/.vim/thesaurus/mthesaur.txt |
|
" complete+=s makes autocompletion search the thesaurus |
|
"set complete+=s |
|
endfunction |
|
com! WP call WordProcessor() |
|
|
|
|
|
"""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"""" My macros EXAMPLES |
|
"""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
|
|
"let @h="iHello World!\<CR>bye\<Esc>" |
|
"let @f="\<esc>o\<esc>ifor ( int i = 0; i < 10; i++ ) {\<esc>o // do stuff\<esc>o}\<esc>o \<esc>" |
|
"let @i="\<esc>o\<esc>iif ( 1 ) {\<esc>o \<esc>o}\<esc>o \<esc>" |
|
"let @c="\<esc>o\<esc>i/* \<esc>76i*\<esc>o *\<esc>o\<esc>i * \<esc>76i*\<esc>i*/ \<esc>D\<esc>o\<esc>" |
|
|
|
"" fold lines between "{" and "}" |
|
let @f="\<esc>f{v%zf" |
|
|
|
"""" copy line to register variable "q" |
|
"" useful for copying bash 1-liners to the vim terminal |
|
let @q="\<esc>0\"qy$" |
|
|
|
|
|
"""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
"""" Nerdtree (Win10) |
|
"""" |
|
"""" Install: |
|
"""" git clone https://github.com/preservim/nerdtree.git %UserProfile%\vimfiles\pack\vendor\start\nerdtree |
|
"""" vim -u NONE -c "helptags ~/vimfiles/pack/vendor/start/nerdtree/doc" -c q |
|
"""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" |
|
|
|
"""" Toggle Nerdtree |
|
"" :NERDTreeToggle |
|
|
|
"""" Open a NERDTree automatically when vim starts up |
|
"autocmd vimenter * NERDTree |
|
|
|
"""" open a NERDTree automatically when vim starts up if no files were specified |
|
autocmd StdinReadPre * let s:std_in=1 |
|
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif |
|
|
|
"""" Close vim if the only window left open is a NERDTree |
|
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif |