Теперь на странице ничего лишнего и все влезает.
Читать дальше......
Vim изначально не понимает языковых конструкций, поэтому не получиться эффективно бегать по исходному коду. Чтобы это исправить, существует утилитка ctags, которая экспортирует информацию о коде в отдельный файл, который понимает vim. Возможностей работы с тегами в vim'е много, поэтому за один день я со всем разобраться не смог, так что процесс растянется на несколько дней.
К сожалению, ctags очень плохо поддерживает паскаль, - видит только функции и процедуры, да и то кажется не видит их у дженериков.
Итак, я добавил себе в редактор окошко слева со структурой кода:
Качаем утилитку ctags отсюда, кидаем ее куда-нибудь в хорошее место. Далее, качаем плагин taglist. Кидаем содержимое doc себе в vimfiles\doc, а содержимое plugin соответственно в vimfiles\plugin. Теперь в _vimrc прописываем путь до ctags:
" for plugin taglist
let Tlist_Ctags_Cmd='"c:\prog\ctags\ctags.exe"'
:TlistToggle. На этом его возможности не ограничиваются, и об остальных можно почитать хелп.
:helptags .
:help taglist.txt
Сегодня понял, что пора учиться автоматизировать работу с большими группами файлов. Для этого нужны команды более продвинутые, чем изначально есть под виндой.
Решил установить Cygwin - эмулятор линукса под виндой, в первую очередь эмулирует bash. Чем он хорош - тем, что можно без проблем применять большинство статей о линуксе, рассказывающих как проделать то-то и то-то. Я-то человек ленивый, и сам копаться в настройках не очень люблю.
Как только я поставил cygwin, появилась проблема запуска бат-файлов - cygwin не понимает как этого делать. Проблема решается искусственным запуском cmd:
[Дож@test ~]# cmd /c some.bat
[Дож@test ~]# run bds temp.dpr
При всем моем уважении к командной строке, TortoiseSVN по своей наглядности не заменяем ни одним консольным клиентом.
Но даже и TortoiseSVN можно запускать из консоли, избегая контекстное меню, вызовом
TortoiseProc /command:сюда имя команды /path:сюда путь для которого выполнить команду
TortoiseProc /command:сюда имя команды /pathfile:сюда путь до файла для которого выполнить команду
TortoiseProc /command:update /path:"d:\proj\svn"
TortoiseProc /command:commit /path:"d:\proj\svn"
TortoiseProc /command:update /path:"%~dp0"
TortoiseProc /command:commit /path:"%~dp0"
map <F3> :!<нужная директория>\commit.bat<CR>
map <F4> :!<нужная директория>\update.bat<CR>
map <F3> :!start cmd /c <нужная директория>\commit.bat<CR><CR>
map <F4> :!start cmd /c <нужная директория>\update.bat<CR><CR>
Взято из реального проекта
TDialogScreenSettings = class(TDialog)
protected
AvailableModes : array of TIntSize;
Pages : TGUIN4_PageControl;
FWindow : TGUIN4_Window;
VideoPage : TGUIN4_Page;
ScreenModes : TGUIN4_ComboBox;
VsyncCheckBox : TGUIN4_CheckBox;
ShowFPSCheckBox : TGUIN4_CheckBox;
FullScreenCheckBox : TGUIN4_CheckBox;
AntialiasingCheckBox : TGUIN4_CheckBox;
procedure OnClose(Sender : TGUI_Control);
procedure OnBtnCancel(Sender : TGUI_Control);
procedure OnBtnOk(Sender : TGUI_Control);
procedure OnShow; override;
procedure OnHide; override;
procedure OnCreate; override;
procedure OnDestroy; override;
end;
:%s/doj/visualdoj/g
:g/\cdoj/nu
:v/doj/d
:help :s
:help pattern
:help :g
Но возобновляюсь. Посты теперь будут короткими в несколько строчек, описывающие какую-нибудь небольшую фитчу. Сложные посты буду разбивать на части - так их проще писать.