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

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

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

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

WeLinux.ru

14.02.09 15:44h0rr0rr_drag0n

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. Там еще осталось немало интересного.
+5
Minoru08.03.09 13:16# +0
Вроде как ещё можно вместо map, imap, nmap использовать map! — тогда одной строкой прописывается бинд для всех трёх режимов.

Может быть, это есть на Линуксфоруме — не помню, откуда вычитал ><
h0rr0rr_drag0n08.03.09 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
Огромная версия без графического интерфейса.
Minoru08.03.09 21:04# +0
Пардон, а зачем двоеточие после восклицательного знака?
h0rr0rr_drag0n08.03.09 23:16# +0
Очепятался.
Minoru08.03.09 21:06# +0
С другой стороны, у меня оно тоже только в режиме вставки работает˙

Top блогов (все)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Top пользователей (все)
Топ пользователей Топ блогов
В сети: vitroot, exelens

Новенькие: playpauseandstop, softzilla, sandul, predator, wisecapt
welinux.ru
Идея сайта exelens; Движок 0byte, разработчик nvbn; Дизайн - Astramak

В хорошем качестве hd видео

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


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

Online video HD

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

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

Full HD video online

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

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

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