1.替换方法

替换对应的vimrc文件,定制自己的vimrc

/etc/vimrc              替换此文件;

/home/lmy/.vimrc     只对当前用户有效;

Ubuntu9.10:替换/etc/vim/vimrc,可以在新立得软件包管理器,查看vim到安装路径;

CentOS5.3:替换/etc/vimrc,vim安装目录:/usr/share/vim/vim70;

taglist.vim、winmanager.vim、supertab.vim等插件copy到相应到位置plugin目录;

1.1 vim错误

Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.

通过新立得安装“ctags”

1.2 SuperTab代码补全

下载插件http://www.vim.org/scripts/script.php?script_id=1643

将supertab.vim拷贝到/usr/share/vim/vim72/plugin/

需要补全代码时用"tab"

1.3 Ctags 在程序中跳来跳去

Tag文件(标签文件)可是程序员的看家宝呀, tags 文件是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序。

那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的<C-]>, 谁用谁知道呀, 当光标在某个函数或变量上时, 按下"Ctrl+]", 光标会自动跳转到其定义处, 如果此时你还想再跳回刚才的位置, 你还可以按<C-T>。

用下面的命令解压安装:

$ tar -xzvf ctags-5.6.tar.gz

$ cd ctags-5.6

$ make

# make install   // 需要root权限

然后去你的源码目录, 如果你的源码是多层的目录, 就去最上层的目录, 在该目录下运行命令: ctags -R

我现在以 vim71 的源码目录做演示,那么会产生tags文件,可以打开这个文件看一下,可以看到哪些标识可以定位;

$ cd /home/wooin/vim71

$ ctags -R

此时在/home/wooin/vim71目录下会生成一个 tags 文件, 现在用vim打开 /home/wooin/vim71/src/main.c

$ vim /home/wooin/vim71/src/main.c

再在vim中运行命令,就是将vim中引用刚才产生的tags

:set tags=/home/wooin/vim71/tags

此时在回头学习一下第3节中说的vim手册吧

:help usr_29

不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令:

$ ctags -R

1.4 Taglist---帮你高效地浏览源码

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

安装方法:将taglist.vim拷贝到/usr/share/vim/vim72/plugin/

在Windows平台上用过Source Insight看程序的人肯定很熟悉代码窗口左边那个Symbol窗口, 那里面列出了当前文件中的所有宏, 全局变量, 函数名等, 在查看代码时用这个窗口总揽全局, 切换位置相当方便, 今天告诉你一个vim的插件: Taglist, 可以同样实现这个功能.

上一节已经告诉你ctags的用法了, ctags的基本原理是将程序程序中的一些关键字(比如:函数名, 变量名等)的名字, 位置等信息通过一个窗口告诉你, 如果你已经安装好taglist, 则可以用下面的命令看看taglist自带的帮助文件:

:help taglist.txt

首先请先在你的vimrc文件中添加下面三句

let Tlist_Show_One_File=1

let Tlist_Exit_OnlyWindow=1

let Tlist_Use_Right_Window=1

此时用vim打开一个c源文件试试:

$ vim ~/vim/src/main.c

进入vim后用下面的命令打开taglist窗口

:Tlist

<C-W>可以在各打开窗口间切换

1.5 WinManager---文件浏览器和窗口管理器

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

安装方法:将wintagexplorer.vim、winmanager.vim、winfileexplorer.vim拷贝到/usr/share/vim/vim72/plugin/

WinManager帮助手册:

:help winmanager

注意:<C-W>可以在各打开窗口间切换

注意:输入命令:WMToggle打开关闭下图的窗格

在vimrc中加入下面语句:

let g:winManagerWindowLayout= 'FileExplorer|TagList'

let g:winManagerWidth = 20

let g:defaultExplorer = 0

nmap <C-w><C-b> :BottomExplorerWindow<cr>    " 切换到最下面一个窗格

nmap <C-w><C-f> :FirstExplorerWindow<cr>          " 切换到最上面一个窗格

nmap wm:WMToggle<cr>                                           " 输入命令:WMToggle打开关闭

2.我的vim配置文件vimrc

"==================================================

"    Filename:     vimrc                     " Ubuntu下路径为/etc/vim/vimrc

"    Author:     myswirl

"    Email:     myswirl@163.com

"    Created:     2010-05-18

"==================================================

set fileencodings=ucs-bom,utf-8,cp936     " 打开文件时会根据fileencodings选项来识别文件编码

set fileencoding=utf-8                     " 保存新建文件时会根据fileencoding的设置编码来保存

set encoding=utf-8                        " Vim的内部使用编码

set termencoding=utf-8                    " Vim终端所使用的编码

set guifont=Luxi\ Mono\ 9                 " 设置字体,字体名称和字号

set tabstop=4                             " 设置tab键的宽度

set backspace=2                           " 设置退格键可用

set nu                                    " 显示行号

set nocompatible                          " 去掉兼容性bug,上下左右可以使用

"set vbt_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                           " scrolloff

"--------------------------------------------------------------------------------

" 查找/替换相关的设置

"--------------------------------------------------------------------------------

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                         " 总是显示状态行

