cscope

vim 字符编码

*爱你&永不变心* 提交于 2020-04-04 07:25:49
一般的,vim打开中文文件时会出现乱码,原因比较复杂,不罗嗦了。直接讲解决办法 set fileencoding=gb18030 set fileencodings=utf-8,gb18030,utf-16,big5 想看这样设置的原因吗?请继续。下文在网络中广泛流传 vim里面的编码主要跟三个参数有关:enc(encoding), fenc(fileencoding)和fencs(fileencodings) 其中fenc是当前文件的编码,也就是说,一个在vim里面已经正确显示了的文件(前提是你的系统环境跟你的enc设置匹配),你可以通过改变 fenc后再w来将此文件存成不同的编码。比如说,我:set fenc=utf-8然后:w就把文件存成utf-8的了,:set fenc=gb18030再:w就把文件存成gb18030的了。这个值对于打开文件的时候是否能够正确地解码没有任何关系。 fencs就是用来在打开文件的时候进行解码的猜测列表。文件编码没有百分百正确的判断方法,所以vim只能猜测文件编码。比如我的vimrc里面这个的设置是 set fileencodings=utf-8,gb18030,utf-16,big5 所以我的vim每打开一个文件,先尝试用utf-8进行解码,如果用utf-8解码到了一半出错(所谓出错的意思是某个地方无法用utf-8正确地 解码)

vim+cscope简易教程

百般思念 提交于 2020-02-21 07:06:36
Cscope具有纯正的Unix血统,它最早是由贝尔实验室为PDP-11计算机开发的,后来成为商用的AT&T Unix发行版的组成部分。直到2000年4月,这个工具才由SCO公司以BSD license开源发行。 Cscope的主页在 http://cscope.sourceforge.net/ ,如果你的计算机上没有cscope,你可以在此处下载它,在写本文时,它的最新版本是15.8b。mac中可以用homebrew一键安装。 1、cscope的用法很简单,首先需要为你的代码生成一个cscope数据库。在你的项目根目录运行: cscope -Rbqk 2、这个命令会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。其中cscope.out是基本的符号索引,后两个文件是使用" -q"选项生成的,可以加快cscope的索引速度。 3、在缺省情况下,cscope在生成数据库后就会进入它自己的查询界面,我们一般不用这个界面,所以使用了" -b"选项。如果你已经进入了这个界面,按 CTRL-D退出。 4、Cscope在生成数据库中,在你的项目目录中未找到的头文件,会自动到/usr/include目录中查找。如果你想阻止它这样做,使用" -k"选项。 5、-R表示索引子目录。R是递归的首字符简写。 在vim中使用cscope: 1

cscope的使用

谁都会走 提交于 2020-02-15 17:39:12
转自:http://easwy.com/blog/archives/advanced-vim-skills-cscope/ 本节所用命令的帮助入口: :help cscope 在前面的文章中介绍了 利用tag文件 ,跳转到标签定义的地方。但如果想查找函数在哪里被调用,或者标签在哪些地方出现过,ctags就无能为力了,这时需要使用更为强大的cscope。 Cscope具有纯正的Unix血统,它最早是由贝尔实验室为PDP-11计算机开发的,后来成为商用的AT&T Unix发行版的组成部分。直到2000年4月,这个工具才由SCO公司以BSD license开源发行。 Cscope的主页在 http://cscope.sourceforge.net/ ,如果你的计算机上没有cscope,你可以在此处下载它,在写本文时,它的最新版本是15.6。安装它非常简单,你只需要在cscope的源代码目录中执行下面三条命令: ./configure make make install 在windows上也可以使用cscope,在cscope的主页上可以下载到由DJGPP编译器编译的cscope for windows,不过这个版本不能和vi一起工作。或者你可以下载cygwin工具包( http://www.cygwin.com/ ),这个工具包中也包含了cscope。 在 http://iamphet

cscope的用法

拜拜、爱过 提交于 2020-02-15 06:22:39
一,一般源文件中生成索引文件 为了方便使用,编写了下面的脚本来更新cscope和ctags的索引文件: #!/bin/shfind . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.filescscope -bkq -i cscope.filesctags -R 这个命令会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。 其中cscope.out是基本的符号索引,后两个文件是使用"-q"选项生成的,可以加快cscope的索引速度。 这个脚本,首先使用find命令,查找当前目录及子目录中所有后缀名为".h", ".c"和".c"的文件,并把查找结果重定向到文件cscope.files中。然后cscope根据cscope.files中的所有文件,生成符号索引文件。最后一条命令使用ctags命令,生成一个tags文件,在vim中执行":help tags"命令查询它的用法。它可以和cscope一起使用。上面所用到的命令参数,含义如下: -R : 在生成索引文件时,搜索子目录树中的代码 -b : 只生成索引文件,不进入cscope的界面 -q : 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度 -k: 在生成索引文件时,不搜索/usr

vim+cscope的使用

时光总嘲笑我的痴心妄想 提交于 2020-02-14 23:11:55
1. vim的准备 首 先 vim --version | grep cscope,看看vim是否支持cscope,如果不支持需要重新安装vim。最简单的是在. /configure 后加上-enable-cscope,当然可以在Makefile文件(./src/Makefile)中修改(把原来的注释去 掉),这是最根本的: CONF_OPT_CSCOPE = --enable-cscope 然后安装:make && make install 2. 在目录下建立cscope索引文件 为了方便使用,编写了下面的脚本来更新cscope和ctags的索引文件: #!/bin/sh find . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.files cscope -bkq -i cscope.files ctags -R 这个命令会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。 其中cscope.out是基本的符号索引,后两个文件是使用"-q"选项生成的,可以加快cscope的索引速度。 这个脚本,首先使用find命令,查找当前目录及子目录中所有后缀名为".h", ".c"和".c"的文件,并把查找结果重定向到文件cscope.files中。 然后cscope根据cscope

