264:9dc40edb261c
Anton Shestakov <av6@dwimlabs.net>, Sun, 07 Jul 2024 19:27:48 +0400
.vim: add foldcolumn=2 for html and json

next change 265:c7fa41a62119
previous change 260:5b8e162acdac

.vimrc

Permissions: -rw-r--r--

Other formats: Feeds:
set encoding=utf-8
set history=700
set undolevels=700
set mouse=a
set backspace=indent,eol,start
set scrolloff=4
set sidescrolloff=4
set clipboard=unnamed
set hidden
set nobackup
set nowritebackup
set noswapfile
set wildignore+=*.pyc
set wildmode=list:longest
set autoread
set showcmd
set autoindent " copy indent from current line when starting a new line
set complete-=i " don't scan included files
set completeopt=menu,popup " popup instead of preview
set hlsearch
set incsearch
set ignorecase
set smartcase
set sessionoptions=buffers
set nowrap " don't automatically wrap on load
set textwidth=79 " width of document (used by gd)
set colorcolumn=80 " list of screen columns to highlight
set formatoptions-=t " don't automatically wrap text when typing
set formatoptions+=n " recognize numbered lists when formatting
set formatoptions+=j " remove comment leader when joining lines
set diffopt+=context:50 " vimdiff likes folding a bit too much
set tabstop=8
set softtabstop=4
set shiftwidth=4
set shiftround " round indent to multiples of shiftwidth (for > and <)
set expandtab
set listchars=tab:>-,trail:·,nbsp:⍽
set number " show line numbers
set laststatus=2 " always show status line
set ttimeoutlen=0 " eliminate delay after <ESC>
set updatetime=500 " faster async update for signify
if !has('nvim')
" cursor in insert and replace modes
let &t_SI = "\e[6 q"
let &t_SR = "\e[4 q"
let &t_EI = "\e[2 q"
endif
set pastetoggle=<F2>
let mapleader=","
map <Leader>n :bprevious<CR>
map <Leader>m :bnext<CR>
map <Leader>l <C-^>
map <Leader>p :CtrlPBuffer<CR>
map <Leader>o :CtrlPBufTagAll<CR>
map <Leader>/ :CtrlPLine<CR>
" smart home
noremap <expr> <silent> <Home> col('.') == match(getline('.'),'\S')+1 ? '0' : '^'
imap <silent> <Home> <C-O><Home>
" yank to EOL
map Y y$
" don't leave visual mode after shifting
vnoremap < <gv
vnoremap > >gv
" bubble lines
nnoremap <C-Up> :move .-2<CR>
nnoremap <C-Down> :move .+1<CR>
vnoremap <C-Up> :move '<-2<CR>gv
vnoremap <C-Down> :move '>+1<CR>gv
imap <C-Up> <C-O><C-Up>
imap <C-Down> <C-O><C-Down>
" show listchars
nnoremap <F3> :setlocal list! list?<CR>
imap <F3> <C-O><F3>
" show column
nnoremap <F4> :setlocal cursorcolumn! cursorcolumn?<CR>
imap <F4> <C-O><F4>
vmap <F4> <Esc><F4>gv
syntax on
filetype plugin indent on
" go back to the last edited position
au BufReadPost *
\ if line("'\"") >= 1 && line("'\"") <= line("$")
\ | execute "normal! g`\""
\ | endif
" airline
let g:airline_symbols_ascii = 1
let g:airline_theme = 'powerlineish'
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#formatter = 'unique_tail_improved'
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = ''
" ctrlp
let g:ctrlp_max_height = 20
let g:ctrlp_custom_ignore = '\v[\/](venv|node_modules|\.(git|hg|svn))$'
" syntastic
let g:syntastic_check_on_open = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_enable_signs = 1
let g:syntastic_enable_highlighting = 1
let g:syntastic_html_checkers = ["jshint"]
let g:syntastic_html_jshint_exec = "~/node_modules/jshint/bin/jshint"
let g:syntastic_python_checkers = ["pyflakes3"]
let g:syntastic_lua_checkers = ["luac", "luacheck"]
let g:syntastic_lua_luacheck_exec = "~/.luarocks/bin/luacheck"
let g:syntastic_javascript_checkers = ["jshint"]
let g:syntastic_javascript_jshint_exec = "~/node_modules/jshint/bin/jshint"
au FileType python call s:check_if_python2()
fun! s:check_if_python2()
if getline(1) =~ '#!.*\<python2?\>'
let g:syntastic_python_checkers=[]
endif
endfun
" signify
let g:signify_skip = { 'vcs': { 'allow': ['git', 'hg'] } }
" vim-ansible
let g:ansible_attribute_highlight = "ab"
let g:ansible_extra_keywords_highlight = 1
if $COLORTERM == 'truecolor'
" uses "cterm" attributes on vim, "gui" attributes on neovim
set termguicolors
endif
" molokai color scheme
let g:molokai_original = 1
let g:rehash256 = 0
colorscheme molokai
highlight MatchParen guifg=#FD971F guibg=bg gui=bold ctermfg=208 ctermbg=none cterm=bold
highlight Comment ctermfg=244