首页 » C语言 » 将Vim打造成服务器端IDE

将Vim打造成服务器端IDE

原文 http://blog.csdn.net/chunzhenzyd/article/details/76167848

2017-07-28 12:20:12阅读(623)

仔细想了下,服务器端编程由于服务器(一般都是Linux)并不会装Eclipse,Visual Studio之类的IDE,所以用Vim还是比较好的选择,还能提高Coding(敲键盘)能力,固化编程式思维。

爱上Coding!

.vimrc

这个是vim的配置文件,每次vim启动时都会逐条执行里面的配置选项。贴下我的通用配置 (还没有包含插件,按照下面的步骤增加插件会增加.vimrc中的内容):

" my own settings
syn on "语法支持
set laststatus=2 "始终显示状态栏
set tabstop=4 "一个制表符的长度
set softtabstop=4 "一个制表符的长度(可以大于tabstop)
set shiftwidth=4 "一个缩进的长度
set expandtab "使用空格替代制表符
set smarttab "智能制表符
set autoindent "自动缩进
set smartindent "智能缩进
set number "显示行号
set ruler "显示位置指示器
set backupdir=/tmp "设置备份文件目录
set directory=/tmp "设置临时文件目录
set ignorecase "检索时忽略大小写
set hls "检索时高亮显示匹配项
set helplang=cn "帮助系统设置为中文
set foldmethod=syntax "代码折叠
set nobackup "不生成备份文件
set guifont=Courier\ New:h15 "设置字体
set nowrap "长句在一行显示
colorscheme pablo
" Tlist
let Tlist_Ctags_Cmd='/usr/local/bin/ctags'
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window=1
let Tlist_Sort_Type = "name"
let Tlist_Auto_Open=1
" MiniBufExplorer
let g:miniBufExplMapWindowNavVim = 1   
let g:miniBufExplMapWindowNavArrows = 1   
let g:miniBufExplMapCTabSwitchBufs = 1   
let g:miniBufExplModSelTarget = 1  
let g:miniBufExplMoreThanOne=0
nmap be :MiniBufExplorer<CR>
" NERDTree
let g:NERDTree_title="[NERDTree]"
function! NERDTree_Start()
    exec 'NERDTree'
endfunction
function! NERDTree_IsValid()
    return 1
endfunction
" WinManager
let g:winManagerWindowLayout="NERDTree"
nmap wm :WMToggle<CR>
" Cscope
:set cscopequickfix=s-,c-,d-,i-,t-,e-


ctags

tags文件是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的<C-]>, 谁用谁知道呀, 当光标在某个函数或变量上时, 按下"Ctrl+]", 光标会自动跳转到其定义处。

(原配ctags是在/usr/bin/, 安装的Exuberant Ctags会在/usr/local/bin/)

下载地址:http://ctags.sourceforge.net

到项目最上层   ctags -R

:set tags=<path>/tags

跳转到定义: Ctrl + ]

跳转回       :    Ctrl + t

不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令 ctags -R, 使tags文件更新一下, 不过让人感到欣慰的是vim不用重新启动, 正在编写的程序也不用退出, 马上就可以又正确使用<C-]>和<C-T>了.

注意: 对于Python,如果ctags不支持的话(反正在我这是支持的。。)可以用Python自带的ptags.py

脚本的目录是python源码下的Tool/script/ptags.py。如果不想去找,可以直接copy一份,http://svn.python.org/projects/python/trunk/Tools/scripts/ptags.py,放在你方便的位置,然后使用ptags.py生成tag。
为当前目录生成tag文件 :  ptags.py *.py
为整个项目生成tag文件:find  . -name \*.py -print | xargs ptags.py
然后就有tag了。在vim的配置文件中导入tag文件的目录就可以了。
比如在.vimrc 中添加:
set tags+=tags
set autochdir


TagList

下载地址:http://vim-taglist.sourceforge.net/download.html

安装:       在 ~/.vim 目录下解压taglist_xx.zip

配置:       参考之前的.vimrc


WinManager

下载地址:http://www.vim.org/scripts/script.php?script_id=95

安装:       在 ~/.vim 目录下解压winmanager.zip

配置:       参考之前的.vimrc


NERD_tree

下载地址:http://www.vim.org/scripts/script.php?script_id=1658

安装:       在 ~/.vim 目录下解压NERD_tree.zip

配置:       参考之前的.vimrc

注意:

" NERD_tree need this. 按wm打开WinManager时会有一个空白窗口,要把他关闭。

打开winmanager.vim,找到函数function! <SID>ToggleWindowsManager(),加入两行,修改后整个函数如下:

function! <SID>ToggleWindowsManager()  
   if IsWinManagerVisible()  
      call s:CloseWindowsManager()  
   else  
      call s:StartWindowsManager()  
      exe 'q'   //添加
   end  
endfunction

MiniBufExplorer

下载地址:http://www.vim.org/scripts/script.php?script_id=159

安装:       将minibufexpl.vim放到./.vim/plugin/

配置:       参考之前的.vimrc

使用:

Tab            向右循环选择标签

Shift+Tab   向左循环选择标签

Enter         选择

d                关闭当前选择的标签

另外,有了这个MiniBufExplorer,就可以用 Ctrl + h,j,k,l 来在不同窗口见移动了


YouCompleteMe

安装最新vim:brew install vim

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