Chinaunix首页 | 论坛 | 博客
  • 博客访问: 206314
  • 博文数量: 32
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-06 20:47
文章分类

全部博文(32)

文章存档

2009年(11)

2008年(21)

我的朋友

分类: LINUX

2008-12-14 19:47:42

准备标签
$ctags -R
生成一个cscope的数据库, 在项目的根目录运行下面的命令:
$ find . –type f > cscope.files
$cscope –bq

Winmanager文件操作技巧:
Winmannager:
打开关闭
显示帮助
如果光标下是目录, 则进入该目录; 如果光标下文件, 则打开该文件
- 返回上级目录
c 切换vim 当前工作目录正在浏览的目录
d 创建目录
D 删除目录或文件
i 切换显示方式
R 文件或目录重命名
s 选择排序方式
x 定制浏览方式, 使用你指定的程序打开该文件

Cscope帮助阅读代码
进入vim后第一件事是要把刚才生成的cscope文件导入到vim中来, 用下面的命令:

:cs add /XXX/cscope.out /XXX

以调用“F1+字母”命令进行查找了。VIM支持8种cscope的查询功能,如下:
s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
d: 查找本函数调用的函数
c: 查找调用本函数的函数
t: 查找指定的字符串
e: 查找egrep模式,相当于egrep功能,但查找速度快多了
f: 查找并打开文件,类似vim的find功能
i: 查找包含本文件的文件
如果自动跳转的位置你不满意, 想看其他的结果, 可以用F6打开QuickFix窗口:
Shift+F6关闭QuickFix窗口,Crtl+o返回上一级。

Taglist的基本操作
按下F3就会打开taglist窗口了,在其中可以使用下面的快捷键:
跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o 在一个新打开的窗口中显示光标下tag
显示光标下tag的原型定义
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出现顺序排序间切换
x taglist窗口放大和缩小,方便查看较长的tag
+ 打开一个折叠,同zo
- 将tag折叠起来,同zc
* 打开所有的折叠,同zR
= 将所有tag折叠起来,同zM
[[ 跳到前一个文件
]] 跳到后一个文件
q 关闭taglist窗口
显示帮助

编程常用技巧:
Tab 自动补全
Ctrl+A 全选
Shift+o 建立新行但是不插入
% 跳转到配对的括号去
[[ 跳转到代码块的开头去(但要求代码块中'{'必须单独占一行)
>> 缩进所有选择的代码
<< 和上面类似,但是反缩进
gd 到达光标所在处函数或者变量的定义处。
K 在 Man 里面查找光标当前所在处的词。
'' 跳转到光标上次停靠的地方, 是两个', 而不是一个"
:1,20s/^/#/g 连续行注释,注释第1行到第20行。(其中"^"表示在行首插入,"#"为要插
的字符,"g"表示执行替换时不确认)
\cl 在结尾处加注/*XXX*/
\c* 将选中块加注释
F12 在行首加注释符 //
Shift+F12 去掉行首两个字符,用于去掉注释符
F2 看与源文件同名的头文件
\cfr 写文件文档说明头
\cfu 写函数说明头
\cme 写方法说明头
\ccl 写类说明头
\cd 加入日期
\ct 加入日期和时间
F11 新建一个标签
Shift+F11 跳转标签
:r 文件名 直接将其他文件或命令执行内容导入当前文件中
(在注释中写入当前系统内核信息,只需:r !uname -a)
v% = 在一遍的括号处按此组合键,括号中内容选定并按照C语言格式缩排,
光标会自动跳到XXXX()函数的定义处。
, 跳回到函数被调用的地方了, 变量, 结构, 宏, 等等, 都可以的。
Shift+qq 快速不保存退出vi(所有的标签都会关闭)
F10 快速打开同文件夹下的源文件,查找文件名可以用/

编译:
F5 Make
Shift+F5 Make clean
F6 列出所有编译信息
Shift+F6 关闭调试信息
F7 切换到下一个结果
Shift+F7 切换到上一个结果
F8 编译并运行单个文件
Shift+F8 调试源代码
\rc 保存并且编译
\rl 链接
\rr 运行
\ra 输入运行时的参数
\rm make
\rg 输入make时的参数
\rp 代码检查 splint
\ri 输入代码检查splint的参数
\rd或者Ctrl+F5 源代码
\rs 查看这个Csupport的设置

自动补全:
Ctrl+X Ctrl+L
整行补全
Ctrl+X Ctrl+N
根据当前文件里关键字补全
Ctrl+X Ctrl+K
根据字典补全
Ctrl+X Ctrl+T
根据同义词字典补全
Ctrl+X Ctrl+I
根据头文件内关键字补全
Ctrl+X Ctrl+]
根据标签补全
Ctrl+X Ctrl+F
补全文件名
Ctrl+X Ctrl+D
补全宏定义
Ctrl+X Ctrl+V
补全vim命令
Ctrl+X Ctrl+U
用户自定义补全方式
Ctrl+X Ctrl+S
拼写建议