将VIM配置为IDE

别来无恙 提交于 2020-01-24 04:23:55
前言 我们在服务器上做开发时,可以选择使用字符界面或者GUI界面。 由于远程GUI界面比较吃资源,因此其流畅度和本地操作系统的GUI界面相差甚远,使用体验往往不尽人意。 因此,一般首选字符界面做开发,VIM 编辑器是字符界面下的一款神器。 VIM 编辑器在配置好各种插件后,可以媲美 Windows 下功能强大的 IDE 而又不显得臃肿。 本文的配置非常方便快捷,Ubuntu 下只需通过 apt 安装 ctags 和 cscope ,再修改 .vimrc 配置文件即可, 几分钟内 就能将 VIM 配置成 IDE。 本文配置的 VIM 编辑器的 最终效果 如下图,使用了 NerdTree、TagList、MiniBufExplorer、SourceExplorer 这几个插件。 安装 ctags 和 cscope 在命令行输入下面两条命令安装 ctags 和 cscope: $ sudo apt install ctags $ sudo apt install cscope 使用 ctags 和 cscope 在代码目录下生成符号库,可以帮助我们在 VIM 编辑器中查找变量、函数等的定义,进行跳转。 上面两条命令执行完毕后,进入代码项目所在目录,执行下面的命令生成 tags 文件: $ ctags -R . 执行下面的命令生成 cscope 的符号索引数据库: $ cscope

用VIM打造属于自己的IDE

删除回忆录丶 提交于 2020-01-21 05:45:24
Vim是一个强大的文本编辑器,我参考网上教程定制了一个简单的IDE,具有文件视图、自动补全、批量注释等常用功能。先上图: 要完成整个配置,需要安装ctags、cscope软件,以及taglist.vim、winmanage、omnicppcomplete.vim、NERDcommenter.vim、a.vim、DoxygenToolKit插件。 ctags软件可以帮助我们跳转到函数或者变量的定义位置; cscope软件比ctags更强大,可以找到哪些位置调用了某个函数; taglist.vim和winmanage插件用于显示源代码的结构,比如函数列表; omnicppcomplete.vim插件可以实现C/CPP代码的补全; NERD_commenter.vim可以实现批量注释; a.vim实现.cpp和.h的快速切换,比如敲代码时想立刻查看头文件; DoxygenToolKit插件用于自动产生注释。 有了这些基本功能,Vim俨然成了一个简化版的SourceInsight。 1. 配置.vimrc .vimrc是Vim的配置文件,就在$HOME目录下面,如果没有就自己创建一个。在这个文件里可以深度定制Vim。不要太复杂,先配上最基本的,代码如下: set nocompatible "不要兼容vi syntax on "高亮 set tabstop=4 "tab等于4空格 set

将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)

六眼飞鱼酱① 提交于 2020-01-19 02:24:51
工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。好吧,我知道这是废话。。。不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样可以一键安装并且功能几乎完美无缺的开发工具而郁闷不已,甚至打算收回刚刚迈出的脚步。所幸的是,通过几天努力,我总算配置出了一个功能完备的基于Vim的开发环境。这个开发环境除了基本的Vim外,还包括Ctags,Taglist,Cscope,SuperTab,OmniCppComplete,Winmanager,NERDTree和MiniBufExplorer等组件。 在开始操作前,先普及下基础概念,然后约定一下表达规范。 1)Vim存在多个配置文件vimrc,比如/etc/vimrc,此文件影响整个系统的Vim。还有~/.vimrc,此文件只影响本用户的Vim。而且~/.vimrc文件中的配置会覆盖/etc/vimrc中的配置。这里我们只修改~/.vimrc文件。 2)Vim的插件(plugin)安装在Vim的runtimepath目录下,你可以在Vim命令行下运行"set rtp“命令查看。这里我们选择安装在~/.vim目录,没有就创建一个。 3)当本文说”在Vim命令行下运行cmdxx命令“时,意思是指在Vim的命令行模式下运行cmdxx命令,即在Vim的正常模式下通过输入冒号":

cscope: Cscope error: cscope: cannot read list size from file cscope.out

不羁的心 提交于 2020-01-15 05:36:04
问题 Issue : I get the following error when I try to open a file in vim (version 7.3). cs_read_prompt EOF: Illegal seek E609: Cscope error: cscope: cannot read list size from file cscope.out Description : I created the cscope database "cscope.out" using the command "cscope -b -R". The file ~/.vim/plugin/cscope_maps.vim contains the command "cs add cscope.out" to add the cscope database. When I try to open one of the source files, I get the error mentioned above. uname -a Linux 2.6.16.60-0.58.1

emacs -nw issues with cscope and terminals

 ̄綄美尐妖づ 提交于 2020-01-03 06:20:37
问题 Few issues with emacs in term windows. Any help is appreciated. a. I start emacs over ssh with emacs -nw with cscope enabled. After I search for a symbol or a definition, on the cscope buffer when i press 'enter', emacs says - Buffer is read-only. Whereas the same functionality on emacs with xwindows (gtk or anything else) takes me to the file and line on edit buffer. How can I have the same functionality with 'emacs -nw'. b. Also the arrow mark on edit/source buffer when i do next reference