Skip to content

Instantly share code, notes, and snippets.

@surr-name
Created June 22, 2017 12:09
Show Gist options
  • Save surr-name/ccccb9ca7e0f5ccfc5ac546cd450c54b to your computer and use it in GitHub Desktop.
Save surr-name/ccccb9ca7e0f5ccfc5ac546cd450c54b to your computer and use it in GitHub Desktop.
" syntax enable
syntax on
set background=light
let g:solarized_termcolors=256
colorscheme solarized
if &diff
colorscheme github
endif
""""""""""""""""" statusline
set laststatus=2 "show always
set statusline=%F "tail of the filename
"set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding
"set statusline+=%{&ff}] "file format
"set statusline+=%h "help file flag
set statusline+=\ %m "modified flag
set statusline+=%r "read only flag
"set statusline+=%y "filetype
set statusline+=%= "left/right separator
set statusline+=\ col:\ %c "cursor column
set statusline+=\ line:\ %l\ (%L) "cursor line/total lines
set statusline+=\ %P "percent through file
""""""""""""""""" scrollbars off
set guioptions-=r " right
set guioptions-=R " right when splited
set guioptions-=l " left
set guioptions-=L " left when splited
set incsearch
set hlsearch " подсветка результатов поиска
nnoremap * *N " не переходить на следующее совпадение при *
nnoremap <F8> :nohlsearch<CR>
vnoremap * y :execute ":let @/=@\""<CR> :execute "set hlsearch"<CR>
imap <c-f> <esc><c-f>i
" табуляция
set tabstop=4
set shiftwidth=4
set smarttab
set expandtab
set autoindent
" encoding
set encoding=utf-8
set fileencoding=utf-8
function! SaveAndRun()
let l:fileName = expand('%:t')
:cd%:h
:w
if match (l:fileName, '\c.js$') > 0 " node
let l:cmd = ':!node ' . l:fileName . "\n"
elseif match (l:fileName, '\c.pl$') > 0 " perl
let l:cmd = ':!perl ' . l:fileName . "\n"
else
let l:cmd = ''
endif
execute l:cmd
endfunction
map <F2> :call SaveAndRun()<CR>
imap <F2> <Esc><F2>
vmap <F2> <Esc><F2>
command W call WriteAsRoot(@%)
function! WriteAsRoot (file)
exec 'w !sudo tee ' . shellescape(@%, 1) . ' >/dev/null'
endfunction
" automatic reread vimrc
autocmd! bufwritepost $MYVIMRC source $MYVIMRC
" min lines after cursor for start scrolling
set scrolloff=3
filetype plugin on
" extensions for `goto file` command
set suffixesadd+=.js
set suffixesadd+=.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment