Created
March 6, 2020 14:05
-
-
Save a60814billy/ffbd0b43cc640f08f32916e89027c947 to your computer and use it in GitHub Desktop.
My vim rc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" 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