关于vim写delphi
用过vim写代码之后就回不去了, 感觉碰鼠标很麻烦, vim下对delphi没有好的代码格式化工具, 一直用的delforex没有exe的程序, 都是dll插件, vim无法直接使用, 前阵子发现这东西是开源的, 因此直接拿过来改成exe顺利在vim上部署.希望对仅剩的一些delphi用户有点帮助.vim的快捷键映射, 还是沿用习惯的ctrl+d
map <F9> <ESC>:!dcc32 %<CR>
map <F10> <ESC>:!delforexp %<CR>
map <C-D> <ESC>:!delforexp %<CR>
procedure TPascalParser.Config(DoRead: Boolean);
{$IFDEF ver100}
type
Cardinal = Integer;
{$ENDIF}
const
Sign: Cardinal = $623DFE51;
var
Signature: Cardinal;
Err, Size: Integer;
Cfg: file;
S: array of AnsiChar;
begin
if CfgFile = '' then
CfgFile := 'DelForExp.cfg';
CfgFile := ChangeFileExt(CfgFile, '.cfg');
if DoRead then
begin
if not FileExists(CfgFile) then
CapFileName := nil
else
begin
if FillNewWords in then
SaveCapFile(CapFileName);
AssignFile(Cfg, CfgFile);
try
Reset(Cfg, 1);
BlockRead(Cfg, Signature, SizeOf(Signature), Err);
if (Err = SizeOf(Signature)) and (Signature = Sign) then
begin
BlockRead(Cfg, FSettings, SizeOf(Settings), Err);
BlockRead(Cfg, Size, SizeOf(Integer));
if Size > 0 then
begin
BlockRead(Cfg, S, Size);
CapFileName := S;
end
else
CapFileName := nil;
ShortCut := Settings.ShortCut;
end;
finally
CloseFile(Cfg);
end;
end;
end
else
begin
AssignFile(Cfg, CfgFile);
try
Rewrite(Cfg, 1);
Signature := Sign;
BlockWrite(Cfg, Signature, SizeOf(Signature));
BlockWrite(Cfg, Settings, SizeOf(Settings));
if CapFileName = nil then
begin
Size := 0;
BlockWrite(Cfg, Size, SizeOf(Integer));
end
else
begin
Size := StrLen(CapFileName) + 1;
BlockWrite(Cfg, Size, SizeOf(Integer));
StrCopy(S, CapFileName);
BlockWrite(Cfg, S, Size);
end;
finally
CloseFile(Cfg);
end;
end;
end;
jim19 发表于 2023-7-17 17:58
应该不至于把. 我的项目最大的谢了60万行了, 不过我用的delphi7
单个pas文件行数超过1万就卡 往下拉 删东西就卡 估计delphi要定位函数变量位置占系统资源卡,我现在是用文本编辑器改这些行数大于1万的pas文件 用delphi的人少了,多谢! 实测,gVim能支持格式化pas
ggVG= 本帖最后由 jim19 于 2023-7-17 12:53 编辑
JuncoJet 发表于 2023-7-17 12:44
实测,gVim能支持格式化pas
这个格式化会错位的 用delphi的人少了,多谢! 怎么用vim来设计UI界面呢,可以直接拖放吗? 试下拿来改传奇的代码会不会卡顿,用delphi xe10写代码 行数超过1万的卡的要死 kenxy 发表于 2023-7-17 15:21
怎么用vim来设计UI界面呢,可以直接拖放吗?
界面无能为力, 还是需要用delphi来做, 或者就代码里动态创建. dong555 发表于 2023-7-17 17:56
试下拿来改传奇的代码会不会卡顿,用delphi xe10写代码 行数超过1万的卡的要死
应该不至于把. 我的项目最大的谢了60万行了, 不过我用的delphi7
页:
[1]
2