- 浏览: 795479 次
- 性别:
- 来自: 哈尔滨
文章分类
最新评论
-
doloveme:
$sudo cp MONACO_Linux.ttf /usr/ ...
terminator 的配置 -
腾讯rep:
lowser
RSA加密算法c++简单实现 -
csuhanyong:
好YD啊,好YD
一图流:机械键盘各轴区别 -
doloveme:
1。其中:extman ,extmail下载http://ww ...
Ubuntu下安装postfix+extmail邮件服务器 -
doloveme:
repo sync出现“fatal: '../platform ...
Android 编译环境配置搭建(Ubuntu 12.04)及环境导致编译错误QA
搭建linux C语言开发环境——redhat9+vim+ctags+taglist+cscope
配置VIM:
首先,安装vim,一般情况下在安装redhat时,默认就安装了vim。你可以用vim -v来查看你的系统是否安装了vim。如果显示了vim版本就表示已经安装了vim,否则你可以通过“从这里开始”-->“系统设置”--> “添加/删除应用程序”,然后选中“编辑器”来更新你的软件。安装之后就要通过配置.vimrc配置符合自己风格的vim了。接下来就要找 到.vimrc,如果你上网查找一些相关的资料时,他们会告诉你:在用户主目录——/home/root/下有一个.vimrc文件,在/etc/目录下 也有一个vimrc。但是,也许你找了很久都没有找到这两个文件,这很正常,因为在刚安装上vim时,在以上两个目录中确实没有这两个文件,换句话说,这 两个文件是认为加上去的。要找到你的vimrc,首先用vim打开一个文件,然后在vim中输入指令":version" ,你会看到"系统vimrc配置文件:/usr/share/vim/vim61/macros/vimrc",然后将这个文件拷贝到你的主目录 下,cp /usr/share/vim/vim61/macros/vimrc /root/ ,将vimrc改名为隐藏文件,mv vimrc .vimrc。接下来打开.vimrc,在里面添加几个条目:
set number " turn on line number——开启行号显示
set mouse " use mouse everywhere——开启鼠标功能
set cindent " do c-style indenting——使用C风格缩进
这样,vim基本就配置完成了。当然在编辑.vimrc时可以根据个人的喜好设置,具体的设置项可以使用:help命令查看,或者上网查查吧。
配置ctags:
首先到http://ctags.sourceforge.net/ 下 载ctags-5.8.tar.gz , 注意:有些浏览器(例如IE8)会阻止文件下载,这时只需要解除阻止即可进入下载界面。然后安装ctags.
#tar xzvf ctags-5.8.tar.gz
#cd ctags-5.8
#./configure
#make
#make install
注意:如果你在执行./configure时出现错误,那么很有可能就是你的gcc没有安装完全,解决方法——“从这里开始”-->“系统设 置”-->“添加/删除应用程序”,然后选择“开发工具”,更新你的gcc编译器。安装完成后就可以使用ctags命令了。
#ctags -R *
"-R"表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。"tags"文件中包括这些对象的列表:
l
用#define定义的宏
l 枚举型变量的值
l 函数的定义、原型和声明
l
名字空间(namespace)
l 类型定义(typedefs)
l
变量(包括定义和声明)
l 类(class)、结构(struct)、枚举类型(enum)和联合(union)
l
类、结构和联合中成员变量或函数
VIM用这个"tags"文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:
1)
用命令行。在运行vim的时候加上"-t"参数,例如:
[/home/brimmer/src]$ vim -t foo_bar
这个命
令将打开定义"foo_bar"(变量或函数或其它)的文件,并把光标定位到这一行。
2)在vim编辑器内用":ta"命令,例如:
:tag
foo_bar
3)最方便的方法是把光标移到变量名或函数名上,然后按下"Ctrl-]"。用"Ctrl-o"退回原来的地方。
注
意:运行vim的时候,必须在"tags"文件所在的目录下运行。否则,运行vim的时候还要用":set
tags="命令设定"tags"文件的路径,这样vim才能找到"tags"文件。
在函数中移动光标
[{
转到上一个位于第一列的"{"
}] 转到下一个位于第一列的"{"
{ 转到上一个空行
} 转到下一个空行
gd
转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方
配置taglist
首先下载taglist_45.zip,下载地址http://www.vim.org/scripts/script.php?script_id=273
解压文件:unzip -d taglist taglist_42.zip -d 表示要把文件解压到某个目录下。
解压得到两个文件。./taglist/doc/taglist.txt; ./taglist/plugin/taglist.vim
分别复制到各自的目录下:
cp ./taglist/doc/taglist.txt /usr/share/vim/vim61/doc/
cp ./taglist/plugin/taglist.vim /usr/share/vim/vim61/plugin/
配置 ~/.vimrc文件。
filetype plugin on
let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'
“设置ctags命令目录
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
let
Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
let
Tlist_Use_Right_Window = 1 “让taglist窗口在右侧显示
命令与用法:
在vim中命令模式下使用:
Tlist 打开或者关闭当前文件的索引;
TlistSync
立即在打开的索引窗口中定位当前的光标所在位置属于哪个函数或者结构定义中。
在Taglist窗口按
F1:打开帮助
回车键:跳到光标所在的标记的定义处(如将光标移到main函数,按回车键)
o:新
建一个窗口,跳到标记定义处
p:预览标记定义(仍然在taglist窗口)
空格:显示标记的原型(如函数原型)
u:更新标记列表
(比如源文件新增了一个函数,并在保存后,可在taglist窗口按u)
s:选择排序字段
d:删除光标所在的taglist文件(如用
vi打开了两个文件f1.c,f2.c可以删除f1.c的标记)
x:放大/缩小taglist窗口
+:展开(指标记)
-:折叠
*:
全部展开
=:全部折叠
[[:将光标移到前一个文件的起点
]]:将光标移到后一个文件的起点
q:退出taglist窗口
F1:
关闭帮助
配置cscope:
首先下载cscope-15.7a.tar.bz2,地址:http://cscope.sourceforge.net/ , 然后安装cscope。
#cp /mnt/hgfs/D/cscope-15.7a.tar.bz2 /usr/local/src/
#tar xjvf cscope-15.7a.tar.bz2
#cd cscope-15.7a
#./configure
#make;make install
这样就基本将cscope安装完成了。接下来我们讨论一下如何使用cscope。
在程序文件的根目录中输入#cscope -Rbkq,这个命令会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。其中cscope.out是基本的符号索引,也是对我们来说最重要的文件。注意,如果输入#cscope -R,生成cscope.out 数据库文件并进入cscope界面。在menu处也就是提示按什么方式查询的地方按下‘问号’(?)给出提示。
#: cscope -Rbkq<回车>
- R 表示把所有子目录里的文件也建立索引
- b 表示cscope不启动自带的用户界面,而仅仅建立符号数据库
- q生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
- k在生成索引文件时,不搜索/usr/include目录
在VIM中使用cscope非常简单,首先调用“cscope add”命令添加一个cscope数据库,然后就可以调用“cscope find”命令进行查找了。VIM支持8种cscope的查询功能,如下:例如,我们想在代码中查找调用work()函数的函数,我们可以输入:“:cs find c work”,回车后发现没有找到匹配的功能,可能并没有函数调用work()。我们再输入“:cs find s work”,查找这个符号出现的位置,现在vim列出了这个符号出现的所有位置。我们还可以进行字符串查找,它会双引号或单引号括起来的内容中查找。还可 以输入一个正则表达式,这类似于egrep程序的功能。在源代码目录下打开vim。要使用cscope查找就必须加载cscope.out文件.在vim 命令行下执行:
:cs add cscope.out
在vim命令行下执行:
:cs help
cscope commands:
add : Add a new database (Usage: add file|dir [pre-path] [flags])
find : Query for a pattern (Usage: find c|d|e|f|g|i|s|t name)
c: Find functions calling this function
d: Find functions called by this function
e: Find this egrep pattern
f: Find this file
g: Find this definition
i: Find files #including this file
s: Find this C symbol
t: Find assignments to
help : Show this message (Usage: help)
kill : Kill a connection (Usage: kill #)
reset: Reinit all connections (Usage: reset)
show : Show connections (Usage: show)
s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
d:
查找本函数调用的函数
c: 查找调用本函数的函数
t: 查找指定的字符串
e:
查找egrep模式,相当于egrep功能,但查找速度快多了
f: 查找并打开文件,类似vim的find功能
i: 查找包含本文件的文
当
然在底行模式下介键入 help 会弹出 vim的帮助。
2,使用cscope查找do_fork函数的定义:
在vim命令行下执行:
:cs f g do_fork
就可以查看do_fork的全局定义了。
由于每次启动vim都必须使用"cs add"加载"cscope.out"数据库,是不是感觉很麻烦啊。所以,我们可以将cscope配置到vim中,在http://cscope.sourceforge.net/cscope_vim_tutorial.html 界 面中下载cscope_maps.vim , 然后将cscope_maps.vim 复 制到/usr/share/vim/vim61/plugin/中,注意,下面一段话摘自cscope官网:
"Download the cscope_maps.vim file, and arrange for it to be read by Vim at startup time. If you are using Vim 6.x, stick the file in your $HOME/.vim/plugin directory (or in any other 'plugin' subdirectory in your 'runtimepath'). If you are using Vim 5.x, you can either cut and paste the entire contents of the cscope_maps file into your $HOME/.vimrc file, or stick a "source cscope_maps.vim" line into your .vimrc file. "
也就是说注意你的vim版本,你既可以将cscope_maps.vim 中 的配置内容拷贝到/home/.vimrc中,也可以按照我刚才讲的方法。
cscope_maps.vim 中 的以下内容就是配置cscope快捷键的。
nmap <C-/>s :cs find s
<C-R>=expand("<cword>")<CR><CR>
nmap
<C-/>g :cs find g
<C-R>=expand("<cword>")<CR><CR>
nmap
<C-/>c :cs find c
<C-R>=expand("<cword>")<CR><CR>
nmap
<C-/>t :cs find t
<C-R>=expand("<cword>")<CR><CR>
nmap
<C-/>e :cs find e
<C-R>=expand("<cword>")<CR><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>
nmap
<C-/>d :cs find d
<C-R>=expand("<cword>")<CR><CR>
这些快捷键的用法:例如,"ctrl+/+s"就相当于cs find s,也就是查找C语言符号,即查找函数名、宏、枚举值等出现的地方。注意,先按住ctrl,再按/,然后松开ctrl和/,再按s键就可以了。
发表评论
-
linux生成指定大小的文件
2015-08-26 16:02 1638# dd if=/dev/zero of=50M.file ... -
恢复 git reset -hard 的误操作
2014-08-30 15:10 846有时候使用Git工作得小心翼翼,特别是涉及到一些高级操作,例如 ... -
安装下载jamesAMES邮件服务器
2014-08-22 14:24 766UBUNTU下的JAMES邮件服务器 下载文件james- ... -
ubuntu james 2.3 部署
2014-08-22 14:23 782参考文章 1、需要用到很多权限和1024下的端口,用roo ... -
E: Sub-process /usr/bin/dpkg returned an error code (1)
2014-08-21 10:40 815Sub-process /usr/bin/dpkg retu ... -
Ubuntu系统如何设置vpn
2014-06-20 09:28 221因为一些原因,我们可能需要使用vpn,很 ... -
部署Exchange2007
2014-06-06 10:02 514Exchange邮件服务器是一个不错的通信消息平台, ... -
ubuntu 挂载(感觉挂载iso相当舒服)
2014-06-03 17:20 909当然首先在/media目录下先新建个文件夹当挂载点先以挂载 ... -
InputStream、OutputStream、String的相互转换
2014-06-03 17:19 5351、字符串转inputStream Java ... -
Windows XP格式化U盘为NTFS的方法
2014-06-03 10:41 729大于4G的U盘,最好将其格式化为NTFS格式,因为FAT3 ... -
google hosts
2014-05-31 11:29 250127.0.0.1localhost 127.0.1.1h ... -
google hosts
2014-05-30 18:03 4#Google Services START203.208.4 ... -
terminator 的配置
2014-05-15 09:15 1358让termintor 文字背景和ubuntu 一样 ... -
Ubuntu下安装postfix+extmail邮件服务器
2014-05-10 12:19 1755系统:ubuntu-10.04.3-server-amd64 ... -
Discuz X2.5 取消登陆密码错误15分钟限制的方法
2014-05-09 15:15 1237个人不推荐取消登录密码错误15分钟后再试的限制,就现在有限制 ... -
Ubuntu下搭建FTP服务器
2014-05-08 19:24 774后台一直提示wordperss版本和插件有更新,看着碍眼,决 ... -
Ubuntu 使用 Discuz搭建论坛
2014-05-08 19:22 7491. 安装LAMP 具体参考http://www.linu ... -
ubuntu 12.04卸载 vmware
2014-05-06 14:27 645在ubuntu 安装玩VMware 9 后,始终卸载不掉,一 ... -
ssh打洞
2014-05-04 22:41 1013目的:要求能在家里或其他外网环境访问在公司内网中我的工作电脑网 ... -
ubuntu无root权限,如何将用户添加到sudo组中去?
2014-05-04 17:21 1850最近下载了debian6.0,在vmware中安装完成之后发 ...
相关推荐
linux内核编译——redhat9+vm7+2.6.10
redhat5.4+SSH+Ftp+Apache+Mysql+PHP搭建 redhat5.4+SSH+Ftp+Apache+Mysql+PHP搭建 redhat5.4+SSH+Ftp+Apache+Mysql+PHP搭建 redhat5.4+SSH+Ftp+Apache+Mysql+PHP搭建
Linux(RedHat)+php5.3.10+mysql5.5.19+apache2.2.22安装配置说明 完整详细.
linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+安装软件linux下tomcat+JDK+redhat配置文档+...
完整的linux(RedHat5.4)+php5.3.10+mysql5.5.19+apache2.2.22安装配置说明,redhat和centos系统通用,让你轻松的完成php在linux环境下搭建一个完美的LAMP平台。完整的LAMP环境安装手册,php学习者必备的文档说明。
redhat9+oracl10g_rpm包
redhat5.4 SVN搭建 web同步 redhat5.4 SVN搭建 web同步 redhat5.4 SVN搭建 web同步 redhat5.4 SVN搭建 web同步 redhat5.4 SVN搭建 web同步
VBox虚拟机+Redhat5.6+RAC安装
redhat7.9 + yum.repos.d +CentOS7-Base-163.repo + Centos-7-aliyun.repo
redhat6.4+nginx+keepalived__实现双机热备和负载均衡
Linux详细配置笔记,包括MySQL、Tomcat、Eclipse等
linux环境下的Mysql+nginx+rsync安装指导
Redhat+enterprise+linux+4环境下Oracle10g安装图解 centos4.7亲测
vbox+redhat6.3+oracle11gRAC安装文档详细图解安装过程
但是redhat as4u4系统自带vim还是老版本。 所以本人编译出来,并打成rpm希望对大家有帮助。 <br>这是在Red Hat Enterprise Linux AS release 4 (Nahant Update 4) 下编译的VIM71版本 configure编译...
VirtualBox + redhat7.5 +oracle19C安装
RedHat5.5+IBM DS4800+Oracle10g RAC+LVM 安装
linux RedHat6.8+oracle11.2.0.4.0安装文档,非常详细,包含所需rpm
1.RedHat Linux 9中,vim由默认版本升级至指定版本的方法(vm7.2版),同时也解决了以下两个问题: a.录入中文后,无法保存 b.删除中文时,只能删除半个中文 2.ReaHat Linux9中安装五笔输入法的方法(小企鹅五笔输入法) 都...
REDHAT7.4+QT5.9.3+OPENGL,三维编程实例,参考网上其他实例程序,进行修改移植,在上述环境下运行正常。