Linux(Ubuntu)下 vim/gvim/vimgdb 源码编译安装与配置(未完待续)

1. vim/gvim/vimgdb 编译安装


1.1 准备工作


1.1.1 源代码

vim一直以来都是Linux程序员所推崇的编辑利器,研究了很多天,终于折腾出一点眉目,特此总结,方便日后查找。
vim有两种安装方式,一种是直接从软件源安装,一种是编译源码安装,因为需要对gdb的支持来方便调试,所以这里采用源码编译的方式。

下载 vim-7.3.tar.bz2
http://ishare.iask.sina.com.cn/f/9317317.html
下载 vimgdb-for-vim7.3
https://github.com/larrupingpig/vimgdb-for-vim7.3

解压到指定目录,假定此目录为~/MyEditor,则现在两个源码文件夹均位于~/MyEditor下。

需要注意的是,vimgdb 是针对vim 源码的一个补丁,加入了vim 对gdb 的支持,最新的vim 版本是7.4,然而,并没有发现vimgdb 的for 7.4 版,所以暂且使用了vim 7.3,如果需要使用更早版本的vim,那么请自己下载对应版本的vimgdb 即可。

1.1.2 需要的库支持

因为还想同时编译出gvim,所以需要安装以下特定的库。
sudo apt-get install libncurses5-dev
sudo apt-get install libx11-dev libxt-dev libgtk2.0-dev

很多人编译vim都编译不出来gvim,这是因为源码自动编译的时候,找不到相关图形库,然后自动略过了gvim的编译。另外,要保证系统存在C/C++ 开发包,里面包括gcc gdb等等。
sudo apt-get install build-essential

1.2 编译安装


cd ~/MyEditor
patch -p0 < vimgdb-for-vim7.3/vim73.patch
cd vim73/src
./configure --enable-gui=auto --enable-gdb --enable-cscope --enable-multibyte --enable-xim --enable-fontset --with-features=huge

要注意这么几点:
其他编译开关,可以用./configure --help 查看,比如可以加入 --enable-tclinterp 等等
注意看回车之后的输出信息,如果 --enable-gdb 出现问题,则证明前面patch打补丁没有成功
注意看check的结果,是否GUI真的check成功了。
如果一切都没有问题的话
make
sudo make install 

现在vim和gvim应该都已经安装完毕,下面复制vimgdb的运行时文件
cd ~/MyEditor
cp -rf vimgdb-for-vim7.3/vimgdb_runtime/  ~/.vim

如果现在启动gvim的话,会发现gvim的菜单无法显示,并且中文乱码,这是由于系统使用的是utf8,而vim使用的是utf-8,就差一点,所以做一个软链接就可以解决了。
cd /usr/local/share/vim/vim73/lang/
sudo ln -s menu_zh_cn.utf-8.vim menu_zh_cn.utf8.vim

最后,在~/ 目录下,创建一个.vimrc文件,注意前面有一个点儿,并非是vimrc,在里面写入
syntax enable
set previewheight=12 " set gdb window initial height
run macros/gdb_mappings.vim " source key mappings listed in this document
set asm=0 " don't show any assembly stuff
set gdbprg=/usr/bin/gdb

保存关闭。此时大功告成。在终端输入vim,可以正常进入vim;在终端输入gvim,可以启动gvim,并且菜单等等各项正常,如果注销后再次登录,可以在附件菜单中找到gvim的快捷方式。启动vim/gvim后,按F7键,再敲空格,可以呼叫出命令行窗口,并启动gdb。

如果重启后在应用程序里面找不到gvim,那么可以自己做一个启动项。
cd /usr/share/applications/
新建一个文件,名字是gvim.desktop,内容是
[Desktop Entry]
Name=GVim Text Editor
Comment[zh_CN]=Gvim编辑器
Exec=gvim
Icon=/usr/share/pixmaps/gnome-word.png
Terminal=false
X-MultipleArgs=false
Type=Application
Categories=Application;Development;
Encoding=UTF-8
StartupNotify=true

保存后,就可以在编程菜单里面找到gvim的启动项了。Categories决定了启动项出现在什么位置。可选的地方有
Application;Network;     //添加到internet中 
Application;Office;          //添加到办公中 
Application;Graphics;    //添加到图像中 
Application;AudioVideo; //添加到影音中 
Application;Game;            //添加到游戏中 
Application:Development;    //添加到开发中
Application:Utility              // 添加到附件中

2. VIM 配置


vim主要配置的是.vimrc文件,在上文中已经写了几行了,另外就是在~/.vim中,新建colors和plugin两个文件夹,方便放自己的主题和插件
mkdir ~/.vim/colors
mkdir ~/.vim/plugin

2.1 vim 中文文档


vim有中文帮助,地址是
http://vimcdoc.sourceforge.net/

下载之后,解压,cd到源码文件夹内,install文件详述了使用方法。
./vimcdoc.sh -i

安装完毕后,运行vim,之后,:help 可以打开中文帮助

2.2 vim 颜色主题


vim有多种多样的配色,一般大家似乎比较偏爱那种黑色背景,感觉像黑客似的。我使用的是经典的molokai,下载地址是
http://www.vim.org/scripts/script.php?script_id=2340

下载后,将其放入 ~/.vim/colors/,之后,在.vimrc文件中,写入
set t_Co=256 " 设置终端为256色
colorscheme molokai
highlight Comment ctermfg=darkmagenta guifg=darkmagenta

前两句一定要有,最后一句是我觉得默认的注释颜色太浅,改了一个别的颜色。用户可以在主题的基础上,根据自己的需要做微调。具体方法可以参看帮助文档。在vim中,使用命令
:runtime syntax/colortest.vim 
可以预览所有支持的颜色的效果。

2.3 ctags 插件


ctags是很常用的,用于在程序里面来回跳转。下载地址是
http://ctags.sourceforge.net

我用的是ctags-5.8. 解压后,cd到源码包目录
./configure
make
sudo make install

2.4 TagList 插件


taglist类似于source insight 提供的symbol跳转功能,就是有一个symbol窗口,可以看到程序所有的符号。下载地址是
http://www.vim.org/scripts/script.php?script_id=273

解压后,将plugin和doc文件夹的内容分别放到~/.vim/plugin 和 ~/.vim/doc 下。

2.5 WinManager 插件


提供多个窗口的管理功能。下载地址是
http://www.vim.org/scripts/script.php?script_id=95

同样,解压后,将对应目录下的文件放入到~/.vim/ 下对应的文件夹里面

2.6 统一配置


首先,打开vim,使用命令
:helptags ~/.vim/doc
可以生成插件的帮助文档。

个人的配置文件如下,其中引号起注释作用,不需要的可以用引号注释掉。(未完待续)
"=============================== VIMRC =============================
" Author:CongCong
" date: 2014-2-16
"===================================================================

" 关闭乌干达儿童提示
set shortmess=atI

" 设置窗口位置和大小
winpos 5 5          
set lines=30 columns=80

" 关闭vi键盘,用vim自己的键盘
set nocompatible

" 设定编码方式
set termencoding=utf-8	" vim所在终端采用的编码
set encoding=utf-8		" vim内部使用的编码
set fileencodings=utf-8,ucs-bom,gb18030,cp936	"vim探测编码的顺序
set fileencoding=utf-8	" vim保存文件是采用的编码

" 设置文本编辑习惯
set smartindent	" 自动缩进
set autoindent	" 继承前一行的缩进
set cindent		" 使用C样式的缩进
set tabstop=4	" tab键宽度为4
set softtabstop=4	" 统一缩进为4
set shiftwidth=4
set noexpandtab	" 不用空格代替tab
set smarttab	" 在行和段的开始处使用tab
set history=400			" 历史文件记录400条
set backspace=indent,eol,start	" 允许退格键用来删除。
set confirm	" 在处理未保存或只读文件的时候,弹出确认
set iskeyword+=_,$,@,%,#,-	" 带这些符号的单词不要被换行分割
set nobackup 			" 覆盖文件时不备份

" 显示相关信息
set number		" 显示行号
set ruler		" 右下角显示坐标
set laststatus=2	" 总显示状态行
set guioptions-=T	" 隐藏gvim工具栏
set guioptions-=m	" 隐藏gvim菜单栏

" 高亮当前行和当前列
set cursorline
set cursorcolumn

" 开启语法高亮
syntax enable
syntax on

" 开启文件类型检测
filetype on
filetype plugin on	" 载入文件类型插件
filetype indent on	" 为特定文件类型载入相关缩进文件


" 允许任何地方使用鼠标
set mouse=a
set selection=exclusive
set selectmode=mouse,key

" 颜色主题,molokai为自主下载,默认情况并不存在。
"默认颜色主题位于/usr/local/share/vim/vim73/colors
set t_Co=256		" 设置终端为256色
colorscheme molokai
highlight Comment ctermfg=darkmagenta guifg=darkmagenta

"====================================================================
"	Taglist 配置
"====================================================================
if has("win32")			"设定windows系统中ctags程序的位置
let Tlist_Ctags_Cmd = 'ctags'
elseif has("linux")             "设定linux系统中ctags程序的位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
endif

let Tlist_Show_One_File = 1	" 不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1	" 如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = 1	" 在右侧窗口中显示taglist窗口 
let Tlist_Compart_Format = 1	" 以压缩的方式显示

"=====================================================================
"	WinManager 配置
"=====================================================================
let g:winManagerWindowLayout = "FileExplorer|TagList"
nmap wm :WMToggle

"=====================================================================
"	VIMGDB 配置
"=====================================================================
set previewheight=12		" set gdb window initial height
run macros/gdb_mappings.vim	" source key mappings listed in this document
set asm=0			" don't show any assembly stuff
set gdbprg=/usr/bin/gdb


你可能感兴趣的:(C/C++)