Advertisement
RuslanKorotaev

GVimrc

Apr 1st, 2014
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 9.06 KB | None | 0 0
  1. " Отменить совместимость со старым Vi для реализации новых функций
  2. set nocompatible
  3.  
  4. " Минимальная высота окна
  5. set winminheight=0
  6.  
  7. " Минимальная ширина окна
  8. set winminwidth=0
  9.  
  10. " Минимальное количество строк остающихся выше/ниже курсора
  11. " помогает не терять контекст.
  12. set scrolloff=4
  13.  
  14. " ---------------------------------------------------------------------------
  15. " Размер табуляции
  16. set tabstop=4
  17.  
  18. " Размер сдвига при нажатии на клавиши << и >>
  19. set shiftwidth=4
  20.  
  21. " Заменять все табы на пробелы при вводе текста, однако это не заменит
  22. " уже существующих табов для этого введите :retab подробности по ссылке
  23. " http://vim.wikia.com/wiki/Converting_tabs_to_spaces
  24. set expandtab
  25.  
  26. " Копирует отступ от предыдущей строки
  27. set autoindent
  28.  
  29. " Включаем 'умную' автоматическую расстановку отступов
  30. set smarttab
  31.  
  32. " ---------------------------------------------------------------------------
  33. " Автоматический перенос слов
  34. " http://vim.wikia.com/wiki/Automatic_word_wrapping
  35.  
  36. " Фиксируем ширину текста
  37. set textwidth=78
  38.  
  39. " Автоматический перенос текста при достижении 'textwidth'
  40. set formatoptions+=t
  41.  
  42. " Подсветка границы текста после 'textwidth'
  43. set colorcolumn=+2
  44.  
  45. " Включаем мягкий перенос длинных строк, то есть без разрывов и EOL.
  46. set wrap
  47.  
  48. " Перенос строк по словам, а не по буквам
  49. set linebreak
  50.  
  51. " ---------------------------------------------------------------------------
  52. " Нормальное поведение 'backspace'
  53. " при редактировании табов и соединении строк
  54. set backspace=indent,eol,start
  55.  
  56. " При перемещении курсора он остается в том же столбце (если это возможно).
  57. set nostartofline
  58.  
  59. " Всегда отображать статусную строку для каждого окна
  60. set laststatus=2
  61.  
  62. " ---------------------------------------------------------------------------
  63. " Статусная строка
  64. set statusline=
  65. " Кодировка текущего файла, концы строк, сохранение
  66. " set statusline+=\ \ \ %{&ff}\ %{&fenc}\ [%{&enc}]
  67. set statusline+=\ [%n]                " номер буфера
  68. set statusline+=\ %<%F              " путь к файлу
  69. set statusline+=\ %m%r%h%w%y        " различные флаги
  70. set statusline+=\ %=                " выравнивание по правому краю
  71. set statusline+=\ line:%l/%L\       " номер строки
  72. set statusline+=\ col:%v            " номер колонки
  73. set statusline+=\ \ \ %p%%\ \ \     " положение в файле
  74.  
  75. " ---------------------------------------------------------------------------
  76. " Отключаем создание бэкапов
  77. set nobackup
  78.  
  79. " Отключаем создание swap файлов
  80. set noswapfile
  81.  
  82. " Выводить диалог сохранения файлов.
  83. set confirm
  84.  
  85. " Включает виртуальный звонок (моргает, а не бибикает при ошибках)
  86. set visualbell
  87.  
  88. " Моргание тоже отключаем
  89. set t_vb=
  90.  
  91. " Включить поддержку мыши во всех режимах
  92. set mouse=a
  93.  
  94. " ---------------------------------------------------------------------------
  95. " Установить высоту командного окна в 2 строки,
  96. " дабы избежать появления "press <Enter> to continue"
  97. set cmdheight=2
  98.  
  99. " Подсветка строки, в которой находится в данный момент курсор
  100. set cursorline
  101.  
  102. " Отключаем панель инструментов
  103. set guioptions-=T
  104.  
  105. " Отключаем графические табы (текстовые занимают меньше места)
  106. set guioptions-=e
  107.  
  108. " Устанавливаем шрифт
  109. set guifont=Ubuntu\ Mono\ 12
  110.  
  111. " Включаем автодополнение команд
  112. set wildmenu
  113.  
  114. " Включаем отображение выполняемой в данный момент команды
  115. " в правом нижнем углу экрана.
  116. set showcmd
  117.  
  118. " Настройка подсветки невидимых символов для команды list
  119. set listchars=tab:>-,trail:·,extends:>,precedes:<,eol:¶,nbsp:%
  120.  
  121. " ---------------------------------------------------------------------------
  122. " Включаем подсветку выражения, которое ищется в тексте
  123. set hlsearch
  124. " Игнорировать регистр букв при поиске
  125. set ignorecase
  126. " Игнорировать опцию 'ignorecase' если шаблон поиска содержит
  127. " символы в верхнем регистре
  128. set smartcase
  129. " При поиске перескакивать на найденный текст в процессе набора строки
  130. set incsearch
  131. " Останавливать поиск при достижении конца файла
  132. set nowrapscan
  133.  
  134. " ---------------------------------------------------------------------------
  135. " Переключатель <F11> между режимами 'paste' и 'nopaste'
  136. set pastetoggle=<F11>
  137.  
  138. " Клавиша Y будет похожа на действия D и C,
  139. " то есть копировать до конца строки
  140. map Y y$
  141.  
  142. " Сочетание <C-L> будет обновлять экран
  143. " и заодно очищать от подсветки поиска
  144. nnoremap <C-L> :nohl<CR><C-L>
  145.  
  146. " Цитаты оформляем символом '>' при выделении текста
  147. map <F3> :s/^/\>\ /
  148.  
  149. " ---------------------------------------------------------------------------
  150. " Проверка орфографии
  151. " Словари можно скачать с сайта ftp://ftp.vim.org/pub/vim/runtime/spell/ и
  152. " положить в папочку ~/.vim/spell, если хотите использовать этот словарь
  153. " только для одного пользователя, либо в общую директорию (обычно
  154. " /usr/share/vim/vim70/spell).
  155.  
  156.         if version >= 700
  157.             " По умолчанию проверка орфографии выключена.
  158.             set spell spelllang=
  159.             set nospell
  160.  
  161.             menu Spell.off :setlocal spell spelllang=<CR>:setlocal nospell<CR>
  162.  
  163. menu Spell.Russian+English :setlocal spell spelllang=ru,en<CR>
  164.             menu Spell.Russian :setlocal spell spelllang=ru<CR>
  165.             menu Spell.English :setlocal spell spelllang=en<CR>
  166.             menu Spell.-SpellControl- :
  167.             menu Spell.Word\ Suggest<Tab>z= z=
  168.             menu Spell.Add\ To\ Dictionary<Tab>zg zg
  169.             menu Spell.Add\ To\ TemporaryDictionary<Tab>zG zG
  170.             menu Spell.Remove\ From\ Dictionary<Tab>zw zw
  171.             menu Spell.Remove\ From\ Temporary\ Dictionary<Tab>zW zW
  172.             menu Spell.Previous\ Wrong\ Word<Tab>[s [s
  173.             menu Spell.Next\ Wrong\ Word<Tab>]s ]s
  174.         endif
  175.  
  176. " ---------------------------------------------------------------------------
  177. " Список кодировок файлов для автоопределения
  178. set fileencodings=utf-8,cp1251,koi8-r,cp866
  179.  
  180. " Меню Encoding
  181.    " Выбор кодировки, в которой читать файл
  182.        set wildmenu
  183.        set wcm=<Tab>
  184.        menu Encoding.Read.utf-8<Tab><F7> :e ++enc=utf8 <CR>
  185.        menu Encoding.Read.windows-1251<Tab><F7> :e ++enc=cp1251<CR>
  186.        menu Encoding.Read.koi8-r<Tab><F7> :e ++enc=koi8-r<CR>
  187.        menu Encoding.Read.cp866<Tab><F7> :e ++enc=cp866<CR>
  188.        map <F7> :emenu Encoding.Read.<TAB>
  189.        
  190.    " Выбор кодировки, в которой сохранять файл
  191.        set wildmenu
  192.  
  193.  
  194.  
  195.  
  196. set wcm=<Tab>
  197.        menu Encoding.Write.utf-8<Tab><S-F7> :set fenc=utf8 <CR>
  198.        menu Encoding.Write.windows-1251<Tab><S-F7> :set fenc=cp1251<CR>
  199.        menu Encoding.Write.koi8-r<Tab><S-F7> :set fenc=koi8-r<CR>
  200.        menu Encoding.Write.cp866<Tab><S-F7> :set fenc=cp866<CR>
  201.        map <S-F7> :emenu Encoding.Write.<TAB>
  202.        
  203.    " Выбор формата концов строк (dos - <CR><NL>, unix - <NL>, mac - <CR>)
  204.        set wildmenu
  205.        set wcm=<Tab>
  206.        menu Encoding.End_line_format.unix<Tab><C-F7> :set fileformat=unix<CR>
  207.        menu Encoding.End_line_format.dos<Tab><C-F7> :set fileformat=dos<CR>
  208.        menu Encoding.End_line_format.mac<Tab><C-F7> :set fileformat=mac<CR>
  209.        map <C-F7> :emenu Encoding.End_line_format.<TAB>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement