Advertisement
Guest User

Untitled

a guest
Jan 15th, 2014
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 5.04 KB | None | 0 0
  1. " ********************
  2. " изменение переменных
  3. " ********************
  4. syntax on   " подсветка синтаксиса
  5. " autocmd VimLeavePre * silent mksession ~/.vim/lastSession.vim " При выходе сохраняет все открытые буферы, маппинги и еще много чего
  6. set viminfo='10,\"100,:20,%,n~/.viminfo
  7. au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
  8.  
  9. colors default
  10. set clipboard=unnamed   " неименованный буфер совпадает с буфером иксов
  11. " set autoindent    " авто отступ
  12. set nocompatible    " отказ от совместимости с vi
  13. set ruler   " показывать координаты курсора в строке состояния
  14. " set ignorecase
  15. " set smartcase
  16.  
  17. set autoindent
  18. set nosmartindent
  19. set nocindent
  20. set incsearch   " поиск по мере набора
  21. set hlsearch    " выделение всех найденных слов
  22.  
  23. " set expandtab " вставлять пробелы, а не табы
  24. " set softtabstop=4 " величина отступа
  25. set tabstop=4
  26. set shiftwidth=4
  27.  
  28. "set foldmethod=indent
  29. set background=dark " считать, что фон терминала - тёмный
  30. highlight Comment ctermfg=darkgreen " цвет комментариев
  31. " set sidescroll=10
  32. " set smarttab
  33. " set expandtab
  34.  
  35. set statusline=%<%f%h%m%r%=%({%{&fileformat},%{&fileencoding},%{&encoding}}%)\ %-6(0x%B%)\ %-10(%l,%c%V%)\ %7P
  36. set laststatus=2
  37.  
  38. " проверка орфографии
  39. "set spell
  40. set spelllang=ru,en
  41.  
  42. "
  43. " *********
  44. " кодировки
  45. " *********
  46. "
  47. " кодировка _всех_ внутренних буферов
  48. set encoding=utf8
  49. " кодировка для сохранения нового файла
  50. set fileencoding=koi8-r
  51. " кодировки, перебираемые при автоопределении кодировки
  52. set fileencodings=utf8,koi8-r,cp1251,cp866
  53. " кодировка терминала
  54. set termencoding=utf8
  55. " кодировка этого скрипта ;o)
  56. scriptencoding koi8-r
  57.  
  58. " для работы русских клавиш
  59. "set langmap=ёйцукенгшщзхъфывапролджэячсмитьбюЁЙЦУКЕHГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ;`qwertyuiop[]asdfghjkl;'zxcvbnm,.~QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>
  60.  
  61. " ********
  62. " команды
  63. " ********
  64. command Wsudo set buftype=nowrite | silent execute ':%w !sudo tee %' | set buftype= | e! %
  65.  
  66.  
  67. " *****************
  68. " назначение клавиш
  69. " *****************
  70.  
  71. " сохранение текущего буфера
  72. imap <F2> <ESC>:w<CR>a<CR>
  73. nmap <F2> :w<CR>
  74.  
  75. " сохранение всех буферов
  76. imap <S-F2> <ESC>:wa<CR>a<CR>
  77. nmap <S-F2> :wa<CR>
  78.  
  79. " проверка орфографии
  80. nmap <F4> :w!<CR>:!ispell -d russian %<CR>:!ispell -d english %<CR>:e! %<CR>
  81.  
  82. " компиляция и просмотр ошибок
  83. map <F5> :wa<CR>:make<CR><CR>
  84. " собрать дерево
  85. "map <C-R> :wa<CR>:make test<CR>
  86.     " собрать дерево
  87. map <F6> :cope<CR>
  88.     "
  89. map <F7> :let &fileencoding=&encoding<CR>
  90. map <F8> :execute RotateEnc()<CR>
  91. map <C-]> :execute Mytabtag()<CR>
  92.  
  93. " imap <F9> <Esc>:wa<CR>:sh<CR>
  94. " nmap <F9> :wa<CR>:sh<CR>
  95.  
  96. " выход
  97. map <F10> :q<CR>
  98. map <C-F10> :q!<CR>
  99. map <S-F10> :qa<CR>
  100. map <S-C-F10> :qa!<CR>
  101.  
  102. "map <F11> :cp<CR>
  103.     " прыгнуть на следующую...
  104. "map <F12> :cn<CR>
  105.     " ...предыдущую ошибку
  106. map <F12> <Plug>ToggleProject
  107.  
  108. " Часто открыто много файлов,
  109. " что бы удобнее было переходить:
  110. " nmap <C-H> :bp<CR>
  111. " imap <C-H> <ESC> :bp<CR>i<Right>
  112. " nmap <C-L> :bn<CR>
  113. " imap <C-L> <ESC> :bn<CR>i<Right>
  114. nmap <C-H> :tabp<CR>
  115. imap <C-H> <ESC> :tabp<CR>i<Right>
  116. nmap <C-L> :tabn<CR>
  117. imap <C-L> <ESC> :tabn<CR>i<Right>
  118.  
  119. " nmap <F5> :bp!<CR>
  120. " imap <F5> <Esc>:bp!<CR>a
  121. " nmap <F6> :bn!<CR>
  122. " imap <F6> <Esc>:bn!<CR>a
  123. " nmap <C-K> <C-W>k<C-W>_ " окно вверх
  124. " imap <C-K> <Esc><C-W>k<C-W>_a " окно вверх
  125. " nmap <C-J> <C-W>j<C-W>_ " окно вниз
  126. " imap <C-J> <Esc><C-W>j<C-W>_a " окно вниз
  127.  
  128. imap <M-W> <Esc>:set<Space>wrap!<CR>a<CR>
  129. nmap <M-W> :set<Space>wrap!<CR>
  130. imap <C-Space> <C-N>" автодополнение по Control+Space
  131.  
  132.  
  133. " ***********
  134. " подстановки
  135. " ***********
  136.  
  137. imap {<CR> {<CR>}<Esc>O
  138.  
  139. " *******
  140. " функции
  141. " *******
  142. let b:encindex=0
  143. function! RotateEnc()   " сменить кодировку
  144.     let y = -1
  145.     while y == -1
  146.         let encstring = "#8bit-cp1251#8bit-cp866#ucs-2le#utf-8#koi8-r#"
  147.         let x = match(encstring,"#",b:encindex)
  148.         let y = match(encstring,"#",x+1)
  149.         let b:encindex = x+1
  150.         if y == -1
  151.             let b:encindex = 0
  152.         else
  153.             let str = strpart(encstring,x+1,y-x-1)
  154.             return ":e ++enc=".str
  155.         endif
  156.     endwhile
  157. endfunction
  158.  
  159. function! Mytabtag()
  160.     let y = expand("<cword>")
  161.     return ":tab tag ".y
  162. endfunction
  163.  
  164. "
  165. " тип файла
  166. "
  167.  
  168. au BufNewFile,BufRead *.mxm setf maxima
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement