update vim configuration
This commit is contained in:
parent
b38acc85cb
commit
9530774ebb
571
init.vim
571
init.vim
@ -4,7 +4,7 @@
|
||||
" Mirror: https://github.com/valeth/vim-config
|
||||
|
||||
|
||||
" XDG Directories {{{
|
||||
" [NVim Directories] {{{
|
||||
let g:vim_config_home = split(&rtp, ',', 0)[0]
|
||||
|
||||
if exists('$XDG_CACHE_HOME')
|
||||
@ -18,269 +18,83 @@ if exists('$XDG_DATA_HOME')
|
||||
else
|
||||
let g:vim_data_home = expand('$HOME/.local/share/') . v:progname
|
||||
endif
|
||||
" }}}
|
||||
" [NVim Directories] }}}
|
||||
|
||||
" Settings {{{
|
||||
|
||||
" prompt with save dialog on exit
|
||||
set confirm
|
||||
|
||||
" wait only a short amount of time
|
||||
set notimeout
|
||||
set ttimeout
|
||||
set timeoutlen=10
|
||||
set visualbell t_vb=
|
||||
|
||||
" automatically do stuff
|
||||
" [Settings] {{{
|
||||
set autochdir
|
||||
set autoread
|
||||
set autowriteall
|
||||
|
||||
" scroll n lines before hitting the border
|
||||
set scrolloff=3
|
||||
set sidescrolloff=5
|
||||
|
||||
" show line numbers
|
||||
set number
|
||||
|
||||
" show position
|
||||
set ruler
|
||||
|
||||
" ignore case when searching
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set incsearch
|
||||
set gdefault
|
||||
|
||||
" show matching parenthesis
|
||||
set showmatch
|
||||
set matchtime=3
|
||||
|
||||
|
||||
" show hidden characters
|
||||
set listchars=tab:»\ ,trail:◆,extends:❯,precedes:❮,eol:↲,nbsp:·
|
||||
set breakindent
|
||||
set breakindentopt=sbr
|
||||
set showbreak=↳
|
||||
set list
|
||||
|
||||
set shortmess=aoOtTI
|
||||
|
||||
" share yank buffer with system clipboard
|
||||
set clipboard+=unnamed
|
||||
|
||||
" indent automatically
|
||||
set autoindent
|
||||
set smartindent
|
||||
|
||||
set undofile
|
||||
|
||||
set completeopt=longest,menuone,preview
|
||||
set confirm
|
||||
set foldcolumn=1
|
||||
set foldlevel=99
|
||||
set foldmethod=syntax
|
||||
set foldtext=myfold#text()
|
||||
set gdefault
|
||||
set grepprg=grep\ -nH\ $*
|
||||
set hidden
|
||||
set ignorecase
|
||||
set list
|
||||
set listchars=tab:»\ ,trail:◆,extends:❯,precedes:❮,eol:↲,nbsp:·
|
||||
set matchtime=3
|
||||
set noshowmode
|
||||
set noswapfile
|
||||
|
||||
" change split behaviour
|
||||
set notimeout
|
||||
set number
|
||||
set ruler
|
||||
set scrolloff=3
|
||||
set showmatch
|
||||
set showbreak=↳
|
||||
set shortmess=aoOtTI
|
||||
set sidescrolloff=5
|
||||
set smartcase
|
||||
set smartindent
|
||||
set splitbelow
|
||||
set splitright
|
||||
|
||||
" show sane line lenght limit marker
|
||||
set colorcolumn=+3
|
||||
|
||||
" wildmenu completion
|
||||
set wildmenu
|
||||
set wildmode=list:longest,full
|
||||
set synmaxcol=300
|
||||
set timeoutlen=50
|
||||
set ttimeout
|
||||
set undofile
|
||||
set virtualedit+=block
|
||||
set visualbell t_vb=
|
||||
set wildignore+=.git
|
||||
set wildignore+=*.bak,*.old,*.swp,*~
|
||||
set wildignore+=*.o,*.hi
|
||||
set wildignore+=*.pyc,*.class
|
||||
set wildignore+=*.pdf,*.aux
|
||||
set wildignore+=*.png,*.jpg
|
||||
set wildmode=list:longest,full
|
||||
" [Settings] }}}
|
||||
|
||||
set virtualedit+=block
|
||||
|
||||
set foldcolumn=1
|
||||
set foldlevel=99
|
||||
set foldmethod=syntax
|
||||
set foldtext=myfold#text()
|
||||
|
||||
set complete=.,w,b,u,t
|
||||
set completeopt=longest,menuone,preview
|
||||
|
||||
" enable syntax highlighting and filetype detection
|
||||
filetype indent on
|
||||
filetype plugin on
|
||||
syntax enable
|
||||
set synmaxcol=300
|
||||
" }}}
|
||||
|
||||
" Keyboard mappings {{{
|
||||
let g:mapleader = ","
|
||||
let g:maplocalleader = "\\"
|
||||
|
||||
command! Wq wq
|
||||
command! WQ wq
|
||||
command! Q q
|
||||
command! W w
|
||||
|
||||
noremap <silent> <Leader><CR> :noh<CR>
|
||||
|
||||
nnoremap U :redo<CR>
|
||||
nnoremap <C-R> <NOP>
|
||||
nnoremap <Leader>vl :setlocal cursorline!<CR>
|
||||
nnoremap <Leader>vc :setlocal cursorcolumn!<CR>
|
||||
nnoremap <Leader>ve :setlocal colorcolumn=80<CR>
|
||||
nnoremap <Leader>vn :setlocal colorcolumn=0<CR>
|
||||
nnoremap <Leader>tcs :call ToggleColorscheme()<CR>
|
||||
nnoremap Y y$
|
||||
nnoremap j gj
|
||||
nnoremap k gk
|
||||
nnoremap <leader>fmt gg=G<CR>``
|
||||
nnoremap gr gd[{V%::s/<C-R>///g<left><left>
|
||||
nnoremap gR gD:%s/<C-R>///g<left><left>
|
||||
nnoremap th :tabfirst<CR>
|
||||
nnoremap tj :tabnext<CR>
|
||||
nnoremap tk :tabprev<CR>
|
||||
nnoremap tl :tablast<CR>
|
||||
nnoremap tn :tabnew<CR>
|
||||
nnoremap tq :tabclose<CR>
|
||||
|
||||
nnoremap <CR> o<ESC>
|
||||
|
||||
" change beginning and end mappings
|
||||
noremap H ^
|
||||
noremap L $
|
||||
vnoremap L g_
|
||||
inoremap <C-a> <ESC>I
|
||||
inoremap <C-e> <ESC>A
|
||||
cnoremap <C-a> <HOME>
|
||||
cnoremap <C-e> <END>
|
||||
|
||||
" movement
|
||||
noremap j gj
|
||||
noremap k gk
|
||||
noremap gj j
|
||||
noremap gj j
|
||||
|
||||
" go to last change
|
||||
nnoremap gC `.
|
||||
|
||||
" stay in center when searching
|
||||
nnoremap n nzzzv
|
||||
nnoremap N Nzzzv
|
||||
|
||||
nnoremap g; g;zz
|
||||
nnoremap g, g,zz
|
||||
nnoremap <C-o> <C-o>zz
|
||||
|
||||
" toggle invlist
|
||||
nnoremap <silent> <leader>il :set invlist<CR>
|
||||
vnoremap <silent> <leader>il :<C-W>set invlist<CR>
|
||||
|
||||
" make substitutions more convenient
|
||||
nnoremap <C-s> :%s/
|
||||
vnoremap <C-s> :s/
|
||||
|
||||
nnoremap / /\v
|
||||
vnoremap / /\v
|
||||
|
||||
" quicker escape
|
||||
inoremap jk <ESC>
|
||||
inoremap JK <ESC>
|
||||
inoremap Jk <ESC>
|
||||
|
||||
" indent in visual mode and keep selection
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
|
||||
" just in case I forgot sudo again
|
||||
cnoremap w! w !sudo tee % >/dev/null
|
||||
|
||||
tnoremap <ESC> <C-\><C-n>
|
||||
tnoremap <leader><ESC> <ESC>
|
||||
|
||||
" NOP(E)s
|
||||
noremap <F1> <NOP>
|
||||
noremap <Left> <NOP>
|
||||
noremap <Right> <NOP>
|
||||
noremap <Up> <NOP>
|
||||
noremap <Down> <NOP>
|
||||
" }}}
|
||||
|
||||
" Autocommands {{{
|
||||
augroup LineReturn
|
||||
au!
|
||||
au BufReadPost *
|
||||
\ if line("'\"") > 0 && line("'\"") <= line("$") |
|
||||
\ execute 'normal! g`"zvzz' |
|
||||
\ endif
|
||||
augroup END
|
||||
|
||||
augroup ToggleLineNumbers
|
||||
au!
|
||||
au VimEnter,WinEnter,InsertLeave * setlocal relativenumber
|
||||
au WinLeave,InsertEnter * setlocal norelativenumber
|
||||
augroup END
|
||||
|
||||
augroup CursorLineColumn
|
||||
au!
|
||||
au VimEnter,WinEnter,BufWinEnter * setlocal cursorline cursorcolumn
|
||||
au WinLeave * setlocal nocursorline nocursorcolumn
|
||||
augroup END
|
||||
|
||||
augroup AutoReload
|
||||
au!
|
||||
au BufWritePost $MYVIMRC source $MYVIMRC
|
||||
augroup END
|
||||
|
||||
au FocusLost * :silent! wa
|
||||
|
||||
" keep splits equal on terminal resize
|
||||
au VimResized * :wincmd =
|
||||
|
||||
augroup Trailing
|
||||
au!
|
||||
au InsertEnter * :set invlist
|
||||
au InsertLeave * :set invlist
|
||||
augroup END
|
||||
" }}}
|
||||
|
||||
" Plugins {{{
|
||||
" [Plugins] {{{
|
||||
call plug#begin(g:vim_data_home . '/plugins')
|
||||
|
||||
" deoplete {{{
|
||||
" run 'UpdateRemotePlugins' first
|
||||
Plug 'Shougo/deoplete.nvim'
|
||||
Plug 'Shougo/neco-syntax'
|
||||
Plug 'Shougo/neoinclude.vim', { 'for': ['c', 'cpp'] }
|
||||
Plug 'Rip-Rip/clang_complete', { 'for': ['c', 'cpp'] }
|
||||
Plug 'zchee/deoplete-jedi', { 'for': 'python' }
|
||||
Plug 'eagletmt/neco-ghc', { 'for': 'haskell' }
|
||||
" <deoplete> {{{
|
||||
function! DoRemote(arg)
|
||||
UpdateRemotePlugins
|
||||
endfunction
|
||||
|
||||
let g:deoplete#enable_at_startup = 1
|
||||
" }}}
|
||||
"let g:deoplete#sources#clang#libclang_path = '/usr/lib/libclang.so'
|
||||
"let g:deoplete#sources#clang#clang_header = '/usr/include/clang'
|
||||
|
||||
" ctrlp.vim {{{
|
||||
Plug 'Shougo/vimproc.vim', { 'do': 'make' }
|
||||
Plug 'Shougo/deoplete.nvim', { 'do': function('DoRemote') }
|
||||
Plug 'Shougo/neco-syntax'
|
||||
Plug 'Shougo/neoinclude.vim', { 'for': ['c', 'cpp'] }
|
||||
Plug 'Rip-Rip/clang_complete', { 'for': ['c', 'cpp'] }
|
||||
"Plug 'zchee/deoplete-clang', { 'for': ['c', 'cpp'] }
|
||||
Plug 'zchee/deoplete-jedi', { 'for': ['python'] }
|
||||
Plug 'eagletmt/neco-ghc', { 'for': ['haskell'] }
|
||||
" <deoplete> }}}
|
||||
|
||||
" <ctrlp.vim> {{{
|
||||
Plug 'kien/ctrlp.vim'
|
||||
" <ctrlp.vim> }}}
|
||||
|
||||
let g:ctrlp_cmd = "CtrlPBuffer"
|
||||
let g:ctrlp_prompt_mappings = {
|
||||
\ 'ToggleType(1)': ['<c-l>', '<c-f>', '<c-up>'],
|
||||
\ 'ToggleType(-1)': ['<c-h>', '<c-b>', '<c-down>'],
|
||||
\ }
|
||||
" }}}
|
||||
|
||||
" Gundo {{{
|
||||
Plug 'vim-scripts/Gundo', { 'on': 'GundoToggle' }
|
||||
|
||||
let g:gundo_width = 60
|
||||
let g:gundo_preview_height = 30
|
||||
let g:gundo_right = 1
|
||||
|
||||
nnoremap <silent> <leader>gu :GundoToggle<CR>
|
||||
vnoremap <silent> <leader>gu <ESC>:GundoToggle<CR>
|
||||
" }}}
|
||||
|
||||
" latexsuite {{{
|
||||
set grepprg=grep\ -nH\ $*
|
||||
|
||||
" <latexsuite> {{{
|
||||
let g:tex_flavor = "latex"
|
||||
let g:tex_fold_enabled = 1
|
||||
let g:Imap_UsePlaceHolders = 0
|
||||
@ -291,107 +105,67 @@ let g:Tex_ViewRuleComplete_dvi = "pgrep okular.*$* || xdg-open &"
|
||||
let g:Tex_ViewRuleComplete_ps = ""
|
||||
let g:Tex_ViewRuleComplete_pdf = "pgrep okular.*$* || xdg-open &"
|
||||
let g:Tex_DefaultTargetFormat = "pdf"
|
||||
" <latexsuite> }}}
|
||||
|
||||
nnoremap <SID> <Plug>Tex_Help
|
||||
inoremap <SID> <Plug>Tex_Help
|
||||
nnoremap <SID> <Plug>IMAP_JumpForward
|
||||
vnoremap <SID> <Plug>IMAP_JumpForward
|
||||
"noremap <buffer> <F5> :w<CR> :!pdflatex -shell-escape "%" && { pgrep ".*%:p || xdg-open %:p:r.pdf }<CR>
|
||||
" }}}
|
||||
|
||||
" nerdtree {{{
|
||||
" <nerdtree> {{{
|
||||
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
|
||||
Plug 'scrooloose/nerdtree-git-plugin', { 'on': 'NERDTreeToggle' }
|
||||
|
||||
au bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
|
||||
au BufEnter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
|
||||
" <nerdtree> }}}
|
||||
|
||||
noremap <silent> <leader>nt :NERDTreeToggle<CR>
|
||||
vnoremap <silent> <leader>nt <ESC>:NERDTreeToggle<CR>
|
||||
" }}}
|
||||
" <syntastic> {{{
|
||||
Plug 'scrooloose/syntastic', {'for': ['c', 'cpp', 'python', 'sh', 'ruby']}
|
||||
|
||||
" syntastic {{{
|
||||
Plug 'scrooloose/syntastic', {'for': ['c', 'cpp', 'python', 'sh']}
|
||||
|
||||
let g:syntastic_enable_signs = 1
|
||||
let g:syntastic_check_on_open = 1
|
||||
let g:syntastic_enable_highlighting = 1
|
||||
let g:syntastic_check_on_wq = 0
|
||||
let g:syntastic_auto_loc_list = 1
|
||||
let g:syntastic_loc_list_height = 5
|
||||
let g:syntastic_c_check_header = 1
|
||||
let g:syntastic_cpp_remove_include_errors = 1
|
||||
let g:syntastic_cpp_check_header = 1
|
||||
let g:syntastic_cpp_auto_refresh_includes = 1
|
||||
let g:syntastic_tex_checkers = ["false"]
|
||||
let g:syntastic_error_symbol = '!'
|
||||
let g:syntastic_warning_symbol = '?'
|
||||
nnoremap <leader>syn :SyntasticToggleMode<CR>
|
||||
vnoremap <leader>syn <ESC>:SyntasticToggleMode<CR>
|
||||
" }}}
|
||||
let g:syntastic_error_symbol = '☓'
|
||||
let g:syntastic_warning_symbol = '⚠'
|
||||
" <syntastic> }}}
|
||||
|
||||
" tagbar {{{
|
||||
" <tagbar> {{{
|
||||
Plug 'majutsushi/tagbar'
|
||||
" <tagbar> }}}
|
||||
|
||||
nnoremap <silent> <leader>tag :TagbarToggle<CR>
|
||||
vnoremap <silent> <leader>tag <ESC>:TagbarToggle<CR>
|
||||
" }}}
|
||||
|
||||
" powerline/airline {{{
|
||||
" <airline> {{{
|
||||
Plug 'bling/vim-airline'
|
||||
|
||||
"set showtabline=2
|
||||
set laststatus=2
|
||||
set noshowmode
|
||||
|
||||
"let g:powerline_pycmd = "py3"
|
||||
"let g:powerline_pyeval = g:powerline_pycmd . "eval"
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
let g:airline_powerline_fonts = 1
|
||||
let g:airline_theme='dark'
|
||||
" }}}
|
||||
" <airline> }}}
|
||||
|
||||
" scratch.vim {{{
|
||||
" <scratch.vim> {{{
|
||||
Plug 'mtth/scratch.vim', { 'on': 'Scratch' }
|
||||
|
||||
" allow autohiding
|
||||
set hidden
|
||||
|
||||
let g:scratch_persistence_file = g:vim_data_home . "/scratch.vim"
|
||||
" }}}
|
||||
" <scratch.vim> }}}
|
||||
|
||||
" vim-pandoc {{{
|
||||
" <vim-pandoc> {{{
|
||||
Plug 'vim-pandoc/vim-pandoc'
|
||||
Plug 'vim-pandoc/vim-pandoc-syntax'
|
||||
|
||||
" the filetypes for which vim-pandoc should be used
|
||||
let g:pandoc#filetypes#handles = [ "markdown", "pandoc" ]
|
||||
|
||||
" enable pandoc for markdown
|
||||
let g:pandoc#filetypes#pandoc_markdown = 1
|
||||
|
||||
" disable the spellchecker
|
||||
let g:pandoc#spell#enabled = 0
|
||||
|
||||
" don't use the conceal functionality
|
||||
let g:pandoc#syntax#conceal#use = 0
|
||||
|
||||
" would you please use the defined foldcolums settings, thanks
|
||||
let g:pandoc#folding#fdc = &fdc
|
||||
" }}}
|
||||
" <vim-pandoc> }}}
|
||||
|
||||
" vim-tmux-navigator {{{
|
||||
" <vim-tmux-navigator> {{{
|
||||
Plug 'christoomey/vim-tmux-navigator'
|
||||
|
||||
" use Alt instead of Ctrl
|
||||
let g:tmux_navigator_no_mappings = 1
|
||||
|
||||
nnoremap <silent> <M-h> :TmuxNavigateLeft<cr>
|
||||
nnoremap <silent> <M-j> :TmuxNavigateDown<cr>
|
||||
nnoremap <silent> <M-k> :TmuxNavigateUp<cr>
|
||||
nnoremap <silent> <M-l> :TmuxNavigateRight<cr>
|
||||
nnoremap <silent> <M-\> :TmuxNavigatePrevious<cr>
|
||||
" }}}
|
||||
" <vim-tmux-navigator> }}}
|
||||
|
||||
Plug 'Konfekt/FastFold'
|
||||
Plug 'Raimondi/delimitMate'
|
||||
Plug 'vim-scripts/fish-syntax'
|
||||
Plug 'valeth/sprak.vim', { 'for': 'sprak' }
|
||||
Plug 'hoelzro/vim-polyglot'
|
||||
@ -406,60 +180,185 @@ Plug 'junegunn/seoul256.vim'
|
||||
Plug 'NLKNguyen/papercolor-theme'
|
||||
Plug 'chriskempson/tomorrow-theme'
|
||||
call plug#end()
|
||||
" }}}
|
||||
" [Plugins] }}}
|
||||
|
||||
" Colorscheme {{{
|
||||
" [Keymappings] {{{
|
||||
let g:mapleader = ","
|
||||
let g:maplocalleader = "\\"
|
||||
|
||||
" <Command> {{{
|
||||
command! Wq wq
|
||||
command! WQ wq
|
||||
command! Q q
|
||||
command! W w
|
||||
" <Command> }}}
|
||||
|
||||
" <Plugin> {{{
|
||||
nnoremap <C-b> :CtrlPBuffer<CR>
|
||||
inoremap <C-b> <C-o>:CtrlPBuffer<CR>
|
||||
nnoremap <C-p> :CtrlP<CR>
|
||||
inoremap <C-p> <C-o>:CtrlP<CR>
|
||||
nnoremap <SID> <Plug>Tex_Help
|
||||
inoremap <SID> <Plug>Tex_Help
|
||||
nnoremap <SID> <Plug>IMAP_JumpForward
|
||||
vnoremap <SID> <Plug>IMAP_JumpForward
|
||||
"noremap <buffer><F5> :w<CR> :!pdflatex -shell-escape "%" && { pgrep ".*%:p || xdg-open %:p:r.pdf }<CR>
|
||||
noremap <silent><Leader>nt :NERDTreeToggle<CR>
|
||||
vnoremap <silent><Leader>nt <ESC>:NERDTreeToggle<CR>
|
||||
nnoremap <Leader>syn :SyntasticToggleMode<CR>
|
||||
vnoremap <Leader>syn <ESC>:SyntasticToggleMode<CR>
|
||||
nnoremap <silent><Leader>tag :TagbarToggle<CR>
|
||||
vnoremap <silent><Leader>tag <ESC>:TagbarToggle<CR>
|
||||
nnoremap <silent><M-h> :TmuxNavigateLeft<CR>
|
||||
nnoremap <silent><M-j> :TmuxNavigateDown<CR>
|
||||
nnoremap <silent><M-k> :TmuxNavigateUp<CR>
|
||||
nnoremap <silent><M-l> :TmuxNavigateRight<CR>
|
||||
nnoremap <silent><M-\> :TmuxNavigatePrevious<CR>
|
||||
" <Plugin> }}}
|
||||
|
||||
" <Disabled> {{{
|
||||
nnoremap <F1> <NOP>
|
||||
inoremap <F1> <NOP>
|
||||
nnoremap <C-R> <NOP>
|
||||
noremap <Left> <NOP>
|
||||
noremap <Right> <NOP>
|
||||
noremap <Up> <NOP>
|
||||
noremap <Down> <NOP>
|
||||
noremap ^ <NOP>
|
||||
noremap $ <NOP>
|
||||
" <Disabled> }}}
|
||||
|
||||
noremap <silent><Leader><CR> :noh<CR>
|
||||
nnoremap U :redo<CR>
|
||||
nnoremap <Leader>vl :setlocal cursorline!<CR>
|
||||
nnoremap <Leader>vc :setlocal cursorcolumn!<CR>
|
||||
nnoremap <Leader>ve :setlocal colorcolumn=+3<CR>
|
||||
nnoremap <Leader>vn :setlocal colorcolumn=0<CR>
|
||||
nnoremap <Leader>tcs :call ToggleColorscheme()<CR>
|
||||
nnoremap Y y$
|
||||
nnoremap j gj
|
||||
nnoremap k gk
|
||||
nnoremap <Leader>fmt gg=G<CR>``
|
||||
nnoremap gr gd[{V%::s/<C-R>///g<Left><Left>
|
||||
nnoremap gR gD:%s/<C-R>///g<Left><Left>
|
||||
nnoremap th :tabfirst<CR>
|
||||
nnoremap tj :tabnext<CR>
|
||||
nnoremap tk :tabprev<CR>
|
||||
nnoremap tl :tablast<CR>
|
||||
nnoremap tn :tabnew<CR>
|
||||
nnoremap tq :tabclose<CR>
|
||||
nnoremap H ^
|
||||
nnoremap L $
|
||||
vnoremap L g_
|
||||
inoremap <C-a> <ESC>I
|
||||
inoremap <C-e> <ESC>A
|
||||
cnoremap <C-a> <HOME>
|
||||
cnoremap <C-e> <END>
|
||||
noremap j gj
|
||||
noremap k gk
|
||||
noremap gj j
|
||||
noremap gk k
|
||||
nnoremap gC `.
|
||||
nnoremap n nzzzv
|
||||
nnoremap N Nzzzv
|
||||
nnoremap g; g;zz
|
||||
nnoremap g, g,zz
|
||||
nnoremap <C-o> <C-o>zz
|
||||
nnoremap <silent><leader>il :set invlist<CR>
|
||||
vnoremap <silent><leader>il :<C-w>set invlist<CR>
|
||||
inoremap <C-s> <C-o>:%s/
|
||||
nnoremap <C-s> :%s/
|
||||
vnoremap <C-s> :s/
|
||||
nnoremap / /\v
|
||||
vnoremap / /\v
|
||||
inoremap jk <ESC>
|
||||
inoremap jK <ESC>
|
||||
inoremap Jk <ESC>
|
||||
inoremap JK <ESC>
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
cnoremap w! w !sudo tee % >/dev/null
|
||||
tnoremap <ESC> <C-\><C-n>
|
||||
tnoremap <Leader><ESC> <ESC>
|
||||
" [Keymappings] }}}
|
||||
|
||||
" [Autocommands] {{{
|
||||
"augroup LineReturn
|
||||
" au!
|
||||
" au BufReadPost *
|
||||
" \ if line("'\"") > 0 && line("'\"") <= line("$") |
|
||||
" \ execute 'normal! g`"zvzz' |
|
||||
" \ endif
|
||||
"augroup END
|
||||
|
||||
augroup ToggleLineNumbers
|
||||
au!
|
||||
au VimEnter,WinEnter,InsertLeave * setlocal relativenumber
|
||||
au WinLeave,InsertEnter * setlocal norelativenumber
|
||||
augroup END
|
||||
|
||||
augroup CursorHighlight
|
||||
au!
|
||||
au VimEnter,WinEnter,BufWinEnter * setlocal cursorline
|
||||
au WinLeave * setlocal nocursorline
|
||||
"au VimEnter,WinEnter,BufWinEnter * setlocal cursorcolumn
|
||||
"au WinLeave * setlocal nocursorcolumn
|
||||
au VimEnter,WinEnter,BufWinEnter * setlocal colorcolumn=+3
|
||||
au WinLeave * setlocal colorcolumn=0
|
||||
augroup END
|
||||
|
||||
" reload initrc
|
||||
"au BufWritePost $MYVIMRC source $MYVIMRC
|
||||
|
||||
" save automatically
|
||||
au FocusLost * :silent! wa
|
||||
|
||||
" keep splits equal on terminal resize
|
||||
au VimResized * :wincmd =
|
||||
|
||||
augroup Trailing
|
||||
au!
|
||||
au InsertEnter * :set invlist
|
||||
au InsertLeave * :set invlist
|
||||
augroup END
|
||||
" [Autocommands] }}}
|
||||
|
||||
" [Colorscheme] {{{
|
||||
function! ToggleColorscheme()
|
||||
if g:colors_name =~ 'seoul256'
|
||||
call ToggleSeoul256()
|
||||
if g:colors_name == 'seoul256'
|
||||
colorscheme seoul256-light
|
||||
else
|
||||
colorscheme seoul256
|
||||
endif
|
||||
elseif g:colors_name =~ 'Tomorrow'
|
||||
call ToggleTomorrow()
|
||||
if g:colors_name == 'Tomorrow-Night'
|
||||
colorscheme Tomorrow
|
||||
else
|
||||
colorscheme Tomorrow-Night
|
||||
endif
|
||||
else
|
||||
call ToggleBackground()
|
||||
endif
|
||||
|
||||
AirlineRefresh
|
||||
endfunction
|
||||
|
||||
function! ToggleBackground()
|
||||
if &background == 'dark'
|
||||
set background=light
|
||||
else
|
||||
set background=dark
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! ToggleSeoul256()
|
||||
if g:colors_name == 'seoul256'
|
||||
colorscheme seoul256-light
|
||||
else
|
||||
colorscheme seoul256
|
||||
endif
|
||||
AirlineRefresh
|
||||
endfunction
|
||||
|
||||
function! ToggleTomorrow()
|
||||
if g:colors_name == 'Tomorrow-Night'
|
||||
colorscheme Tomorrow
|
||||
else
|
||||
colorscheme Tomorrow-Night
|
||||
endif
|
||||
endfunction
|
||||
|
||||
"let g:molokai_original = 1
|
||||
"let g:rehash256 = 1
|
||||
"colorscheme molokai
|
||||
|
||||
" Theme Range Default
|
||||
" ----- ----- -------
|
||||
" seoul256 233 - 239 237
|
||||
" seoul256-light 252 - 256 253
|
||||
let g:seoul256_background = 237
|
||||
let g:seoul256_light_background = 254
|
||||
|
||||
let g:rehash256 = 1
|
||||
|
||||
colorscheme seoul256
|
||||
|
||||
"colorscheme molokai
|
||||
"colorscheme PaperColor
|
||||
|
||||
"colorscheme Tomorrow-Night
|
||||
" }}}
|
||||
" [Colorscheme] }}}
|
||||
|
||||
" vim:set foldmethod=marker foldlevel=0:
|
||||
|
Loading…
Reference in New Issue
Block a user