Видео ролики бесплатно онлайн

Смотреть аниме видео

Официальный сайт openclass 24/7/365

Смотреть видео бесплатно

h0rr0rr_drag0n 14.02.2009 15:44

VimVim. Базовая настройка.

Вим, как и большинство других Unix-программм, хранит свои настройки в конфиге. Системный конфиг лежит в /usr/share/vim/vimrc, но нас интересует пользовательский, хранящийся в ~/.vimrc.

Формат конфигурационного файла весьма прост. Комментарии предваряются символом ". Все остальное - опции и команды для vim'a, которые он читает при старте. Рассмотрим некоторые, наиболее полезные на мой взгляд, вещи.



set nocompatible - заставляет работать вим в "полную силу". Если вместо этой строки прописать set compatible, то вим будет работать в "режиме совместимости с vi", то есть только бибкать и портить текст.



set nobackup - по умолчанию vim создает для каждого редактируемого файла резервную копию с суффиксом ~. Эта опция запрещает подобное поведение.



set background=dark - по умолчанию вим считает фон X-терминала светлым и меняет подсветку синтаксиса соответствующим образом. Если же на самом деле терминал имеет темный фон, то происходит вынос глаз. Эта опция объясняет виму, что фон терминала - темный.

Для сравнения: background=light и background=dark.



Следующая опция наверняка является самой востребованной и массовой. Она отключает....надоедливое бибиканье! Теперь вим будет просто мерцать. set visualbell - рай для эпилептика.



set nowrap

set sidescroll=10

set listchars+=precedes:<,extends:>
- этот набор опций заставляет вим не переносить строку из файла на новую строку на экране, если строка из файла не помещается в экран. Вместо этого строка продолжается за пределы экрана, и вим рисует символы < > показывающие в каком направлении можно прокрутить строку (регулируется опцией listchars). За каждое нажатие на h иди l вим прокручивает строку на 10 символов влево\вправо (регулируется опцией sidescroll).



Помимо всего этого разнообразия опций, vimrc можно использовать чтобы биндить неиспользуемые vim'ом клавиши для исполнения своих темных ритуалов светлых целей. Поможет нам в этом ключевое слово map:

map обозначение_клавиши действие

Названия клавиш обязательно заключаются в угловые скобки. Буквенно-цифровые клавиши обозначаются как они и есть, например <j> <3> <hht>. Последняя конструкция биндит некое действие на последовательное нажатие клавиш h, h и t. Функциональные клавиши, также обозначены в соответствии с их названием - <Esc> <Enter> <F1> <F2> <Shift>. Shift и Ctrl можно сократить до S и C соответственно. Функциональные и буквенно-цифровые клавиши комбинируются так: <C-j> <S-F5> и т.п.

Действия должны быть записаны в таком виде, будто вы их выполняете в запущенном виме в командном режиме. Например для запуска grep'a - :!grep '^A.\{1,\}x$' %<CR> В конце обязателен символ перевода строки - <CR>, а вместо символа '%' будет подставлено имя текущего файла.

Если вы хотите, чтобы ваше сочетание клавиш работало не только в командном режиме - используйте nmap\imap вместо map. nmap определяет сочетание клавиш для командного режима, imap - для режима вставки. Остальной синтаксис такой же как и у map.

Для примера, приведу несколько полезных биндингов:



map <F10> :wqa<CR>

map <Esc><Esc> :q!<CR>



" save session

map <C-k> :mksession! ~/.vim/lastSession.vim<CR>

" load last session

map <C-l> :source ~/.vim/lastSession.vim<CR>



" Auto adding by Tab (use Shift-TAB unstead)

imap <Tab> <C-N>





Для каждого параметра в vimrc можно определить для каких типов файлов он будет применен. Для этого перед параметром надо написать: au FileType список_расширений_файлов_через_запятую ....параметр.... Примеры:



au FileType c,cc,cpp,h,hpp imap #m int main(int argc, char * argv
) {

au FileType c,cc,cpp,h,hpp imap #d #define

" Compile program using Makefile

au FileType c,cc,cpp,h,hpp imap <F5> <Esc>:make!<CR>a

au FileType c,cc,cpp,h,hpp nmap <F5> :make!<CR>

" Use LaTeX to compile LaTeX sources

au FileType tex map <F5> :!pdflatex %<CR>

" run shell script in shell

au FileType sh,bash map <F5> :!bash %<CR>





Список ресурсов, на которых освещается тема "издевательств" над ~/.vimrc:

http://linuxforum.ru/index.php?showtopic=36820 - Тонкая настройка vim, делимся полезностями в .vimrc. Ссылка уже приводилась в комментариях к моему предыдущему посту.

http://allaboutvim.blogspot.com/ - всё о Vim.



Мой .vimrc. Там еще осталось немало интересного.



Тэги: vim
+ 5 -
Похожие Поделиться

Minoru 08.03.2009 13:16 #
+ 0 -
Вроде как ещё можно вместо map, imap, nmap использовать map! — тогда одной строкой прописывается бинд для всех трёх режимов.

Может быть, это есть на Линуксфоруме — не помню, откуда вычитал ><
h0rr0rr_drag0n 08.03.2009 20:33 #
+ 0 -
У меня map!: <F7> <Esc>:q!<CR> работает только в режиме вставки. =((

VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Feb 15 2009 23:17:11)
С изменениями, внесёнными Gentoo-7.2
Скомпилирован root@drag0n
Огромная версия без графического интерфейса.
Minoru 08.03.2009 21:04 #
+ 0 -
Пардон, а зачем двоеточие после восклицательного знака?
h0rr0rr_drag0n 08.03.2009 23:16 #
+ 0 -
Очепятался.
Minoru 08.03.2009 21:06 #
+ 0 -
С другой стороны, у меня оно тоже только в режиме вставки работает?

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн