在AIX上编译VIM的一个问题

有一个项目需要使用AIX的机器 自然要装一些常用的东西 在 AIX 6.1 上自己编译 VIM 7.4 时 报了这么个错 In file included from os_unix.h:56, from vim.h:265, from gui_motif.c:36: /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:178: error: conflicting types for `lseek64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:176: error: previous declaration of `lseek64' In file included from /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:739, from os_unix.h:56, from vim.h:265, from gui_motif.c:36: /usr/include/sys/lockf.h:64: error: conflicting types for `lockf64' /usr/include/sys/lockf.h:62: error: previous declaration of `lockf64' In file included from os_unix.h:56, from vim.h:265, from gui_motif.c:36: /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:802: error: conflicting types for `ftruncate64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:800: error: previous declaration of `ftruncate64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:838: error: conflicting types for `truncate64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:836: error: previous declaration of `truncate64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:855: error: conflicting types for `pread64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:852: error: previous declaration of `pread64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:856: error: conflicting types for `pwrite64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:853: error: previous declaration of `pwrite64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:923: error: conflicting types for `fclear64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:920: error: previous declaration of `fclear64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:924: error: conflicting types for `fsync_range64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:921: error: previous declaration of `fsync_range64' In file included from vim.h:302, from gui_motif.c:36: auto/osdef.h:120: error: conflicting types for `lseek64' /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:178: error: previous declaration of `lseek64' make: The error code from the last command is 1. Stop. make: The error code from the last command is 2. 查了半天 这是因为AIX6的一个变化引起的 ...

2014年10月11日 · 2 分钟 · Hyacinthus

Vim的leader键无法更改

遇到个当时感觉很诡异的问题 我使用 let mapleader=”,” 将leader键设置成逗号 可是 一些用了leader键的快捷键怎么都不起作用 开始以为是让别的配置文件覆盖了 找了许久 发现没有 更多的坎坷就不说了 最后在leader键的说明里找到一行字 大意是 如果你使用mapleader重新定义了leader键 那么只有在此之后定义的使用leader的快捷键才会使用新的配置 以前的还是默认的反斜杠 好吧 写出来提醒大家 看有缘人能不能搜到 另外 有个别插件有自己的私有的leader键 是要额外设置的 比如就我所知的perl的那个很全面地插件就是这样

2013年7月14日 · 1 分钟 · Hyacinthus

Vim7.3的python3自动补全

现在新的东西已经完全用python3写了 所以我不顾一切把所有默认设置都调成了为python3服务 此文的前提是vim的编译选项必须有+python3 使用:version命令可以查看 Windows版默认是有的 如下图 dyn代表是支持动态加载 如果python和python3都有 那必然是动态加载的 不然会冲突嘛 有了这个以后 你还必须要安装有python3.1 现在都用3.2了 但是你还是得再安装个3.1 因为几个vim编译版都是用3.1的python编译的… 在vim里执行如下命令 要是不报错就没问题了 :python3 print(“hello world”) 注意vim和python必须都是32位或者64位 要是不统一当然也不行 dll不兼容的 在vim的autoload文件夹 应该有python3complete.vim这个文件 打开看 它的方法是python3complete#Complete 它可以支持python3的语法自动补全 不过 很遗憾 没有地方用它 然后我们到ftplugin这个文件夹 此文件夹是在启用了filetype plugin后 会在检测到文件类型后加载里边相应文件类型的插件 找到python.vim 找到如下行 本来它使用的是python2的补全 只需要在python后加个3就好了 就是我们刚看到的那个方法 重启vim 现在Ctrl+x Ctrl+o的补全 应该就是python3版的了

2012年5月5日 · 1 分钟 · Hyacinthus

VIM主题预览

推荐一个网站 可以看到几乎所有的vim主题预览 https://www.vi-improved.org/color_sampler_pack/ 然后你就可以挑一个喜欢的咯 不过呢… 这些主题不一定是默认带的 但一定能从vim的主页搜索然后下载到 https://www.vim.org/index.php

2012年5月5日 · 1 分钟 · Hyacinthus

在windows下使用pyflakes

pyflakes是python的语法检查模块 在windows下可以用pip正常安装 注意如果是python3上安装的话要安装pyflakes3k这个版本 可是在python的scripts文件夹下 只有一个linux的执行版本 其实那只是一个python脚本而已 我们做一个名字为pyflakes.bat的脚本就可以达到同样的效果 内容如下 @echo off rem Use python to execute the python script having the same name as this batch rem file, but without any extension, located in the same directory as this rem batch file python “%~dpn0” %* 对了,这里边的python可以根据你自己的情况 指定绝对路径或者python3之类的 在这样做一番以后 也可以用pyflakes的vim插件了 地址如下https://www.vim.org/scripts/script.php?script_id=2441 按F7可以激活语法检查 在错误窗口上 按q是直接可以退出的哦 方便吧

2012年4月30日 · 1 分钟 · Hyacinthus

在vim中查看python文档

众所周知python有个命令是pydoc 可以启动文档服务器 或者直接查看文档 但是有时候在vim中还是懒得再去命令行里或者网页里查文档 于是找到个插件 可以直接在vim中查python文档 https://www.vim.org/scripts/script.php?script_id=910 不过我在gvim中用 不是特别满意 主要因为我习惯把gvim全屏 然后可以纵向分屏左右各显示一个文件 而这个插件会横向分屏显示文档 于是我把它改了改 如果你恰好也是全屏使用gvim 那么这个效果应该还不错 它会在右侧打开一个60宽度的窗口显示doc 文件在这里 https://gist.github.com/2552337 比较常用的功能是把光标停在一个词上 然后按大写的K 这时候就会自动搜索这个的单词的文档 当然也可以用Pydoc命令查询模块文档 和Pydocs命令查询关键字的文档 相当于 pydoc –k vim要求自定义命令必须大写开头 挺烦人的

2012年4月30日 · 1 分钟 · Hyacinthus