вторник, 8 февраля 2011 г.

Конфиг vim истинного perl программера


На данный пост меня воодушевил комментарий одного "Анонимуса" на perl-блоге моего хорошего друга (блог - koorchik.blogspot.com).

Пост первый, так что прошу не судить строго.

Скажу сразу, что vim я использую как полноценную IDE и полноценный текстовый редактор. Кстати данный пост пишу так же в vim...


Почему vim, это отдельная история, поэтому напишу её когда-нибудь отдельно.


Итак основные моменты, которые необходимы для работы с perl в vim.

Разделю все на 2 основные части - это плагины, которые я бы советовал для работы с perl и настройка специального режима для perl в vim.

Плагины 

1. Плагин perl-support автор - Fritz Mehner, качаем тут vim.org
Данный плагин имеет огромное количество различный плюшек для perl-программиста, разного рода хот-кеи, проверка синтаксиса, шаблоны и т.д.
Первое, что я советую после того как Вы скачали, распаковали и скопировали все содержимое в vim-директорию, так это отредактировать под себя шаблоны.
Открываем:

vim ~/.vim/perl-support/templates/Template

Редактируем

|AUTHOR|    = Ваше имя и фамилия
|AUTHORREF| = (у меня тут пусто)
|EMAIL|     = Е-mail
|COPYRIGHT| = Copyright (c) |YEAR| (|EMAIL|)

После редактируем под себя темплейты для perl скриптов, тестов и модулей
vim ~/.vim/perl-support/templates/file-description.template

Дальше:
:help perl-support

И на сколько хватит...

От себя добавлю 3 любимые команды:

\h на выбранной функции - открывает perldoc прямо в vim
\rs - проверяет на синтаксические ошибки (аналог perl -c)
\rr - запускает редактируемый скрипт.

2. Плагин vim-perl, автор - Andy Lester, качаем с github.com
Если честно я ждал этого плагина два года. И наконец нашел где-то месяцев 6 назад.
Самый главный плюс данного плагина, это адекватная подсветка синтаксиса для perl6 и xs!
Возможно там и отличная подсветка для pod файлов, но у меня все комменты подсвечиваются исключительно одним цветом, поэтому оценить не могу.

3. Авто-проверка синтаксиса, автор - Martin Grenfell скачать можно с github.com

Автоматически подсвечивает ошибки, если таковые имеются, в том числе и в perl скриптах.
На русском почитать о данном плагине можно на Хабре

4. Для пользователей фреймворка Mojolicious советую плагин mojo.vim, автор - Yaroslav Korshak, качаем как всегда с github.com

Необходимая вещь при работе с "ep" темплейтами.


Настройка спец. режима для perl

В ~/.vimrc пишем такой код

augroup FileSettings
autocmd!
" setting up for Perl
autocmd FileType perl call LangPerl()
augroup END

Он будет запускаться при открытии нового файла, и если это перловый файл, то будет запускаться функция LangPerl(), которая и будет устанавливать определенные параметры для более эффективной работы

Ниже моя функция для работы с перл

function LangPerl()

" включаем все самое умное что есть в perl :)
setlocal expandtab autoindent smartindent
" Генерим сtags файл по нажатию F6
imap  :!find . -type f -name "*.p[ml]" -print0 \| xargs -0 ctags --fields=+iaS --extra=+q .a
nmap  :!find . -type f -name "*.p[ml]" -print0 \| xargs -0 ctags --fields=+iaS --extra=+q .
" устанавливаем ограничение на длину строки в 100 символов
setlocal textwidth=100

endfunction 



Что такое теги опытный пользователь vim знает не по наслышке (а кто не знает, тот скорее всего никогда серьезно не использовал vim, но для желающих познавать :help tag и :help ctags).
Я добавил рекурсивное прохождение по всей поточной папке выбирая для индексации исключительно perl-файлы. И теперь по CTRL-] и CTRL-T мы будем перемещаться по всему проекту.
Про ctags написано множество всего, например:


Как Вы, наверное, догадались написать такую же функцию для javascript или С++ файлов не составит труда. Поэтому дерзайте, пробуйте и будет Вам счастье.

Вроде бы все. Как-нибудь напишу еще один пост, как сделать из vim полноценную IDE, после которого обещаю и выложить ссылку на весь конфиг с плагинами.

Всем спасибо, кто читал и комментировал.

С ув. antonfin


Читать дельше...