1. 首页
  2. 课程学习
  3. 讲义
  4. vim使用进阶

vim使用进阶

上传者: 2018-12-25 15:28:12上传 PDF文件 870.83KB 热度 51次
介绍vim的进阶使用方法,提高使用vim的文本编辑效率目录1.目录...2.序言..··.·:··:······3.使用会话( session)和 liminf1584. vImrc初步105.保存项目相关配置116.使用标签(tag)文件177.使用 taglist插件218.文件浏览和缓冲区浏览9.使用1 ookupfile插件.··3010.开启文件类型检测3511.乱花渐欲迷人眼一语法高亮,,,,3812.程序员的利器- cscope4213.剑不离手- quickfix4614.智能补全5015.自动补全....·..::··5616.指随意动,移动如飞(一).鲁鲁鲁鲁···.······.··17.指随意动,移动如飞()18.在vim中使用gdb调试6919.Vvim编译中遇到的问题及解决方法77第1章目录本系列文章,是原来我在CSD的Easwy专栏Chttp://blog.csdnnet/easwy]撰写的"使用VIM开发软件项目”系列Easwy的博客Chttp://easwy.com/blog/]搬家以后,就把CSDN上的文章全部移到此处写本系刎文章的最初想法,是介绍如何用vim开发软件。但纵观整个系列,讲述的其实和软件开发关系并不大,基木都在讲vim的使用技巧、vim的配置及 V1mrc、vim的命令和vim的插件。因此,把文章移到新站后,我把本系列的名宇改为"νim使用进阶",希望大家一如既往的攴持该系列本文是这一系列文章的总目录,可白此访问本系列所有文章。我使用 docbook重新整理了下这些文章,你可以在这里下载htm1版本的vim使用进阶2009年前文章打包Chttp://easwy.com/blog/uploads/vim/advancedvimskillshtmlzip现在也提供PD版本Chttp://easwy.com/blog/uploads/vim/advancedvimskillspdf.zip下载。[目录]vim使用进阶:序言「http://easwy.com/blog/archives/advanced-vim-skills-prologue/1本文是本系列的序言,讲述我使用vim经历和心得,以及对vim初学者的一些建议。文中的抓图展示了我的vim使用环境。vim使用进阶:使用会话和liminf[htp://easw.com/blog/archives/advanced-vim-skills-session-file-and-viminfo/本文介绍如何使用vim的会话( session)和 viminfo来恢复vim的使用环境。如果你需婁经常恢复到相同工作环境,此功能非常有用,你不必一次次重新打开文件、设置你的工作环境vim使用进阶vimrcijiyChttp://easwy.com/blog/archives/advanced-vim-skillsintroduce-vimrc/]本文简要介绍了 v1mrc的知识以及如何使用 v1mrc保存vim的配置。文中还提供了一些链映射(map),使用这些映射可以快速编辑和加载 vImrc。关于 vImrc的更多应用,参见本系列其它文vim使用进阶:保存项目相关配置Chttp://caswy.com/blog/archivcs/advanccd-vim-skills-save- project-configuration本篇主要以path选项为例,讲述如何保存和恢复项目相关的配置。在使用vim的过程中,你可能同时打开几个 project,每个 project的配置可能都不相同,文中介绍了两种方法来保存每个project自身的独有配置。一种是使用一个固定的vim配置脚本保存 project相关的path设置按键映射等:另外一种是利用前面文章所介绍的会话( session)机制。vim使用进阶:使用标签(tag)文件Chttp://easwy.com/blog/archives/advanced-vim-skills-use-ctags-tag-file/j本文介绍了如何使用 Exuberant ctags生成tag文件以及在vim中如何使用tag文件进行跳转、查找等操作。还简要介绍了tag文件的格式,在后面介绍的 Loakupfile插件中,会利用tag文件便捷的查找、打开文件vim使用进阶:使用taglist插件Chttp://easwy.com/blog/archives/advanced-vim-skillstaglist-plugin/目录本文介绍如何使用 taglist插件( plugin)来查看程序中的标签(tag),并介绍了 taglist插件的配置和用法。τ ageist插件利用 Exuberant ctags程序生成标签文件,并提供偬 Source insight那样的标签窗口,可以方便的跳转到函数、变量等标签所在的位置。vim使用进阶:文件浏览和缓冲区浏览Chttp://easwy.com/blog/archives/advanced-vinskills-netrw-bufexplorer-winmanager-plugin,本节介绍了如何在vim中浏览文件,以及如何查看当前打开的缓冲区。利用 netw插件,可以方便的在vim中浏览各个目录、打开指定文件,而不用切换到文件浏览器或 shell:当然, netw插件的作用并不仅仅局限于此。利用 bufexplorer插件,则可以方使的查看打开的缓冲Ⅸ( buffer),在缓冲区问进行切换。本文的最后介绍了 Winmanager插件,使用这个插件,可以把netw插件、 bufexplorer插件和 taglist插件整合起来,使vim看起来更像一个集成开发环境(IDE)。vim使用进阶lookupfile插件「http://easwy.com/blog/archives/advanced-vim-skills-lookupfile-plugin/]如果你在开发一个大的项目,当你想在一大堆文件中査找或者编辑指定文件时, Lookupfile插件是必不可少的。使用它,可以快速查求项目文件、可以在缓冲区查找指定文件、可以浏览指定目录等。在査找时甚全可以使用正则表达式( regex),在你只记得部分文件名或目录名时这可是救命的手段vim使用进阶:开启文件类型检测Chttp://easwy.com/blog/archives/advanced-vim-skillsfiletype-on/vim最吸引人的一点是,它支持无穷多的文件类型,而且能够随意扩展。在本文主要介绍如何打开文件类型检测的功能,以及如何使用基于文件类型的插件( filetype plugin)。正因为有了文件类型检测的功能,我们才可能针对不同的类型的文件,定义不同的键映射(uaυ)、设置不冋的选项,进行语法高亮的染色(后续文章中介绍)..你可以实现任意你想实现的功能vim使用进阶:乱花渐欲迷人眼一语法高亮http://easwy.com/blog/archives/advancedvim-skills-syntax-on-colorscheme/VIM并不是只有黑色两色。正相反,它提供了非常灵活的机制允许月户自定义色彩。运行在终端中的VIM,由于终端本身的限制,只能使用若干种圊定的颜色:但对于GVIM来洴,你可以根据你的喜好调出任意的颜色。本文介绍的,止是vim的语法高亮功能。vim使用进阶:程序员的利器cscope[http://easwy.com/blog/archives/advanced-vinlskills-cscope在前面的文章中介绍了利用 ctags生成的tag文件,跳转到标签定义的地方。但如果想查找函数在哪里被调用,或者标签在哪些地方出现过, ctags就无能为力了,这时需要使用更为强大的cscope。本文就介绍如何使用 cscope,有∫它,你可以把 source insight抛到一边去了。vim使用进阶:剑不离手-quickfix[htp://easwy.com/blog/archives/advanced-vimskills-quickfix-mode/vim由一个程序员开发,并且为更多的程序员所使用,所以vim对开发人员的强大支持,也就可以理解了。 quickfix模式的引入就是一个例子。 quickfix模式,是一种加速你开发的工作方式,使你不必离开vim,就可以快速的完成"编辑-编译-修正"你的程序。它不仅仅对开发人员有用,只要你的工作有类仪″编辑-编译-修正"的过程,它就可以极大的简化你的工作vim使用进阶:智能补仝Chttp://easwy.com/blog/archives/advanced-vim-skills-ominlete目录使用过 Source Insight的人一定对它的自动补全功能印象深刻,在很多的集成开发环境中,乜都支持自动补全。vim做为一个出色的编辑器,这样的功能当然少不了。本文主要介绍vim的ONI补全。将在下一篇中介绍其它的补全方式vim使用进阶:自动补全Lhttp://caswy.com/blog/archivcs/advanccd-vim-skills-automplete/本文继续介绍vim的补全功能。作为一个通用的编器,vim实现的补全功能并不仅仅限于对程序的补全,它可以对文件名补全、根据字典进行补全、根据木缓冲区或其它缓冲区类似的内容进行补全、根据文件语法补全等等,它甚至允许用户自己编写函数来实现定制的补全。本文简要介绍了这些补全的方法。·vim使用进阶:指随意动,移动如飞(一)thttp://easwy.com/blog/archives/advanced-vimskills-basic-movc-mcthod/VIM提供的移动方式多如牛毛,但我们并不需要掌握全部这些命令,只需要掌握最适合自己的那些命令。本文介绍了最常用的一些移动命令,在下篇文章中将介绍更高级的移动方法·vim使用进阶:指随意动,移动如飞(:)http://easwy.com/blog/archives/advanced-vimskills-advanced-move-method/本文介绍如何在vim中移动,主要涉及如何使用跳转表(jump- motions)、使用标记(mark)、使用折行(fold),以及如何在程序中移动。vim使用进阶:在VIM中使用GDB调试http://easwy.com/blog/archives/advanced-vim-skills-vim-gdb-vimgdb/]本文介绍了如何使用 vimgdb补丁在vim中用gdb凋试程序,同时还介绍了vim的编译方法。然而,vim只是一个编辑器,而不是一个集成开发环境(IDE),所以它对调试的支持很有限。vim使用进阶:ⅴim编译中遇到的冋题及解决方法Chttp://easwy,com/blog/archives/advanced-vim-skills-solve-compile-problem/本文主要介绍νim编译中遇到的问题及解决办法。文中介绍了如何通过看 config.log,来了解配置失败的原因。有些网友编译图形化的gvim失败,可以参照本文的方法解决。·vim使用进阶:在vim中使用拷贝/粘贴未完待续vim使用进阶:映射自己的vim按键米完待续·vim使用进阶:巧用vim的缩写功能未完待续·vim使用进阶:强大的自动命令( autocad)未完待续°vim使用进阶:在vim中使用gdb调试(二)未完待续,介绍 clewvim使用进阶:在vim中使用gdb调试(三)未完待续,介绍 pyclewn·其它你感兴趣的话题未完待续目录原创文章,转载请注明:转载自Easwy的博客[htp:/easwy.com/blog/本文链接地址http://easwy.com/blog/archives/advanced-vim-skills-catalog第2章序言<<返回vim使用进阶:目录从初次接触vim,到现在已经有好些年时间了。在软件开发中使用vim,不过是近两年的事情。对vim的了解远远算不上深入,不过还是把自己使用vim的一些经验写出来,希望对vim用户有所帮助。本系列文章介绍我自己使用im的一些经验,主要包括vim使用技巧、√im配置、im命令、vim插件等內容。本篇是序言,务虚为主。在使用vim进行软件开发之前,我使用的工具是 SourceInsight,相信大家并不陌生。 Source Insight是一个不错的工具,特别是在浏览代码方面。在面对成百上千个文件组成的陌生源代码时,使用 Source Insight可以让你很快的了解软件的主体流程、调用关系、类型定义。使用 Source Insight写代码也不错,它的自动补全功能很强,似乎使用拷贝、粘贴,加上自动补全,就可以完成代码了。不再使用 Source Insight的原因有二个,一是 SourceInsight只支持 windows,不能在 Linux上用;是不想再用盗版的 Source Insight.。在决定使用vim前,也在vim和 emacs犹豫了很久,最终懒惰的天性让我放弃了 emacs:实在是不习惯在移动光标时,也要用两只亍按住CTRL/ALT/ SHIFT再加个什么键:我的天性喜欢偷懒,能用一个手指做的事,不想用两个手指完成。所以最终选择了使用vim。现在感觉,Vim和 emacs在文本编辑方面不分伯仲。 emacs的优势,在于它的可扩展性,使它可以完成很多和文本编辑无关的事情;不过这也造成了它的过于庞大。刚改用vim,最不适应的是不能冉用鼠标指哪儿打哪儿∫(vim当然支持鼠标,只是双手在键盘、鼠标间切换,很是影响效率),然后是拷贝、粘贴,然后是查看调用关系,函数间跳转,再然后总之,刚开始的一段时间非常痛苦,效率也非常的低,甚至总是想着放弃。经过这段时间以后,逐渐摸到一些窍门,也渐渐的知道到哪里去寻求帮助,在哪儿可以找到vim的资源,工作效率一点点提升了上来。到现在,工作中已经离不开vim了,vim成了计算机中缺省的文本编辑工具!其实,对vim和 emac s这样的工具来说,它们最强大之处,在于它们的可定制性。由于它们的可定制性,你完全可以定出个符合你自己编辑习惯的编辑器,在这样一个编辑器里,你的工作效率将达到最高。当然,要达到这样的境界,你需要付出非常坚吉的努丿!如果你的工作是以文本编辑为主,例如,你是一个程序员,那么付出这种努力是值得的,也是有回报的。如果你没有很多文本编辑工作要做,那么也没有必要耗费这么大的力气,来学习这些工具。最后对vim的初学者提一些建议:1.如果你的工作以文本编辑(不是指 Microsoft word中的文本编辑)为主,那么学习vim或 emacs是值得的:2.刚开始使用vim或macs的经历是很痛芒的,因为它们可能完成不同于你已经习惯的 windows编楫器。我的建议是:坚持下去!咬牙坚持下去!你会获得回报的。3.vim手册( help files)是学习如何高效使用vim的重要资源,一定要多读手册。如果你是因为害怕读英文手册而不肯学习vin的话,那么,到vim中文文档下载vim7.0的中文手册,安装好后,再使用"help@en"命令,你就可以看到中文手册了。4.如果你是第一次接触vim,那么使用": help tutor"或": help tutor@cn",你就会看到一个30分钟的vim教程,会教会你vim的些基本命令。序言5.有时间的话,一定要阅读一下 Bram moolenaar(vim的作者)写的 Seven habits of effectivevidoc. sourceforge,net/下载PDF格式的手册,在附录二你可以看到它的中文详方htup:/text editing(七个有效的文本编辑习惯),你可以知道怎样提高你的编辑效率。在l本系列文章都针对vim7.0版本,如果这里介绍的功能在你的vim中不存在,不妨升级到7.0后再试一次。我以 Linux版本的vim7.0为例。vim也有支持 windows的版本,可以到vim主页下载预编译的的 windows版vim7.0。文章尽量不涉及具体的软件源代码,如果确实需要,则以vim7.0的源代码为例。此代码可以也可以在vim主页下载,我把它解压在src/vim70目录下。后续文章以此目录为例进行讲解。附图是我所使用vim环境,在这副图中,我打开了三个标签页,一个是主编程区,一个是打开的. VImrc文件,另外一个是草稿区。在主编程标签页中有几个不同的窗口,分别是当前打开的buffer,当前文件中的tag,hclp窗口,lo0 kufil窗口,src/main.c和src/edit.c。其中使用了三个vim插件( plugin): winanlager, taglist, lookupfile。i-a kela tileit eiii点击查看大图从这副图中可以看出vim的一些特性:多标签支持(tab)、多窗口支持、插件支持( plugin)、法高亮功能( syntax)、文本折叠功能( folding)这些特性,以及其它数不清的特性,我都将在后续文章中尽量给予介绍上图是GUI界面的ⅴim,下图是控制台( console)下的vim的抓图。这是我通常的开发方式:使用 putty远程登录到 linux服务器上,使用控制台的vim开发软件:序言点击查看大图对vim的了解有限,请多指教<<返回vim使用进阶:目录原创文章,转载请注明:转载自Easwy的博客[htp://easwy.com/blog/本文链接地址http://easwy.com/blog/archives/advanced-vim-skills-prologue
用户评论