set ruler                                " 在编辑过程中,在右下角显示光标位置的状态行

"--------------------------------------------------------------------------------

" 编程相关的设置

"--------------------------------------------------------------------------------

set completeopt=longest,menu              " 关掉智能补全时的预览窗口

filetype plugin indent on               " 加了这句才可以用智能补全

:set tags=/home/lmy/ipmsg/tags

syn on                                   " 打开语法高亮

set showmatch                            " 设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号

set smartindent                          " 智能对齐方式

set shiftwidth=4                         " 换行时行间交错使用4个空格

set autoindent                           " 自动对齐

set ai!                                  " 设置自动缩进

colorscheme desert                       " 配色方案/usr/share/vim/vim72/colors

"--------------------------------------------------------------------------------

" 代码折叠

"--------------------------------------------------------------------------------

set foldmarker={,}

set foldmethod=syntax                    " maker 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                        "

"--------------------------------------------------------------------------------

" 模仿MS Windows中的快捷键

"--------------------------------------------------------------------------------

vmap <C-c> "yy

vmap <C-x> "yd

nmap <C-v> "yp

vmap <C-v> "yp

nmap <C-a> ggvG$         "

"--------------------------------------------------------------------------------

" 窗口操作的快捷键

"--------------------------------------------------------------------------------

nmap wv      <C-w>v                      " 垂直分割当前窗口

nmap wc      <C-w>c                      " 关闭当前窗口

nmap ws      <C-w>s                      " 水平分割当前窗口

"--------------------------------------------------------------------------------

" 模仿MS Windows中的保存命令: Ctrl+S

"--------------------------------------------------------------------------------

imap <C-s> <Esc>:wa<cr>i<Right>

nmap <C-s> :wa<cr>

"################################################

" The following is the Plugins' setting

"################################################

"--------------------------------------------------------------------------------

" TagList :Tlist

"--------------------------------------------------------------------------------

let Tlist_Show_One_File= 1        "

let Tlist_Exit_OnlyWindow = 1     "

let Tlist_Use_Right_Window=1      "

"--------------------------------------------------------------------------------

" netrw 文件浏览器 :e <PATH>

"--------------------------------------------------------------------------------

let g:netrw_winsize = 20                 " 浏览器宽度

"--------------------------------------------------------------------------------

" QuickFix

"--------------------------------------------------------------------------------

nmap <F6> :cn<cr>    " 切换到下一个结果

nmap <F7> :cp<cr>    " 切换到上一个结果

"--------------------------------------------------------------------------------

" WinManager :WMToggle

"--------------------------------------------------------------------------------

let g:winManagerWindowLayout= 'FileExplorer|TagList'        "

let g:winManagerWidth = 20                  "

let g:defaultExplorer = 0                   "

nmap <C-w><C-b> :BottomExplorerWindow<cr>     " 切换到最下面一个窗格

nmap <C-w><C-f> :FirstExplorerWindow<cr>    " 切换到最上面一个窗格

nmap wm:WMToggle<cr>                        " 输入命令:WMToggle打开

"--------------------------------------------------------------------------------

" MiniBufExp

"--------------------------------------------------------------------------------

"let g:miniBufExplMapWindowNavVim = 1

"let g:miniBufExplMapWindowNavArrows = 1

"let g:miniBufExplMapCTabSwitchBufs = 1

"let g:miniBufExplModSelTarget = 1

"--------------------------------------------------------------------------------

" cscope

"--------------------------------------------------------------------------------

cs add /home/nfs/microwindows/src/cscope.out /home/nfs/microwindows/src

":set cscopequickfix=s-,c-,d-,i-,t-,e-

":set cscopetag

" 按下面这种组合键有技巧,按了<C-_>后要马上按下一个键,否则屏幕一闪

" 就回到nomal状态了

" <C-_>s的按法是先按"Ctrl+Shift+-",然后很快再按"s"

nmap <C-_>s :cs find s <C-R>=expand("<cword>")<cr><cr> :cw<cr>

nmap <C-_>g :cs find g <C-R>=expand("<cword>")<cr><cr> :cw<cr>

nmap <C-_>c :cs find c <C-R>=expand("<cword>")<cr><cr> :cw<cr>

nmap <C-_>t :cs find t <C-R>=expand("<cword>")<cr><cr> :cw<cr>

nmap <C-_>e :cs find e <C-R>=expand("<cword>")<cr><cr> :cw<cr>

nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<cr><cr>

nmap <C-_>i :cs find i <C-R>=expand("<cfile>")<cr><cr> :cw<cr>

nmap <C-_>d :cs find d <C-R>=expand("<cword>")<cr><cr> :cw<cr>

"--------------------------------------------------------------------------------

" Grep

"--------------------------------------------------------------------------------

"直接按下<F3>键来查找光标所在的字符串

nnoremap <silent> <F3> :Rgrep<CR>

"--------------------------------------------------------------------------------

" A

"--------------------------------------------------------------------------------

nnoremap <silent> <F12> :A<CR>

"--------------------------------------------------------------------------------

" NERD_commenter

"--------------------------------------------------------------------------------

let NERD_c_alt_style = 1                             " 将C语言的注释符号改为//, 默认是/**/

nmap <F5> ,cc

"--------------------------------------------------------------------------------

" SuperTab :SuperTabHelp

"--------------------------------------------------------------------------------

"let g:SuperTabRetainCompletionType = 2

"let g:SuperTabDefaultCompletionType = "<C-X><C-O>"

"--------------------------------------------------------------------------------

" CVim :help csupport

"--------------------------------------------------------------------------------

let g:C_Comments = "no"          " 用C++的注释风格

let g:C_BraceOnNewLine = "no"    " '{'是否独自一行

let g:C_AuthorName= "Lmy"                 "

let g:C_Project= 'F9'                         "

let g:Cpp_Template_Function = "c-function-description-Lmy"  "

let g:C_TypeOfH = "c"            " *.h文件的文件类型是C还是C++

"#################################################

"########################## End Of Vimrc ##########################

"#################################################

" if filetype is C

" TODO

" fi

Vim 配置文件===/etc/vimrc的更多相关文章

  1. Vim配置文件(Vimrc)

    嘛……后面的比赛基本都是在NOI Linux下进行了,windows下的开发环境基本都不能用了>_>果断转了vim,记录一下vim的配置文件- set nu syntax on filet ...

  2. Vim配置文件-详解(.vimrc)

    Vim配置文件的作用 Vim启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim Vim分类 系统Vim配置文件/etc/vimrc 所有系统用户在启动 ...

  3. 我的vim配置文件.vimrc

    我的vim配置文件.vimrc map <silent> <F10> :TlistToggle<cr>map <silent> <F8> : ...

  4. VIM的配置文件(vimrc)在哪里?【Win7】

    如果你使用VIM有一段时间的话,你会想要修改它的一些配置,例如默认显示行号.在哪改呢? 答案是:vimrc 那这个配置文件在哪呢? 打开你的vi,在命令模式下,输入[:version],会看到如下图所 ...

  5. 自定义vim配置文件vimrc,用于c/c++编程

    vim作为Linux下广受赞誉的代码编辑器,其独特的纯命令行操作模式可以很大程度上方便编程工作,通过自定义vim配置文件可以实现对vim功能的个性化设置. vim配置文件一般有两份,属于root的/e ...

  6. vim配置文件 .vimrc 重要参数

    vim配置文件的路径为  ~/.vimrc 重要参数如下: set mouse=a  //激活鼠标可用 syntax enable  //开启语法 set cursorline  //开启当前行光标线 ...

  7. Vim配置文件

    转载 原文网址:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim ...

  8. 转载~vim配置文件

    转载自:小码哥的博客 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C. ...

  9. 【转】强大的vim配置文件,让编程更随意

    原文地址:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主 ...

随机推荐

  1. 路由器分配的IP地址

    在IP地址范围内,一部分地址将保留作为私人IP地址空间,专门用于内部局域网使用,这些地址如下表: A类 10.0.0.0-10.255.255.255 网络数:1 B类 172.16.0.0-172. ...

  2. 目标检测 — 计算IOU

    1.IOU=交集/并集 #include<iostream> #include<algorithm> #include<stdio.h> #include < ...

  3. 五一清北学堂培训之Day 3之DP

    今天又是长者给我们讲小学题目的一天 长者的讲台上又是布满了冰红茶的一天 ---------------------------------------------------------------- ...

  4. doeNET Framework 农历 ChineseLunisolarCalendar

    C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe test.cs # test.cs using System; using System.Diagnos ...

  5. Java中常见的比较器的实现方法

    在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题. 通常对象之间的比较可以从两个方面去看: 第一个方面:对象的地址是否一样,也就是是否引用自同一个对象.这种方式可以直接使用& ...

  6. CruiseControl初探

    一.背景 CruiseControl从<项目自动化之道>这本书中了解到,然后又从网上查资料做了一定尝试.同时,项目持续集成这部分我也计划在自己参与的项目上先试点实行,才有了这篇文章. 二. ...

  7. day4-内置函数

    一.内置函数列表 二.常见内置函数用法 由于python内置函数较多,在此总结一下部分常见的内置函数的用法: abs(x)功能:取数的绝对值 >>> abs(0) 0 >> ...

  8. java之 Timer 类的简单使用案例

              (如果您看到本文章务必看结尾!) 第一次用Timer类,记录一下个人理解. 场景:做苹果内容结果验证时,根据苹果支付凭证去苹果官方服务器验证是否支付成功.但因为苹果服务器比较慢,第 ...

  9. 【VS外接程序】利用T4模板生成模块代码

    引言 记得第一次做asp.net mvc项目时,可以用model直接生成Html的增删改查页面, 没什么特殊要求都可以不用修改直接用了, 觉得很神奇,效率太高了.后来在做客户端开发时,发现很多模块都是 ...

  10. scrum meeting 1st

    现状分析 这是一个新项目,在之前的阶段中,基本完成了用户需求分析,在具体实现方面,团队大部分处于初学阶段,需要时间学习试验,预计刚开始项目进展较慢,alpha阶段时间相对紧迫,打算先实现网站的基本功能 ...