标签搜索

Ubuntu16下vim工具编译

anker
2023-07-15 / 0 评论 / 34 阅读 / 正在检测是否收录...

vim

lua5.4安装

下载源码包后make && make install

在ubuntu16上安装vim9简要说明

在安装支持特性时, 如果发现传递了, 但是安装后没有集成, 就需要自己看./configure步骤的输出信息后手动解决

git clone https://github.com/vim/vim.git
# 安装python开发包,用于扩展vim的python支持(因为我使用了LeaderF插件)
# 
sudo apt install python3-dev
# 查看python开发包安装目录, 如果已经安装 dpkg -L python3-dev
# 更方便的是这个, 这里使用/usr/bin/python3m-config 不是/usr/bin/python3-config
python3-config --configdir
# 假设安装的开发文件位置/usr/local/include
# 则传递/usr/local给--with-lua-prefix就可以了
# 所有的这些开启特性支持参数, 只是尝试, 最后是不一定会支持(假设找不到对应开发库)
./configure --with-features=huge  \
            --enable-multibyte  \
            --enable-rubyinterp=yes \
            --enable-python3interp=yes \
            --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu  \
            --enable-perlinterp=yes  \
            --enable-luainterp=yes \
            --with-lua-prefix=/usr/local/include \
            --enable-cscope --prefix=/usr/local
# 检查支持情况
./src/vim --version|egrep 'python|lua|cscope'
sudo make install

如果在安装后, 使用leader遇到
ImportError: /usr/local/lib/python3.10/lib-dynload/_struct.cpython-310-x86_64-linux-gnu.so: undefined symbol: PyByteArray_Type
可以参考 https://github.com/vim/vim/issues/3629
把命令调整如下:

LDFLAGS="-rdynamic"  ./configure  --with-features=huge  \
                                  --enable-multibyte  \
                                  --enable-rubyinterp=yes \
                                  --enable-python3interp=yes \
                                  --with-python3-config-dir=/usr/local/lib/python3.10/config-3.10-x86_64-linux-gnu  \
                                  --enable-perlinterp=yes  \
                                  --enable-luainterp=yes \
                                  --with-lua-prefix=/usr/local \
                                  --enable-cscope --prefix=/usr/local

安装vim-lua语法

git clone https://github.com/tbastos/vim-lua.git
cp vim-lua/indent/lua.vim ~/.vim/autoload/
cp vim-lua/syntax/lua.vim  ~/.vim/syntax/lua.vim

安装vim-tagbar

这个插件是个taglist的替换品,有人维护. 主要用来取文件中的函数名等(依赖ctags)

git clone https://github.com/preservim/tagbar.git
cd tagbar
cp syntax/tagbar.vim ~/.vim/syntax/
cp plugin/tagbar.vim  ~/.vim/plugin/
cp autoload/tagbar.vim  ~/.vim/autoload/
cp autoload/tagbar  ~/.vim/autoload/  -r
cp doc/tagbar.txt ~/.vim/doc/

安装后下面是状态栏配置:

" 我的状态行显示的内容(包括文件类型和解码)
"set statusline=%F%m%r%h%w[%p%%]%{exists('*Tlist_Get_Tagname_By_Line')?Tlist_Get_Tagname_By_Line():''}
" 显示当前路径                  
set statusline=%F%m%r%h%w       
" 显示行列和百分比              
set statusline+=[%l,%c,%p%%]                                                                                                                                                                                                        
" 显示函数名                    
set statusline+=%{exists(':TagbarToggle')?tagbar#currenttag('%s',''):''}
0

评论 (0)

取消