Skip to content

Instantly share code, notes, and snippets.

@riffm
Created September 17, 2009 10:10
Show Gist options
  • Save riffm/188435 to your computer and use it in GitHub Desktop.
Save riffm/188435 to your computer and use it in GitHub Desktop.
set nocompatible
set nobackup
set history=50
set showcmd
set ruler
set hlsearch
set incsearch
set smartcase
set cmdheight=1
syntax enable
filetype plugin indent on
set fencs=utf-8,cp1251,koi8-r,ucs-2,cp866
set encoding=utf-8
set foldmethod=indent
set pastetoggle=<F3>
" автоматическое закрытие скобок
" inoremap { {}<LEFT>
" inoremap ( ()<LEFT>
" inoremap [ []<LEFT>
if has('gui_running')
colo wombat
set guifont=Liberation15px
set guioptions-=T
set guioptions-=t
set mouse=a
set mousemodel=popup
else
colo slate
endif
" when ':set list' you see <tab> and trails more usable
set listchars=tab:>-,trail:-
set list
set nu
set sw=4 ts=4 sta et
au FileType crontab,fstab,make set noet ts=8 sw=8
au BufEnter *.py set ai sw=4 ts=4 sta et fo=croql tw=80
au BufEnter *.sh set ai sw=4 ts=4 sta et tw=80
" STATUS STRING
set wildmenu
set laststatus=2
set statusline=%<%f\ [%Y%R%W]%1*%{(&modified)?'\ [+]\ ':''}%*%=%c%V,%l\ %P\ [%n]
" On/off line numbers by F11
imap <F11> <Esc>:set<Space>nu!<CR>a
nmap <F11> :set<Space>nu!<CR>
" новая вкладка
nnoremap <C-T> :tabnew<CR>
inoremap <C-T> <C-O>:tabnew<CR>
vnoremap <C-T> <ESC>:tabnew<CR>
" предыдущая вкладка
nnoremap <silent><A-LEFT> :call TabJump('left')<CR>
inoremap <silent><A-LEFT> <C-O>:call TabJump('left')<CR>
vnoremap <silent><A-LEFT> <ESC>:call TabJump('left')<CR>
" следующая вкладка
nnoremap <silent><A-RIGHT> :call TabJump('right')<CR>
inoremap <silent><A-RIGHT> <C-O>:call TabJump('right')<CR>
vnoremap <silent><A-RIGHT> <ESC>:call TabJump('right')<CR>
" первая вкладка
nnoremap <A-UP> :tabfirst<CR>
inoremap <A-UP> <C-O>:tabfirst<CR>
vnoremap <A-UP> <ESC>:tabfirst<CR>
" последняя вкладка
nnoremap <A-DOWN> :tablast<CR>
inoremap <A-DOWN> <C-O>:tablast<CR>
vnoremap <A-DOWN> <ESC>:tablast<CR>
" переместить вкладку назад
nnoremap <silent><A-S-LEFT> :call TabMove('left')<CR>
inoremap <silent><A-S-LEFT> <C-O>:call TabMove('left')<CR>
vnoremap <silent><A-S-LEFT> <ESC>:call TabMove('left')<CR>
" переместить вкладку вперёд
nnoremap <silent><A-S-RIGHT> :call TabMove('right')<CR>
inoremap <silent><A-S-RIGHT> <C-O>:call TabMove('right')<CR>
vnoremap <silent><A-S-RIGHT> <ESC>:call TabMove('right')<CR>
" меню выбора кодировки сохранения
nnoremap <F6> :emenu File.Encoding.Write.<TAB>
inoremap <F6> <C-O>:emenu File.Encoding.Write.<TAB>
vnoremap <F6> <ESC>:emenu File.Encoding.Write.<TAB>
" меню выбора кодировки чтения
nnoremap <F7> :emenu File.Encoding.Read.<TAB>
inoremap <F7> <C-O>:emenu File.Encoding.Read.<TAB>
vnoremap <F7> <ESC>:emenu File.Encoding.Read.<TAB>
" меню проверки орфографии
nnoremap <F8> :emenu File.Spell.<TAB>
inoremap <F8> <C-O>:emenu File.Spell.<TAB>
vnoremap <F8> <ESC>:emenu File.Spell.<TAB>
" меню открытия внешней программой
nnoremap <F9> :emenu File.Preview.<TAB>
inoremap <F9> <C-O>:emenu File.Preview.<TAB>
vnoremap <F9> <ESC>:emenu File.Preview.<TAB>
" закрыть буфер
nnoremap <F10> :q!<CR>
inoremap <F10> <C-O>:q!<CR>
vnoremap <F10> <ESC>:q!<CR>
" закрыть всё
nnoremap <C-F10> :qall!<CR>
inoremap <C-F10> <C-O>:qall!<CR>
vnoremap <C-F10> <ESC>:qall!<CR>
function! TabJump(direction)
let l:tablen=tabpagenr('$')
let l:tabcur=tabpagenr()
if a:direction=='left'
if l:tabcur>1
execute 'tabprevious'
endif
else
if l:tabcur!=l:tablen
execute 'tabnext'
endif
endif
endfunction
function! TabMove(direction)
let l:tablen=tabpagenr('$')
let l:tabcur=tabpagenr()
if a:direction=='left'
if l:tabcur>1
execute 'tabmove' l:tabcur-2
endif
else
if l:tabcur!=l:tablen
execute 'tabmove' l:tabcur
endif
endif
endfunction
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment