
Linux操作系统
文章平均质量分 58
IterZebra
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用Vim打造IDE--Grep
.在工程中查找 -- 插件: Grep下载地址http://www.vim.org/scripts/script.php?script_id=311版本1.8安装把grep.vim 文件丢到 ~/.vim/plugin 文件夹就好了手册在grep.vim 文件头部下面介绍它的用法:vim有自己的查找功能, 但是跟shell中的grep比起来还是有些差距的, 有时Coding正火急火燎的时候, 真想按下F3, 对光标所在的词来个全工程范围的grep, 不用敲那些繁琐的命令, 现在福音来了, 跟原创 2011-04-05 22:54:00 · 7536 阅读 · 0 评论 -
使用Vim打造IDE--缓冲区和多个文件编辑
<br />原文地址:<br />http://blog.youkuaiyun.com/wooin/archive/2007/10/31/1858917.aspx<br /> <br /> <br /> <br />MiniBufExplorer<br /> <br />用以解决vim自己本身带的buffer管理工具不直观的问题。<br /> <br />下载地址:<br /> <br />http://www.vim.org/scripts/script.php?script_id=159<br /> <br />安原创 2011-04-05 22:53:00 · 2152 阅读 · 0 评论 -
用vim打造IDE--分屏
使用分屏命令::new 创建空白分屏:new filename 创建分屏并打开filename文件:split 对当前光标所在窗口进行水平分屏:vsplitt 对当前光标所在窗口进行竖直分屏:only 取消其他分屏,保留当前光标所在窗口原创 2011-04-08 09:14:00 · 2029 阅读 · 0 评论 -
Linux编辑器--vim的tag29.5
<br />29.5查找本地标识符<br /> <br /> [I 查找包含文件。仅仅查看当前文件,并且跳转到第一个在光标下的字符被使用的地方,可以使用:<br /> <br /> gD(即Goto Definition)<br /> <br /> 这个命令对于发现本地声明的变量和函数非常有用。例如c语言中的static。<br /> <br /> 如果要更小的范围,即在当前函数中,使用如下命令:<br /> <br /> gd<br /> <br /> 这会跳转到当前函数的开始,并发现第一个光标下的w原创 2011-04-05 11:03:00 · 984 阅读 · 0 评论 -
Linux编辑器--vim的tag29.4
<br />29.4查找全局标识符<br /> <br /> 你正在编写C程序,并且想知道一个变量是被声明为int或者unsigned。一个发现这个的快速方法是使用[I命令。<br /> <br /> 假设光标在column这个字上,输入[I,vim会列出匹配的所有行。不仅仅在当前文件,所有包含文件,和包含文件中包含的文件,都会列出。<br /> <br /> 这种方式相对于使用tags和分屏的好处就是包含文件也被搜索。多数情况下,这将会正确的找到声明。即使tags文件过期了,或者你没有对于包含文件原创 2011-04-05 10:56:00 · 946 阅读 · 0 评论 -
Linux编辑器--vim的tag29.1
vim是Linux下一款功能十分强大的编辑器。将vim打造成编程利器,不仅仅需要学习vim的用法,还需要使用一些插件。首先介绍vim中标签的用法。以下是对vim帮助的29章进行的翻译:29.1使用tags tags是定义标识符的地方。例如在c和c++程序中的函数定义。tags的列表在一个tags文件中维护。这个可以被vim用以直接的从任何地方跳转到tag,也就是定义了标识符的地方。 如果要成成所有当前目录下的C文件的tags文件,使用如下命令: ctags *.c ctags是一个独立的原创 2011-04-04 22:32:00 · 1209 阅读 · 0 评论 -
Nginx源代码分析--基本数据结构--hash
咱们来继续看found后的处理:found: //小样,找到你了~~ //当前的size,可就是需要的桶大小了。 //老毛子这里将test[0]~test[size-1]的值,重新计算一遍。 //感觉是因为他太高兴了,觉得”终于成功计算出size了“,忘原创 2011-07-05 10:49:39 · 1354 阅读 · 1 评论 -
Nginx源代码分析--基本数据结构--hash
<br />这次我们来看一下查找函数<br /> <br /> <br /> <br />void *<br />ngx_hash_find(ngx_hash_t *hash, ngx_uint_t key, u_char *name, size_t len原创 2011-07-05 10:45:23 · 978 阅读 · 0 评论 -
Nginx源代码分析--基本数据结构--hash
<br />我们来看一下wildcard初始化函数。<br /> <br />//函数ngx_int_t<br /> <br />//ngx_array_s结构体<br /> <br /> <br /> <br />//elts是指向内存池中的存储元素的指针。原创 2011-07-05 10:45:11 · 1184 阅读 · 0 评论 -
Nginx源代码分析--基本数据结构--hash
<br />Nginx的查找函数逻辑相对简单,即根据要查找的key-value的key,计算出其所在的桶,比较该key和桶中所有key-value对的key的长度是否一致,如果一致,则进行继续key的值的比较。如果key的值也一直,则获取该key对应value原创 2011-07-05 10:44:47 · 1017 阅读 · 0 评论 -
Nginx源代码分析--基本数据结构--hash
//通配查找,匹配以.分隔的最后的字符串//ngx_hash_find_wc_head的处理流程为://1,寻找字符串中,最后一个子串开始的位置//2,计算最后这个子串的key值//3,寻找这个key值对应的值域的指针// 4,如果value值不是NULL,则原创 2011-07-05 10:43:43 · 1639 阅读 · 5 评论 -
Nginx源代码分析--基本数据结构--hash
<br />咱们来看这段代码:<br /> <br /> <br />//这段让人欢喜让人忧的宏定义<br /> <br />//先说说有什么需求:<br /> <br /> //桶的大小是有限制的,在ngx_hash_init_t 数据结构中原创 2011-07-05 10:50:01 · 1367 阅读 · 0 评论 -
使用Vim打造IDE--书签功能
<br />原文如下:<br />http://blog.youkuaiyun.com/wooin/archive/2007/10/31/1858917.aspx<br /> <br />VisualMark<br /> <br />下载地址:<br />http://www.vim.org/scripts/script.php?script_id=1026<br /> <br />安装:<br /> <br />放置于~/.vim/plugin文件夹下。<br /> <br /> <br />vim本身就有Mark功原创 2011-04-05 22:43:00 · 3406 阅读 · 0 评论 -
使用Vim打造IDE--在头文件和源文件中切换
<br />原文地址:<br />http://blog.youkuaiyun.com/wooin/archive/2007/10/31/1858917.aspx<br />转载无风险。<br /> <br />A.vim可是个简约而不简单的插件。<br /> <br />地址:<br />http://www.vim.org/scripts/script.php?script_id=31<br />安装:<br />将a.vim放到~/.vim/plugin文件夹下<br /> <br />用法:<br /> :A在原创 2011-04-05 22:34:00 · 4619 阅读 · 0 评论 -
Linux操作系统--自动补全加速
SuperTab用于简化补全功能。地址:http://www.vim.org/scripts/script.php?script_id=1643安装方法:将插件放到 ~/.vim/plugin文件夹中。使用下述命令查看帮助文档::SuperTabHelp在~/.vimrc文件加入以下两行:let g:SuperTabRetainCompletionType=2let g:SuperTabDefaultCompletionType=""这样,直接在需要按CTRL+X和CTRL+O的时候,直接使用tab即可原创 2011-04-05 22:19:00 · 1962 阅读 · 0 评论 -
使用Vim打造IDE--自动补全
自动补全是一个很重要的功能。实现该功能,vim需要ctags 5.6版以上的支持。查看帮助文档::help new-omni-completion在~/.vimrc中增加如下两行:filetype plugin indent onset completeopt=longest,menu打开文件检测和智能补全,并关闭智能补全时的预览窗口。这样在结构体等,进行insert进行编辑时,将光标放到 "->"后,按下Ctrl+X CTRL-O 会弹出一个下拉菜单,此时有一些快捷键可以用:Ctrl+P向前切换成员Ctr原创 2011-04-05 18:19:00 · 5788 阅读 · 1 评论 -
使用Vim打造IDE--quickfix窗口
是vim默认的插件。查看帮助文档::help quickfix例如执行make,编译出错::make然后就会有错误信息在quickfix中显示。:cw可以进行quickfix的切换显示。下面的QuickFix窗口中我们可以找到每一个编译错误, 同样可以用鼠标点击每一条记录, 代码会马上自动跳转到错误处。你也可以用下面的命令来跳转: :cn // 切换到下一个结果:cp // 切换到上一个结果如果你经常使用这两个命令, 你还可以给它们设定快捷键。比如在~/.vimrc中增加如原创 2011-04-05 18:13:00 · 8121 阅读 · 0 评论 -
使用Vim打造IDE--Cscope
可以使用Cscope完成如下功能:查看一个函数在哪里被调用查看变量在哪里被使用查看一个函数调用了哪些函数检查改动,例如增加一个枚举,会产生什么影响检查所有的地方都进行了相应修改,例如给一个函数增加参数在所有文件中对一个全局变量进行改名源文件在目录中的位置哪些文件包含这个头文件Cscope地址: http://cscope.sourceforge.net 解压后编译安装:# ./configure# make# make install 之后,在~/vimrc中增加如下一行: :set csc原创 2011-04-05 18:07:00 · 1528 阅读 · 0 评论 -
使用Vim打造IDE--WinManager
如果希望对taglist和netrw.vim插件进行合理的组合显示,需要使用WinManager这个插件。地址为:http://www.vim.org/scripts/script.php?script_id=95在 ~/.vim 目录下解压winmanager.zip 使用如下命令查看帮助文档::help winmanager 之后,在~/.vimrc中增加如下两行:let g:winManagerWindowLayout='FileExplorer|TagList'nmap wm :WMToggle原创 2011-04-05 17:26:00 · 2315 阅读 · 0 评论 -
使用Vim打造IDE--netrw.vim
如果希望在vim中查看到文件的目录结构,可以使用vim的插件netrw.vim。例如如下打开::e /home/zebra/myprogram/src在使用vim打开一个目录的时候,便会显示文件浏览器。其中一些重要的操作如下:显示帮助 如果光标下是目录, 则进入该目录; 如果光标下文件, 则打开该文件-返回上级目录c切换vim 当前工作目录正在浏览的目录d创建目录D删除目录或文件i切换显示方式R文件或目录重命名s选择排序方式x定制浏览方式, 使用你指定的程序打开该文件原创 2011-04-05 17:21:00 · 9766 阅读 · 0 评论 -
使用Vim打造IDE--tags
使用独立的程序Ctags来产生标签文件,在vim中可以指定标签文件的目录,这样,vim就可以正确的定位标签的位置了。Ctags程序的地址如下: http://ctags.sourceforge.net 之后,和其他程序一样,可以用下面的命令解压并编译安装:# tar -xzvf ctags-5.6.tar.gz# cd ctags-5.6#./configure#make#make install 之后,需要去源代码目录中产生标签文件。例如到最上层目录,在该目录下运行命令: cta原创 2011-04-05 16:43:00 · 807 阅读 · 0 评论 -
使用Vim打造IDE--高亮显示
Vim可以使用一个脚本读入语法高亮的规则,编辑任何文件如下:"========================================================" Highlight All Function"========================================================synmatch cFunction "/[^()]*)("me=e-2synmatch cFunction "//s*("me=e-1hi cFunction原创 2011-04-05 15:52:00 · 1657 阅读 · 0 评论 -
Linux编辑器--vim的tag29.3
由于程序是有结构的,因此vim可以识别其中的项。一些命令可以用于穿梭。 c程序一般具有类似如下的结构: #ifdef USE_POPEN fd=popen("ls","r") #else fd=fopen("tmp","w") #endif但是可能更长,并且有更多嵌套。使得光标在#ifdef然后按下%,vim将跳转到#else,继续按%则跳转到#endif。继续按,则回到#ifdef。 当结构被嵌套,vim能够发现匹配项。这是一个检查你是否忘记#endif的好方法。 当你在#原创 2011-04-05 00:51:00 · 1017 阅读 · 0 评论 -
Linux编辑器--vim的tag29.2
<br /> <br />29.2 之前的window<br /> <br /> <br />当你编辑包含函数调用的代码的时候,你需要使用正确的参数。知道传递什么样的值,你需要查看函数的定义。tags机制非常适合这个。更好的是定义被显示在另外一个window。这样,之前的window可以使用。打开一个之前的window来显示函数"write_char":<br /> <br /> :ptag write_char<br /> <br />vim将会开一个window并且跳转到tag处。之后它将你带到原来的原创 2011-04-05 00:25:00 · 820 阅读 · 0 评论 -
Linux操作系统--用vim打造开发环境
1,配置显示 开始vim,敲入version,这个时候,vim编辑器会显示版本信息。其中有如下信息: system vimrc file: “/etc/vimrc” user vimrc file: "$HOME/.vimrc" 也就是说vimrc这个vim的配置文件,在/etc/vimrc和$HOME/.vimrc中存在。对此,vim的选择是如果/etc/vimrc存在,则按照该配置文件中的配置进行。 配置中常用的有: syntax on原创 2011-03-29 23:34:00 · 969 阅读 · 0 评论