Skip to content

Instantly share code, notes, and snippets.

@a60814billy
Created March 6, 2020 14:05
Show Gist options
  • Save a60814billy/ffbd0b43cc640f08f32916e89027c947 to your computer and use it in GitHub Desktop.
Save a60814billy/ffbd0b43cc640f08f32916e89027c947 to your computer and use it in GitHub Desktop.
My vim rc
" When started as "evim", evim.vim will already have done these settings, bail
" out.
if v:progname =~? "evim"
finish
endif
" Get the defaults that most users want.
source $VIMRUNTIME/defaults.vim
if has("vms")
set nobackup " do not keep a backup file, use versions instead
else
set backup " keep a backup file (restore to previous version)
if has('persistent_undo')
set undofile " keep an undo file (undo changes after closing)
endif
endif
if &t_Co > 2 || has("gui_running")
" Switch on highlighting the last used search pattern.
set hlsearch
endif
" Put these in an autocmd group, so that we can delete them easily.
augroup vimrcEx
au!
" For all text files set 'textwidth' to 78 characters.
autocmd FileType text setlocal textwidth=78
augroup END
" Add optional packages.
"
" The matchit plugin makes the % command work better, but it is not backwards
" compatible.
" The ! means the package won't be loaded right away but when plugins are
" loaded during initialization.
if has('syntax') && has('eval')
packadd! matchit
endif
set background=dark
set mouse=""
set number
set cursorline
set autoindent
set ignorecase
au FileType vim setlocal ts=2 st=4 shiftwidth=4 expandtab
au FileType javascript setlocal ts=2 st=2 shiftwidth=2 expandtab
" let shift-tab to unindent
inoremap <S-Tab> <C-d>
filetype plugin indent on
" let insert mode absolute line number
" , normal mode relative line number
autocmd InsertEnter * :set norelativenumber
autocmd InsertLeave * :set relativenumber
" keymap for F8 for highlight search result
map <F8> :set hls!<CR>
" Buffer keymap
nnoremap <silent> [b :bprevious<CR>
nnoremap <silent> ]b :bnext<CR>
nnoremap <silent> [B :bfirst<CR>
nnoremap <silent> ]B :blast<CR>
" -------------
" netrw setting
" -------------
let g:netrw_banner=0
let g:netrw_liststyle=3
let g:netrw_winsize=20
let g:netrw_is_open=0
function! ToggleNetrw()
if g:netrw_is_open
let g:netrw_is_open=0
let i = bufnr("$")
while (i >= 1)
if (getbufvar(i, "&filetype") == "netrw")
silent exe "bwipeout " . i
endif
let i -= 1
endwhile
else
let g:netrw_is_open=1
silent Lexplore
endif
endfunction
noremap <silent> <F2> :call ToggleNetrw()<CR>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment