Vim源代码

来自百合仙子's Wiki
跳转到导航 跳转到搜索

编译

使用 make upx 可以在编译完后使用upx压缩。

Linux

编译所使用的命令为

./configure \
  --enable-gui=gtk2 --enable-fontset --disable-xsmp \
  --enable-python3interp --enable-rubyinterp=dynamic --enable-pythoninterp \
  --enable-luainterp=dynamic --enable-perlinterp=dynamic \
  --enable-cscope --enable-multibyte --with-features=huge \
  --with-compiledby=百合仙子 --with-modified-by=百合仙子

编译者的名字和编译地点在 src/auto/pathdef.c 中,编译一次后才会生成此文件,修改后要再编译一次。

要将其安装到不同的地点,可以在make时设置变量 prefix

Windows

使用MinGW时,直接编辑 src/Make_ming.mak ,然后使用它make即可。可通过设置 USERNAMEUSERDOMAIN 来设置编译者的名字和编译主机。文件的编码应为 cp936

静态编译

以下配置可成功编译一个 strip 后为 2.5M 的静态链接的 Vim:

LDFLAGS="-static" ./configure --prefix=/usr --enable-luainterp --enable-gui=no --enable-cscope --without-x --enable-multibyte --with-features=huge --with-compiledby=百合仙子 --with-modified-by=百合仙子

位置

一些处理在源码中的位置(可能有小的偏移)。

命令行

  • 范围处理:ex_docmd.c:1972

问题处理

中文菜单不显示

$VIMRUNTIME/lang 下执行

for i in *utf-8*; do sudo ln -s $i `echo $i|tr -d '-'`; done

Arch中标题栏显示错误

Arch#GVim标题栏

参见

外部链接

Vim 补丁