245:66d0e2418b2f
Anton Shestakov <av6@dwimlabs.net>, Sat, 26 Nov 2022 02:07:35 +0400
.vimrc: set updatetime from 4000ms to 500ms This matters for certain async plugins, such as signify, that use CursorHold autocommand event. Signify recommends going as low as 100, but 500 should be good enough.

next change 246:af09affab9df
previous change 244:30215bddb9d9

.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 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+=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
set pastetoggle=<F2>
let mapleader=","
map <Leader>n :bprevious<CR>
map <Leader>m :bnext<CR>
map <Leader>l <C-^>
map <Leader>p :CtrlPBuffer<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'
" 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=["pyflakes"]
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_python3()
fun! s:check_if_python3()
if getline(1) =~ '#!.*\<python3\>'
let g:syntastic_python_checkers=["pyflakes3"]
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