summaryrefslogblamecommitdiffstats
path: root/vimrc
blob: cc42079cc23eda6b59eb4e713c80c5fcc0279676 (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                     

           
                     


                  

                




                 


                       


                          
                                    





                                  

                                                



                                   

                             

































                                                                            
so ~/.vim/plugins.vim

filetype on
syntax on
colorscheme substrata
set number
filetype indent on
set nowrap
set tabstop=2
set shiftwidth=2
set expandtab
set smartindent
set autoindent
set guioptions-=T

" highlight cursor line
set cursorline

" highlight search matches
set hlsearch

" show matching parenthesis/brackets
set showmatch

" remove whitespace on write
autocmd BufWritePre * :%s/\s\+$//e

" press esc to cancel search
noremap <silent> <Esc> :nohlsearch<Bar>:echo<CR>

" Arrow keys move visually up/down.
noremap <up> gk
noremap <down> gj

" toggle nerdtree with ctrl-o
map <C-o> :NERDTreeToggle<CR>

" Toggle word-wrap mode
" This will also fix movement keys so they move by visual
" lines instead of physical lines in word-wrap mode.
" See https://vim.fandom.com/wiki/Move_cursor_by_display_lines_when_wrapping
noremap <silent> <leader>w :call ToggleWrap()<CR>
function ToggleWrap()
  if &wrap
    echo "Wrap OFF"
    setlocal nowrap
    set virtualedit=all
    silent! nunmap <buffer> <Up>
    silent! nunmap <buffer> <Down>
    silent! nunmap <buffer> <Home>
    silent! nunmap <buffer> <End>
    silent! iunmap <buffer> <Up>
    silent! iunmap <buffer> <Down>
    silent! iunmap <buffer> <Home>
    silent! iunmap <buffer> <End>
  else
    echo "Wrap ON"
    setlocal wrap linebreak nolist
    set virtualedit=
    setlocal display+=lastline
    noremap  <buffer> <silent> <Up>   gk
    noremap  <buffer> <silent> <Down> gj
    noremap  <buffer> <silent> <Home> g<Home>
    noremap  <buffer> <silent> <End>  g<End>
    inoremap <buffer> <silent> <Up>   <C-o>gk
    inoremap <buffer> <silent> <Down> <C-o>gj
    inoremap <buffer> <silent> <Home> <C-o>g<Home>
    inoremap <buffer> <silent> <End>  <C-o>g<End>
  endif
endfunction