免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1058 | 回复: 0
打印 上一主题 下一主题

Vim 用法小结 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-20 16:03 |只看该作者 |倒序浏览

                 最近准备看内核源码之USB驱动部分,但苦于每次查找函数都用{ grep -R "fun" ./ }
忽略了Vim的简洁方面功能强大之特性,随上网查找一些资料,并把以前自己的经常用的命令做个记录,算是个笔记吧(目前所用版本为7.0.109)
一.常用命令:
    1. j         下移一行.
    2. k         上移一行.
     3. l         右移一个字母.
    4. :args       显示当前编辑的文件名
    5. :args filename     打开需要编辑的文件名.
    6. :sp filename       分屏(上下)打开多个文件.可以用ctrl + w(连续按两次) 在不同窗口切换. :vsp filename  分屏(左右)打开多个文件   
    7. :syntax on  语法加亮. 当然 :syntax off 就是相反过程了.
    8. ctrl + o    回到光标所在位置.
    9. :set autoindent  自动缩进.
    10. :s/abc/ABC      把abc 替换成ABC(替换一行)
    11. :%s/abc/ABC     把abc 替换成ABC(所有行,但同一行出现两次,只替换第一次出现的)
    12. :iab ( ( )      插入一个左括号,会自动补全右括号.
    13.  u                 返回原来的修改记录.
    14.  i  or o or a       进入插入状态.
    15.  :q!           不保存强制退出.
    16.  :x              保存退出
    17.  :X            给当前文件加密
    18.  dd            删除一行.
    19. :set nu      显示行号 :set nonu 不显示行号
    20. : numa, numb d 删除行numa 到 行numb之间的内容.
    21. : numa, numb co numA  复制行numa 到 行numb之间的内容至 numA处
    22. : numa, numb mo numA  移动行numa 到 行numb之间的内容至 numA处   
   
    PS: 暂且想到这些,等以后想到在补充.
二. 配合插件
   1. 下载taglist_45.zip 放到 usr/share/vim/vim70/plugin/ 目录,然后解压.
不同机器安装,可能目录不一样的.
   2. 可以使用:Tlist 来在左边显示函数列表,变量等. 使用ctrl+ w ,跳到函数列表窗口,可以使用p来显示函数右边源文件函数或者变量等. 在使用Enter键跳到左右函数实现处.
   3. 没有在windows搞过VS2005.所有经常看到别人点击一个函数或者变量名,就可以跳到函数或者变量的声明处.经常有人问我linux可不可以,我说可以,但是需要插件,一直没有去做的(主要是懒).今天搞了一下,发现挺不错的.下次再也不怕别人问了:) 具体步骤如下(还是写我看源码的文件吧):
     (1): 进入目录()
         [color="#000000"]cd /usr/src/linux
    (2): 执行命令
         ctags -R --c-types = +px (具体可以查看ctags --help)
     (3): 会在当前目录生成一个tag文件(大小为73M,内核版本是2.6.20.8)
        可以把这个tag文件的目录加到vim配置文件中,不然你在另外一个目录打开源文件的时候,使用ctrl +] 定义函数的时候,会提示你找不到tag文件的.
         set [color="#000000"]tags=/usr/src/linux/tags. 当然如果你在有tag目录下面打开文件的话,可以不用加这个的.
     (4)
[color="#000000"]: 查找函数定义或者实现的方法:
         最方便的方法是把光标移到变量名或函数名上,然后按下" Ctrl-]";用"Ctrl-o"退回原来的地方。用 Ctrl-]延着调用树向前跳转, 用Ctrl-t向回跳转
         如果你找的函数不止一个,可以用:tnext来跳到下一个,直到找到你需要的:)
     先到这里. 以后在补充.看代码去:)

      
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13169/showart_446500.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP