Добро пожаловать!

Я Дож, программирование — моё хобби. По мере того, как я осваиваю что-то новое, стараюсь об этом написать пост.
На текущий момент в блоге затронуты следующие темы: vim, free pascal, lisp, forth, m4
Занимаюсь разработкой своего языка под названием DEmbro, подбробней: wiki и svn
Для постов, не связанных с программированием, у меня есть отдельное жж.

января 21, 2009

Простейшие настройки Vim'а под FPC

Итак, вы программируете под Free Pascal и хотите использовать Vim в качестве редактора.

Подсветка синтаксиса

Первое, на что стоит обратить внимание, в меню (которое Синтаксис) есть только стандартный pascal. А в нем не выделяются многие ключевые слова (class, initialization, finalization, interface и прочие).

Есть специальная опция, включающая Delphi слова:

:let pascal_delphi=1


+ Free Pascal опция:
:let pascal_fpc=1


И после этого нужно заново включить синтаксис (:set syn=pascal). Помимо ключевых слов будут подсвечены (другим цветом) многие стандартные функции. Если вам это не нравится, перед загрузкой синтаксиса можно набрать
:let pascal_no_functions=1

Но мне нравится с подсветкой :)

Кроме того можно выставить еще парачку крайне полезных опций:

:let pascal_one_line_string=1 (однострочные строковые константы)
:let pascal_no_tabs=1 (выделять TAB'ы красным)


Для того, чтобы не набирать все эти команды каждый раз заново можно их поместить в конец файла _vimrc (или .vimrc для Linux) в папке с вимом.

Если вам что-то не нравится в стандартном синтаксисе, это можно исправить, поправив файл syntax\pascal.vim под свой вкус.

На самом деле, для паскаля вимовские файлы не обновляются аж с 2001 года, поэтому многого в них нет.

Определение синтаксиса по расширению

При запуске вим умеет определяеть по расширению какой синтаксис загружать. Он знает про pas и dpr, но по умолчанию он не знает про *.pp.

Исправить это можно, добавив в _vimrc строку:
au BufRead,BufNewFile *.pp set filetype=pascal


Компиляция

В vim'е также есть встроенные инструменты для компиляции и отображения сообщений компилятора. К примеру, есть команда
:make [target]

которая
1) осуществляет вызов утилитки make
2) выводит сообщения от компилятора

Чтобы все заработало нужно, чтобы
1) в переменной окружения %PATH% был прописан путь ко всем бинарникам freepascal'я.
Вы этого еще не сделали? Можно пойти двумя путями 1) если у вас есть FAR MANAGER, то в нем достаточно набрать set PATH=%PATH%+;C:\fpc\2.2.x\bin\i386-win32; 2) если же нет, но вы работаете в Windows XP, то Панель управения -> Система -> Дополнительно -> Переменные среды, там находим переменную Path и добавляем в нее C:\fpc\2.x.x\bin\i368-win32, т.е. путь до всех бинарников freepascal'я
2) в папке с исходником лежал Makefile.
Вы не работали никогда с Makefile'ами? В простейшем случае Makefile имеет вид
.PHONY all
all: hello.pp
fpc hello.pp -Sd -gl
# (перед fpc табуляция принципиальна!)
Подробнее рекомендую почитать тут.
3) в vim'е был правильно выбран компилятор. Делается это вызовом
:comp fpc


После того, как компиляция произошла, полный лог компиляции можно посмотреть вызовом
:cl

Можно просмотреть лог и в отдельном буфере:
:cope


Прочее
Для того, чтобы vim вместо TAB'ов ставил пробелы
:set et!

Нужное кол-во пробелов для одного отступа настраивается при помощи
:set shiftwidth=2

Для включения нумерации строк
:set nu!

Если вы привыкли к компиляции по F9 и компиляции с исполнением по Ctrl+F9, то пропишите в _vimrc
" -Sd включает режим компиляции, совместимый с Delphi 7
let ckeys=' -Sd'
map <F9> :execute '!fpc %' . ckeys<CR><CR>
map <C-F9> :execute '!fpc %' . ckeys<CR><CR>:execute '!%:r.exe'<CR><CR>

В переменной ckeys хранятся ключи компиляции, при неоходимости их можно изменить прямо из редактора
:let ckeys='<NEWKEYS>'


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

Постоянные читатели

Обо мне

Моя фотография
Мой e-mail: vitek_03(at)mail(dot)ru