Csupport(c.vim)的常用结构补全操作:
-- 常用结构 ---------------------------------------------------------
\sd do { } while
\sf for
\sfo for { }
\sif if { }
\sife if { } else { }
\swh while { } (n,v,i)
\ss switch (n,v,i)
\sc case (n,i)
\s{ { } (n,v,i)

-- 预处理命令 -------------------------------------------------------
\p< #include <> (n,i)
\p" #include "" (n,i)
\pd #define (n,i)
\pu #undef (n,i)
\pie #if #else #endif (n,v,i)
\pid #ifdef #else #endif (n,v,i)
\pin #ifndef #else #endif (n,v,i)
\pind #ifndef #def #endif (n,v,i)
\pi0 #if 0 #endif (n,v,i)
\pr0 remove #if 0 #endif (n,i)
\pe #error (n,i)
\pl #line (n,i)
\pp #pragma (n,i)

-- 常用短语 -------------------------------------------------------------
\im main() (n,v,i)
\i0 for( x=0; x
\in for( x=n-1; x>=0; x-=1 ) (n,v,i)
\ie enum + typedef (n,i)
\is struct + typedef (n,i)
\iu union + typedef (n,i)
\ip printf() (n,i)
\isc scanf() (n,i)
\ica p=calloc() (n,i)
\ima p=malloc() (n,i)
\isi sizeof() (n,v,i)
\ias assert() (n,v)

-- C++ ----------------------------------------------------------------
\+c class (n,i)
\+cn class (using new) (n,i)
\+ci class implementation (n,i)
\+cni class (using new) implementation (n,i)
\+mi method implementation (n,i)
\+ai accessor implementation (n,i)

\+tc template class (n,i)
\+tcn template class (using new) (n,i)
\+tci template class implementation (n,i)
\+tcni template class (using new) impl. (n,i)
\+tmi template method implementation (n,i)
\+tai template accessor implementation (n,i)

\+tf template function (n,i)
\+ec error class (n,i)
\+tr try ... catch (n,v,i)
\+ca catch (n,v,i)
\+c. catch(...) (n,v,i)
阅读(1303) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-10-14 17:53:36

http://www.wow-power-lvl.com/Buy-Justice-Points-Powerleveling.html Buy WoW Justice Points http://www.wow-power-lvl.com/Buy-Justice-Points-Powerleveling.html Justice Points Powerleveling http://www.wow-power-lvl.com/Buy-Justice-Points-Powerleveling.html Powerleveling Justice Points http://www.wow-power-lvl.com/Buy-Justice-Points-Powerleveling.html WoW Justice Points http://www.wow-power-lvl.com/Buy-Justice-Points-Powerleveling.html Justice Points Farming http://www.wow-power-lvl.com/Buy-Just

chinaunix网友2010-07-13 15:59:53

waste a lot ofwow powerleveling time in any video game