Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1181581
  • 博文数量: 181
  • 博客积分: 4968
  • 博客等级: 上校
  • 技术积分: 1867
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-13 21:52
文章分类

全部博文(181)

文章存档

2015年(2)

2013年(6)

2012年(22)

2011年(41)

2010年(27)

2009年(51)

2008年(32)

我的朋友

分类: LINUX

2010-11-06 14:01:10

打造自己的vim编辑环境
ubuntu下vim+ctags+cscope+各种插件 取代 samba+winxp+sourceinsight

首先

sudo apt-get install ctags cscope cscope-indexer vim-full

记住ctags和cscope的两个命令

ctags -R

cscope -Rbkq

-R: 在生成索引文件时,搜索子目录树中的代码

-b: 只生成索引文件,不进入cscope的界面

-k: 在生成索引文件时,不搜索/usr/include目录

-q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
下面大部分参考http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx
我的.vimrc

set encoding=utf-8
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set termencoding=utf-8
set mouse=a
set guifont=Luxi\ Mono\ 9
" 设置字体,字体名称和字号
set tabstop=4 "
设置tab键的宽度
set backspace=2
" 设置退格键可用
set nu! "
显示行号
set vb t_vb=
" vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声
"
set wrap
" 自动换行
"
set nowrap
" 不自动换行
set linebreak "
整词换行
set whichwrap=b,s,<,>,[,]
" 光标从行首和行末时可以跳到另一行去
"
set list
" 显示制表符
"
set listchars = tab:>-,trail:-
" 将制表符显示为'>---',将行尾空格显示为'-'
set listchars=tab:.\ ,trail:. "
将制表符显示为'. '
set autochdir
" 自动设置目录为正在编辑的文件所在的目录
set hidden "
没有保存的缓冲区可以自动被隐藏
set scrolloff=5
"--------------------------------------------------------------------------------
"
查找/替换相关的设置
"--------------------------------------------------------------------------------
set hlsearch "
高亮显示搜索结果
set incsearch
" 查询时非常方便,如要查找book单词,当输入到/b时,会自动找到
"
第一个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的
" 单词,依次类推,进行查找时,使用此设置会快速找到答案,当你
"
找要匹配的单词时,别忘记回车
set gdefault
" 替换时所有的行内匹配都被替换,而不是只有第一个
"
--------------------------------------------------------------------------------
" 状态栏相关的设置
"
--------------------------------------------------------------------------------
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
set laststatus=2
" always show the status line
set ruler "
在编辑过程中,在右下角显示光标位置的状态行
"--------------------------------------------------------------------------------
"
编程相关的设置
"--------------------------------------------------------------------------------
set completeopt=longest,menu "
关掉智能补全时的预览窗口
filetype pluginindenton
" 加了这句才可以用智能补全
set tags=tags;
syn on "
打开语法高亮
set showmatch
" 设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
set smartindent "
智能对齐方式
set shiftwidth=4
" 换行时行间交错使用4个空格
set autoindent "
自动对齐
set
" 设置自动缩进
colorscheme evening
"
--------------------------------------------------------------------------------
" 代码折叠
"
--------------------------------------------------------------------------------
"set foldmarker={,}
"
set foldmethod=marker
set foldmethod=syntax
set foldlevel=100
" Don't autofold anything (but I can still fold manually)
"
set foldopen-=search
" don't open folds when you search into them
"
set foldopen-=undo
" don't open folds when you undo stuff
"
set foldcolumn=4

下面在各种插件

TagList
     http://www.vim.org/scripts/script.php?script_id=273
那里面列出了当前文件中的所有宏, 全局变量, 函数名等

在vimrc中添加

let Tlist_Show_One_File=1
 let Tlist_Exit_OnlyWindow=1



WinManager
http://www.vim.org/scripts/script.php?script_id=95
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>



QuickFix 窗口(vim自带)
:set cscopequickfix=s-,c-,d-,i-,t-,e-
nmap <F6> :cn<cr>
nmap <F7> :cp<cr>



cscope
0 或 s     查找本 C 符号(可以跳过注释)
1 或 g     查找本定义
2 或 d     查找本函数调用的函数
3 或 c     查找调用本函数的函数
4 或 t     查找本字符串
6 或 e     查找本 egrep 模式
7 或 f     查找本文件
8 或 i     查找包含本文件的文件
在vimrc中添加
nmap cs :cs find s <C-R>=expand("")<CR><CR>
nmap cg :cs find g <C-R>=expand("")<CR><CR>
nmap cc :cs find c <C-R>=expand("")<CR><CR>
nmap ct :cs find t <C-R>=expand("")<CR><CR>
nmap ce :cs find e <C-R>=expand("")<CR><CR>
nmap cf :cs find f <C-R>=expand("")<CR><CR>
nmap ci :cs find i ^<C-R>=expand("")<CR>$<CR>
nmap cd :cs find d <C-R>=expand("")<CR><CR>



MiniBufExplorer
管理多标签
let g:miniBufExplorerMoreThanOne=0




到这看代码我觉得已经很ok了,vim的基本操作只能靠平时积累习惯了

SuperTab
http://www.vim.org/scripts/script.php?script_id=1643
let g:SuperTabRetainCompletionType=2
let g:SuperTabDefaultCompletionType=""

再加上之前已经在.vimrc中写了的
filetype plugin indent on
打开文件类型检测, 加了这句才可以用智能补全
set completeopt=longest,menu
关掉智能补全时的预览窗口

现在基本写代码也很ok了

阅读(876) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-11-07 19:04:00

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com