標籤:

windows下vim的lua支持問題?

系統: windows8.1

vim是https://tuxproject.de/projects/vim/的x86版

version信息里有+lua/dyn

在lua官網下了各種lua的exe和dll,放到gvim.exe相同目錄下,然後:echo has("lua")都是return 0。

請問怎麼獲得lua支持?(想用neocomplete)


不光需要有 Lua 的庫,Vim 在編譯時還需要加入 +lua 支持才行。當然版本還要匹配。

你可以去下我編譯打包的版本試試: 陳列室 - 依雲"s Blog

vim-jp 的我猜也有 +lua 支持的。


windows 下玩 vim 確實麻煩,當時折騰了半天才找到這個網站的編譯版。然後又折騰了半天讓它支持 python、lua 等一堆東東。

但比較下來,這個已經是 windows 下使用 gvim 我覺得最方便易用的方案了。

所以首先恭喜你不用再費勁尋尋覓覓了,接下來所要做的只是:

找到對應版本的 lua dll 文件放到 gvim.exe 相同目錄下就行了。

排除樓上說的兩個:該版本顯然不是通過 mingw 編譯的,也不是 64 位的。

根據樓主提供的,截止目前(16/07/28)最新版的,你需要找的是 32 位的 VC 編譯的 Lua 5.3.3 版本。就是這個了:

Download LuaBinaries from SourceForge.net

也不需用別的什麼 .exe 文件,僅把解壓後的 lua53.dll 放到 gvim 目錄就行了。祝折騰 vim 愉快!


剛折騰過 spf13-vim 配置 neocomplete,順便記錄下:

首先你安裝的 vim 編譯版本,需要支持 lua, 可以 `:version` 查看是否編譯支持 lua, 再通過 `:lua print("x")`, 查看具體lua版本,比如會提示缺少 `lua53.dll` 這樣的信息。

這個時候需要根據你的系統,去 (Lua Binaries 找對應lua版本, 再進入(比如 64位 windows ) Browse /5.3.3/Windows Libraries/Dynamic at SourceForge.net 找到 lua-5.3.3_Win64_dll10_lib.zip 或 lua-5.3.3_Win64_dllw4_lib.zip 下載 (區別在頁面下面有解釋)。

解壓縮後,將對應的 lua53.dll 放入在 gvim.exe 同級目錄中,再次運行 gvim.exe, 查看 `:echo has("lua")` 這時應該返回就為1了。

樓主選擇的那個是帶 lua 支持的,這裡也有其他版本:

- vim/vim-win32-installer

- Yongwei"s Programming Page

- https://tuxproject.de/projects/vim/


這個問題我今天也遇到了。我下載的是最新的7.4.691的64位版本,更新日期是2015-05-04。

原因是這個預編譯的版本對lua5.3的支持出現了問題,詳細的討論在這裡:Google 網上論壇(需要翻牆)。

解決辦法是下載對應的lua5.2.3.dll放置在gvim.exe相同的目錄下,然後把名字改為lua53.dll


之前我也用的neocomplete,現在轉YouCompleteMe了,windows下根linux下配置方法一樣,不需要糾結lua了


:lua print("Hello, Vim!")

確定你需要的是什麼版本的lua

如果是64bit的vim,就要配合64bit的lua dll


$VIM_PATH/Vim/vim74目錄下把lua53.exe、lua53.dll...拷貝進去。lua地址Lua Binaries Download


vim在windows下編譯非常方便,自己編譯一個就好了,添加上你想要的lua庫。

如果是用mingw編譯gvim的話,先用mingw編譯好lua庫,然後修改Make_cyg_ming.mak文件,添加lua支持,這樣,以後你自己要啥特性就加啥。

你拷貝的dll,可能是編譯gvim和lua庫使用的編譯器不同,導致引用失敗。


推薦閱讀:

vim中經常會寫print "a=%s"%a,這樣的代碼,可是每次都得現輸,怎麼快速輸入?直接替掉a
bin文件怎麼打開?
vim配置ycm,同時支持python和python3了,如何只支持python3?
如何配置vimrc支持普通編輯器的操作?
vim 末尾會自動添加

TAG:Vim | Vim插件 |