init: add vim config
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
bundle/
|
||||
11
README.md
Normal file
11
README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Mike Bell's VIM settings
|
||||
|
||||
Installation:
|
||||
```sh
|
||||
git clone https://git.movida.biz/bell/dotvim.git ~/.vim
|
||||
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
|
||||
```
|
||||
Create symlinks:
|
||||
```sh
|
||||
ln -s ~/.vim/vimrc ~/.vimrc
|
||||
```
|
||||
276
colors/molokai.vim
Normal file
276
colors/molokai.vim
Normal file
@@ -0,0 +1,276 @@
|
||||
" Vim color file
|
||||
"
|
||||
" Author: Tomas Restrepo <tomas@winterdom.com>
|
||||
" https://github.com/tomasr/molokai
|
||||
"
|
||||
" Note: Based on the Monokai theme for TextMate
|
||||
" by Wimer Hazenberg and its darker variant
|
||||
" by Hamish Stuart Macpherson
|
||||
"
|
||||
|
||||
hi clear
|
||||
|
||||
if version > 580
|
||||
" no guarantees for version 5.8 and below, but this makes it stop
|
||||
" complaining
|
||||
hi clear
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
endif
|
||||
let g:colors_name="molokai"
|
||||
|
||||
if exists("g:molokai_original")
|
||||
let s:molokai_original = g:molokai_original
|
||||
else
|
||||
let s:molokai_original = 0
|
||||
endif
|
||||
|
||||
|
||||
hi Boolean guifg=#AE81FF
|
||||
hi Character guifg=#E6DB74
|
||||
hi Number guifg=#AE81FF
|
||||
hi String guifg=#E6DB74
|
||||
hi Conditional guifg=#F92672 gui=bold
|
||||
hi Constant guifg=#AE81FF gui=bold
|
||||
hi Cursor guifg=#000000 guibg=#F8F8F0
|
||||
hi iCursor guifg=#000000 guibg=#F8F8F0
|
||||
hi Debug guifg=#BCA3A3 gui=bold
|
||||
hi Define guifg=#66D9EF
|
||||
hi Delimiter guifg=#8F8F8F
|
||||
hi DiffAdd guibg=#13354A
|
||||
hi DiffChange guifg=#89807D guibg=#4C4745
|
||||
hi DiffDelete guifg=#960050 guibg=#1E0010
|
||||
hi DiffText guibg=#4C4745 gui=italic,bold
|
||||
|
||||
hi Directory guifg=#A6E22E gui=bold
|
||||
hi Error guifg=#E6DB74 guibg=#1E0010
|
||||
hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold
|
||||
hi Exception guifg=#A6E22E gui=bold
|
||||
hi Float guifg=#AE81FF
|
||||
hi FoldColumn guifg=#465457 guibg=#000000
|
||||
hi Folded guifg=#465457 guibg=#000000
|
||||
hi Function guifg=#A6E22E
|
||||
hi Identifier guifg=#FD971F
|
||||
hi Ignore guifg=#808080 guibg=bg
|
||||
hi IncSearch guifg=#C4BE89 guibg=#000000
|
||||
|
||||
hi Keyword guifg=#F92672 gui=bold
|
||||
hi Label guifg=#E6DB74 gui=none
|
||||
hi Macro guifg=#C4BE89 gui=italic
|
||||
hi SpecialKey guifg=#66D9EF gui=italic
|
||||
|
||||
hi MatchParen guifg=#000000 guibg=#FD971F gui=bold
|
||||
hi ModeMsg guifg=#E6DB74
|
||||
hi MoreMsg guifg=#E6DB74
|
||||
hi Operator guifg=#F92672
|
||||
|
||||
" complete menu
|
||||
hi Pmenu guifg=#66D9EF guibg=#000000
|
||||
hi PmenuSel guibg=#808080
|
||||
hi PmenuSbar guibg=#080808
|
||||
hi PmenuThumb guifg=#66D9EF
|
||||
|
||||
hi PreCondit guifg=#A6E22E gui=bold
|
||||
hi PreProc guifg=#A6E22E
|
||||
hi Question guifg=#66D9EF
|
||||
hi Repeat guifg=#F92672 gui=bold
|
||||
hi Search guifg=#000000 guibg=#FFE792
|
||||
" marks
|
||||
hi SignColumn guifg=#A6E22E guibg=#232526
|
||||
hi SpecialChar guifg=#F92672 gui=bold
|
||||
hi SpecialComment guifg=#7E8E91 gui=bold
|
||||
hi Special guifg=#66D9EF guibg=bg gui=italic
|
||||
if has("spell")
|
||||
hi SpellBad guisp=#FF0000 gui=undercurl
|
||||
hi SpellCap guisp=#7070F0 gui=undercurl
|
||||
hi SpellLocal guisp=#70F0F0 gui=undercurl
|
||||
hi SpellRare guisp=#FFFFFF gui=undercurl
|
||||
endif
|
||||
hi Statement guifg=#F92672 gui=bold
|
||||
hi StatusLine guifg=#455354 guibg=fg
|
||||
hi StatusLineNC guifg=#808080 guibg=#080808
|
||||
hi StorageClass guifg=#FD971F gui=italic
|
||||
hi Structure guifg=#66D9EF
|
||||
hi Tag guifg=#F92672 gui=italic
|
||||
hi Title guifg=#ef5939
|
||||
hi Todo guifg=#FFFFFF guibg=bg gui=bold
|
||||
|
||||
hi Typedef guifg=#66D9EF
|
||||
hi Type guifg=#66D9EF gui=none
|
||||
hi Underlined guifg=#808080 gui=underline
|
||||
|
||||
hi VertSplit guifg=#808080 guibg=#080808 gui=bold
|
||||
hi VisualNOS guibg=#403D3D
|
||||
hi Visual guibg=#403D3D
|
||||
hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold
|
||||
hi WildMenu guifg=#66D9EF guibg=#000000
|
||||
|
||||
hi TabLineFill guifg=#1B1D1E guibg=#1B1D1E
|
||||
hi TabLine guibg=#1B1D1E guifg=#808080 gui=none
|
||||
|
||||
if s:molokai_original == 1
|
||||
hi Normal guifg=#F8F8F2 guibg=#272822
|
||||
hi Comment guifg=#75715E
|
||||
hi CursorLine guibg=#3E3D32
|
||||
hi CursorLineNr guifg=#FD971F gui=none
|
||||
hi CursorColumn guibg=#3E3D32
|
||||
hi ColorColumn guibg=#3B3A32
|
||||
hi LineNr guifg=#BCBCBC guibg=#3B3A32
|
||||
hi NonText guifg=#75715E
|
||||
hi SpecialKey guifg=#75715E
|
||||
else
|
||||
hi Normal guifg=#F8F8F2 guibg=#1B1D1E
|
||||
hi Comment guifg=#7E8E91
|
||||
hi CursorLine guibg=#293739
|
||||
hi CursorLineNr guifg=#FD971F gui=none
|
||||
hi CursorColumn guibg=#293739
|
||||
hi ColorColumn guibg=#232526
|
||||
hi LineNr guifg=#465457 guibg=#232526
|
||||
hi NonText guifg=#465457
|
||||
hi SpecialKey guifg=#465457
|
||||
end
|
||||
|
||||
"
|
||||
" Support for 256-color terminal
|
||||
"
|
||||
if &t_Co > 255
|
||||
if s:molokai_original == 1
|
||||
hi Normal ctermbg=234
|
||||
hi CursorLine ctermbg=235 cterm=none
|
||||
hi CursorLineNr ctermfg=208 cterm=none
|
||||
else
|
||||
hi Normal ctermfg=252 ctermbg=233
|
||||
hi CursorLine ctermbg=234 cterm=none
|
||||
hi CursorLineNr ctermfg=208 cterm=none
|
||||
endif
|
||||
hi Boolean ctermfg=135
|
||||
hi Character ctermfg=144
|
||||
hi Number ctermfg=135
|
||||
hi String ctermfg=144
|
||||
hi Conditional ctermfg=161 cterm=bold
|
||||
hi Constant ctermfg=135 cterm=bold
|
||||
hi Cursor ctermfg=16 ctermbg=253
|
||||
hi Debug ctermfg=225 cterm=bold
|
||||
hi Define ctermfg=81
|
||||
hi Delimiter ctermfg=241
|
||||
|
||||
hi DiffAdd ctermbg=24
|
||||
hi DiffChange ctermfg=181 ctermbg=239
|
||||
hi DiffDelete ctermfg=162 ctermbg=53
|
||||
hi DiffText ctermbg=102 cterm=bold
|
||||
|
||||
hi Directory ctermfg=118 cterm=bold
|
||||
hi Error ctermfg=219 ctermbg=89
|
||||
hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold
|
||||
hi Exception ctermfg=118 cterm=bold
|
||||
hi Float ctermfg=135
|
||||
hi FoldColumn ctermfg=67 ctermbg=16
|
||||
hi Folded ctermfg=67 ctermbg=16
|
||||
hi Function ctermfg=118
|
||||
hi Identifier ctermfg=208 cterm=none
|
||||
hi Ignore ctermfg=244 ctermbg=232
|
||||
hi IncSearch ctermfg=193 ctermbg=16
|
||||
|
||||
hi keyword ctermfg=161 cterm=bold
|
||||
hi Label ctermfg=229 cterm=none
|
||||
hi Macro ctermfg=193
|
||||
hi SpecialKey ctermfg=81
|
||||
|
||||
hi MatchParen ctermfg=233 ctermbg=208 cterm=bold
|
||||
hi ModeMsg ctermfg=229
|
||||
hi MoreMsg ctermfg=229
|
||||
hi Operator ctermfg=161
|
||||
|
||||
" complete menu
|
||||
hi Pmenu ctermfg=81 ctermbg=16
|
||||
hi PmenuSel ctermfg=255 ctermbg=242
|
||||
hi PmenuSbar ctermbg=232
|
||||
hi PmenuThumb ctermfg=81
|
||||
|
||||
hi PreCondit ctermfg=118 cterm=bold
|
||||
hi PreProc ctermfg=118
|
||||
hi Question ctermfg=81
|
||||
hi Repeat ctermfg=161 cterm=bold
|
||||
hi Search ctermfg=0 ctermbg=222 cterm=NONE
|
||||
|
||||
" marks column
|
||||
hi SignColumn ctermfg=118 ctermbg=235
|
||||
hi SpecialChar ctermfg=161 cterm=bold
|
||||
hi SpecialComment ctermfg=245 cterm=bold
|
||||
hi Special ctermfg=81
|
||||
if has("spell")
|
||||
hi SpellBad ctermbg=52
|
||||
hi SpellCap ctermbg=17
|
||||
hi SpellLocal ctermbg=17
|
||||
hi SpellRare ctermfg=none ctermbg=none cterm=reverse
|
||||
endif
|
||||
hi Statement ctermfg=161 cterm=bold
|
||||
hi StatusLine ctermfg=238 ctermbg=253
|
||||
hi StatusLineNC ctermfg=244 ctermbg=232
|
||||
hi StorageClass ctermfg=208
|
||||
hi Structure ctermfg=81
|
||||
hi Tag ctermfg=161
|
||||
hi Title ctermfg=166
|
||||
hi Todo ctermfg=231 ctermbg=232 cterm=bold
|
||||
|
||||
hi Typedef ctermfg=81
|
||||
hi Type ctermfg=81 cterm=none
|
||||
hi Underlined ctermfg=244 cterm=underline
|
||||
|
||||
hi VertSplit ctermfg=244 ctermbg=232 cterm=bold
|
||||
hi VisualNOS ctermbg=238
|
||||
hi Visual ctermbg=235
|
||||
hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold
|
||||
hi WildMenu ctermfg=81 ctermbg=16
|
||||
|
||||
hi Comment ctermfg=59
|
||||
hi CursorColumn ctermbg=236
|
||||
hi ColorColumn ctermbg=236
|
||||
hi LineNr ctermfg=250 ctermbg=236
|
||||
hi NonText ctermfg=59
|
||||
|
||||
hi SpecialKey ctermfg=59
|
||||
|
||||
if exists("g:rehash256") && g:rehash256 == 1
|
||||
hi Normal ctermfg=252 ctermbg=234
|
||||
hi CursorLine ctermbg=236 cterm=none
|
||||
hi CursorLineNr ctermfg=208 cterm=none
|
||||
|
||||
hi Boolean ctermfg=141
|
||||
hi Character ctermfg=222
|
||||
hi Number ctermfg=141
|
||||
hi String ctermfg=222
|
||||
hi Conditional ctermfg=197 cterm=bold
|
||||
hi Constant ctermfg=141 cterm=bold
|
||||
|
||||
hi DiffDelete ctermfg=125 ctermbg=233
|
||||
|
||||
hi Directory ctermfg=154 cterm=bold
|
||||
hi Error ctermfg=222 ctermbg=233
|
||||
hi Exception ctermfg=154 cterm=bold
|
||||
hi Float ctermfg=141
|
||||
hi Function ctermfg=154
|
||||
hi Identifier ctermfg=208
|
||||
|
||||
hi Keyword ctermfg=197 cterm=bold
|
||||
hi Operator ctermfg=197
|
||||
hi PreCondit ctermfg=154 cterm=bold
|
||||
hi PreProc ctermfg=154
|
||||
hi Repeat ctermfg=197 cterm=bold
|
||||
|
||||
hi Statement ctermfg=197 cterm=bold
|
||||
hi Tag ctermfg=197
|
||||
hi Title ctermfg=203
|
||||
hi Visual ctermbg=238
|
||||
|
||||
hi Comment ctermfg=244
|
||||
hi LineNr ctermfg=239 ctermbg=235
|
||||
hi NonText ctermfg=239
|
||||
hi SpecialKey ctermfg=239
|
||||
endif
|
||||
end
|
||||
|
||||
" Must be at the end, because of ctermbg=234 bug.
|
||||
" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
|
||||
set background=dark
|
||||
5
menu.vim
Normal file
5
menu.vim
Normal file
@@ -0,0 +1,5 @@
|
||||
menu Encoding.koi8-r :e ++enc=koi8-r ++ff=unix<CR>
|
||||
menu Encoding.windows-1251 :e ++enc=cp1251 ++ff=dos<CR>
|
||||
menu Encoding.cp866 :e ++enc=cp866 ++ff=dos<CR>
|
||||
menu Encoding.utf-8 :e ++enc=utf8<CR>
|
||||
menu Encoding.koi8-u :e ++enc=koi8-u ++ff=unix<CR>
|
||||
212
vimrc
Normal file
212
vimrc
Normal file
@@ -0,0 +1,212 @@
|
||||
" Required settings
|
||||
set nocompatible
|
||||
filetype off
|
||||
|
||||
set rtp+=~/.vim/bundle/Vundle.vim
|
||||
set rtp+=/opt/homebrew/opt/fzf
|
||||
|
||||
call vundle#begin()
|
||||
|
||||
" let Vundle manage Vundle, required
|
||||
Plugin 'VundleVim/Vundle.vim'
|
||||
|
||||
" Plugins
|
||||
Plugin 'morhetz/gruvbox'
|
||||
Plugin 'preservim/nerdtree'
|
||||
Plugin 'tpope/vim-fugitive'
|
||||
Plugin 'tpope/vim-surround'
|
||||
Plugin 'tpope/vim-commentary'
|
||||
Plugin 'ryanoasis/vim-devicons'
|
||||
Plugin 'vim-airline/vim-airline'
|
||||
Plugin 'vim-syntastic/syntastic'
|
||||
|
||||
" All of your Plugins must be added before the following line
|
||||
call vundle#end()
|
||||
filetype plugin indent on
|
||||
|
||||
" Search options
|
||||
set incsearch
|
||||
set ignorecase
|
||||
set showmatch
|
||||
set hlsearch
|
||||
|
||||
" History options
|
||||
set history=1000
|
||||
set showcmd
|
||||
|
||||
" Indent options
|
||||
set autoindent
|
||||
set smartindent
|
||||
|
||||
" Common options
|
||||
set guioptions=
|
||||
set showmode
|
||||
set showtabline=0
|
||||
set smartcase
|
||||
set autochdir
|
||||
set number
|
||||
set ruler
|
||||
set wrap linebreak nolist
|
||||
set textwidth=80
|
||||
set cursorline
|
||||
|
||||
" Force 256 color support
|
||||
set t_Co=256
|
||||
|
||||
" Enable syntax highlighting
|
||||
syntax enable
|
||||
syntax on
|
||||
|
||||
" Set syntax highlight for specified file types
|
||||
autocmd BufRead,BufNewFile *.conf setf dosini
|
||||
autocmd BufRead,BufNewFile *.cnf setf dosini
|
||||
|
||||
" Set tab sizes and use spaces instead of tabs
|
||||
set tabstop=2
|
||||
set shiftwidth=2
|
||||
set softtabstop=2
|
||||
set expandtab
|
||||
set smarttab
|
||||
|
||||
" Encoding and file format order
|
||||
set ffs=unix,dos,mac
|
||||
set fencs=utf-8,cp1251,koi8-r,ucs-2,cp866
|
||||
|
||||
" Disable mouse support in terminal mode
|
||||
if !has('gui_running')
|
||||
set mouse=
|
||||
endif
|
||||
|
||||
" Fix keyboard mapping for <home> and <end> buttons
|
||||
map <ESC>[H <home>
|
||||
cmap <ESC>[H <home>
|
||||
imap <ESC>[H <home>
|
||||
map <ESC>[F <end>
|
||||
cmap <ESC>[F <end>
|
||||
imap <ESC>[F <end>
|
||||
|
||||
" Save and exit in Insert and Normal mode
|
||||
inoremap <F2> <ESC>:wq
|
||||
nnoremap <F2> <ESC>:wq
|
||||
|
||||
" Toggle NERDTree open and close in Normal mode
|
||||
nnoremap <F3> :NERDTreeToggle<CR>
|
||||
|
||||
" Have nerdtree ignore certain files and directories.
|
||||
let NERDTreeIgnore=['\.git$', '\.jpg$', '\.mp4$', '\.ogg$', '\.iso$', '\.pdf$', '\.pyc$', '\.odt$', '\.png$', '\.gif$', '\.db$']
|
||||
|
||||
" Map <Ctrl+/> to comment line in Normal, Visual and Insert modes.
|
||||
nmap <C-_> <Plug>CommentaryLine
|
||||
vmap <C-_> <Plug>CommentaryLine
|
||||
imap <C-_> <C-\><C-O><Plug>CommentaryLine
|
||||
|
||||
" Map (Ctrl+u) to undo the changes made since you typed in Insert mode.
|
||||
" Start a new change before using this mapping. Normally Ctrl+u while in Insert mode
|
||||
" would delete the text without undo history and it would be lost forever.
|
||||
inoremap <C-u> <C-G>u<C-u>
|
||||
|
||||
" You can split the window in Vim by typing :split or :vsplit.
|
||||
" Navigate the split view easier by pressing CTRL+j, CTRL+k, CTRL+h, or CTRL+l.
|
||||
nnoremap <c-j> <c-w>j
|
||||
nnoremap <c-k> <c-w>k
|
||||
nnoremap <c-h> <c-w>h
|
||||
nnoremap <c-l> <c-w>l
|
||||
|
||||
" Resize split windows using arrow keys by pressing:
|
||||
" CTRL+UP, CTRL+DOWN, CTRL+LEFT, or CTRL+RIGHT.
|
||||
noremap <c-up> <c-w>+
|
||||
noremap <c-down> <c-w>-
|
||||
noremap <c-left> <c-w>>
|
||||
noremap <c-right> <c-w><
|
||||
|
||||
" Wildmenu
|
||||
set wildmenu
|
||||
set wildmode=full
|
||||
set wildoptions=pum
|
||||
runtime! menu.vim
|
||||
set wildcharm=<C-z>
|
||||
nnoremap <F10> :emenu<Space><C-z>
|
||||
|
||||
" Set colorscheme
|
||||
colorscheme molokai
|
||||
let g:molokai_original = 1
|
||||
let g:rehash256 = 1
|
||||
|
||||
" Airline options
|
||||
let g:airline_powerline_fonts = 1
|
||||
let g:airline#extensions#keymap#enabled = 0
|
||||
let g:airline_section_z = "\ue0a1:%l/%L Col:%c"
|
||||
let g:Powerline_symbols='unicode'
|
||||
let g:airline#extensions#xkblayout#enabled = 0
|
||||
let g:airline#extensions#syntastic#enabled = 1
|
||||
|
||||
" Syntastic options
|
||||
let g:syntastic_always_populate_loc_list = 1
|
||||
let g:syntastic_auto_loc_list = 1
|
||||
let g:syntastic_check_on_open = 1
|
||||
let g:syntastic_check_on_wq = 0
|
||||
|
||||
" Change mode cursor color in xterm
|
||||
if &term =~ "xterm-256color\\|rxvt"
|
||||
let &t_SI = "\033]Pl00d7ff\033\\"
|
||||
let &t_SR = "\033]Plf00000\033\\"
|
||||
let &t_EI = "\033]Plff8708\033\\"
|
||||
silent !echo -ne "\033]Pla0522d\033\\"
|
||||
autocmd VimLeave * silent !echo -ne "\033]Plc1ffc1\033\\"
|
||||
endif
|
||||
|
||||
" Show tabs and trails
|
||||
set list
|
||||
set listchars=tab:--,trail:.
|
||||
|
||||
" Override theme color settings for tabs and trails
|
||||
function! MyHighlights() abort
|
||||
highlight NonText ctermbg=None ctermfg=DarkGrey
|
||||
highlight SpecialKey ctermbg=None ctermfg=DarkGrey
|
||||
endfunction
|
||||
|
||||
augroup MyColors
|
||||
autocmd!
|
||||
autocmd ColorScheme * call MyHighlights()
|
||||
augroup END
|
||||
|
||||
" Jump to the last position when reopening a file
|
||||
if has("autocmd")
|
||||
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
|
||||
\| exe "normal! g'\"" | endif
|
||||
endif
|
||||
|
||||
" Cleaning up tabs and spaces in file
|
||||
function! RemoveTrailingSpaces()
|
||||
%s/\s\+$//e
|
||||
%s/
|
||||
//ge
|
||||
endfunction
|
||||
|
||||
function! ConvertTabsToSpaces()
|
||||
%retab
|
||||
endfunction
|
||||
|
||||
function! CleanFile()
|
||||
call ConvertTabsToSpaces()
|
||||
call RemoveTrailingSpaces()
|
||||
endfunction
|
||||
|
||||
" Key binding \f to clean up file
|
||||
nmap <silent> <leader>f <Esc>:call CleanFile()<CR>
|
||||
|
||||
" Fold lines starting with input arg
|
||||
" function! FoldSomething(lnum)
|
||||
" let line1=getline(a:lnum)
|
||||
" if line2=~#'^\s*;'
|
||||
" return >1
|
||||
" endif
|
||||
" return =
|
||||
" endfunction
|
||||
|
||||
"set foldexpr=FoldSomething(v:lnum)
|
||||
" set foldmethod=expr
|
||||
" set foldcolumn=3
|
||||
" finish
|
||||
|
||||
" command! FL :call FoldSomething()
|
||||
Reference in New Issue
Block a user