专业编辑器VIMV.ppt

上传人:牧羊曲112 文档编号:5907136 上传时间:2023-09-02 格式:PPT 页数:46 大小:2.56MB
返回 下载 相关 举报
专业编辑器VIMV.ppt_第1页
第1页 / 共46页
专业编辑器VIMV.ppt_第2页
第2页 / 共46页
专业编辑器VIMV.ppt_第3页
第3页 / 共46页
专业编辑器VIMV.ppt_第4页
第4页 / 共46页
专业编辑器VIMV.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《专业编辑器VIMV.ppt》由会员分享,可在线阅读,更多相关《专业编辑器VIMV.ppt(46页珍藏版)》请在三一办公上搜索。

1、專業編輯器VI(vim/gvim)學習,鄭人元2011-6-15Update:2014-08-12,如果你已经在使用vim|Gvim-跳转到32页,子曰:“工欲善其事,必先利其器。”,Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为Unix类系统用户最喜欢的编辑器。Vim的第一个版本由布莱姆米勒在1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的自由软件。Vim总会有很多你想不到的功能,它们总在等你的发现和使用。它的强大

2、总在意料之外。,布莱姆米勒,布莱姆米勒Bram Moolenaar(1961年),生于荷兰南荷兰省利瑟,著名程式设计师,在自由软件界素有盛名。他是vim、A-A-P的作者,也是编程语言 Zimbu 的开发者。右图是2007年12月摄,VIM的定理&格言,定理1:vi是完美的。证明:VI是罗马数字中的6。可以被6整除的自然数是1、2、3。1+2+3=6。因此6是一个完美数。因此,vi是完美的。-Arthur Tateishi定理2:vim比完美更美好。证明:VIM是罗马数字中是代表(1000-6)=994=2*496+2。496可以被1、2、4、8、16、31、62、124、248整除,而且1+

3、2+4+8+16+31+62+124+248=496。因此496是一个完美数。因此,vim是2倍完美+2。也就是VIM比完美更美好。-NathanT.Oelger一则格言:对我来说,vi就是禅。使用vi,就是参禅。每一个命令都是心印。来自内心深处,非有经验不能明白。每一次使用,都会发现真理。-Satish Reddy,开始进入vim图示,开始进入gvim图示,安装在indows上的gvim,上面的文件夹vim74是主要程序与文件的存放处上面的文件_vimrc是indows系统上的设置文件,安装在indows上的gvim,左边是文件夹vim74的内容Autoload是自动装载的运行库Colors

4、是语法高亮的颜色风格。Doc是帮助文件Keymap是快捷键文件Lang是界面语言文件Macros是宏文件Syntax是语法关键字文件Tutor是教程文件根目录上的文件有主程序与主要设置文件,如filetype.vim,vi(vim/gvim)的模式,正常模式(我认为是命令模式)在正常模式中,用户可以执行非常多的编辑器命令,比如移动光标,删除、修改文本等等。这也是Vim启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。Vim强大的编辑能力中很大部分是来自于其正常模式命令。正常模式命令往往需要一个操作符结尾。大多数命令能够灵活组合使用。比那些没有模式的编辑器

5、更加高效的进行文本编辑。对重复操作一般只要加个数字就可以执行多次了。number command object 或者 command number object,vi(vim/gvim)的模式,选择模式这个模式和无模式编辑器的行为比较相似(Windows标准文本控件的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。选择模式的进入一般是用鼠标选择高亮块自动进入的。可视模式这个模式与正常模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到

6、这块高亮的区域上。Vim的文本对象也能和移动命令一样用在这个模式中。可视模式的进入一般是用可视命令进入的。,选择模式与可视模式,可视模式,选择模式,vi(vim/gvim)的模式,插入模式从正常模式进入插入模式有最常见的四种方式:(appendinsert)1,按 i键。在光标所在位置前进入插入模式。2,按 I键。在光标所在行首进入插入模式。3,按 a键。在光标所在位置后进入插入模式。4,按 A键。在光标所在行尾进入插入模式。进入插入模式之后,编辑器最下面行会显示插入的状态同时光标会闪烁。这时的编辑器与一般常见的编辑器没有太大差别。插入模式在这个模式中,大多数按键都会向文本缓冲中插入文本。大多

7、数新用户希望文本编辑器编辑过程中一直保持这个模式。在插入模式中,可以按ESC键回到正常模式。,vi(vim/gvim)的模式,命令行模式就是通过输入:进入的模式。Ex模式这和命令行模式比较相似,在使用:visual命令离开Ex模式前,可以一次执行多条命令。这个模式实际上就是最早的单行编辑器。现在的人可能听都没听过。就是对整个文件的编辑与显示只在一行内进行,实际上很不方便。但执行速度却是最快的。这个模式对大多数人来说是没有什么价值的,只是为了兼容于VI的功能。本人早年使用过单行编辑器,太痛苦,不知自己在干什么。,vi(vim/gvim)的模式,其它模式主要是一些衍生模式操作符等待模式插入正常模式

8、插入可视模式插入选择模式替换模式(按R就能进入改写的模式)(Insert)EVIM模式这几种模式可以当不存在。反正你用熟了VIM之后,不会感觉到有它们的存在。,开始进入vi(vim/gvim),从命令行运行vim(或者vi,或者gvim)在类UNIX系统或Windows系统中的命令行模式下输入vim回车。也可以带参数运行。VIM的参数非常丰富,想了解更多可以输入vim-help输入vim*.c*.h*.asm 之类的命令可以在一个编辑器内打开多个文件。通过GUI直接用gvim打开文件这种方式在类UNIX的X环境与Windows环境都支持。习惯别的编辑器的人更喜欢这种方式。可以在同一编辑器内同时

9、打开多个不同文件。由别的IDE环境调用gvim或vim。IDE设置一下。如果你已经习惯用vim了,非常有必要。系统注册某类文件全部由gvim打开。,保存内容&退出vi(vim/gvim),进入命令行模式1,按ESC键退到正常模式。2,输入:在这个模式下可以输入所有的vim的命令行命令。保存命令保存命令是w退出命令退出命令是q使用:w回车。是保存当前文件。如果你打开了很多文件都没保存可以:wa。:wq回车。是保存当前文件,并退出vim。如果你不想保存就退出可以:q!。,移动光标(正常模式命令模式),要移动光标,请依照说明分别按下 h、j、k、l 键。k 提示 h 的键位于左边,每次按下就会向左移

10、动。l 的键位于右边,每次按下就会向右移动。j j 键看起来很象一支尖端方向朝下的箭头。v 1.请随意在屏幕内移动光标,直至您觉得舒服为止。2.按下下行键(j),直到出现光标重复下行。现在您应该已经学会如何移动到你想到的地方吧。提示如果您不敢确定您所按下的字母,请按下键回到正常(Normal)模式。然后再次从键盘输入您想要的命令。提示光标键应当也能正常工作的。但是使用hjkl键,在习惯之后您就能够快速 地在屏幕内四处移动光标了。,快速 移动光标1(正常模式),词移动命令w,向后移动几个word并在word尾直接按键盘w,若干次。还可以先按数字再按w。如38w就是向后移动38个word还有一个“

11、W”。与“w”相比,大点。命令b,向前移动几个word并在word头直接按键盘b,若干次。还可以先按数字再按b。如38b就是向前移动38个word还有一个B,与b相比。word大点。,粘贴文本命令(正常模式),粘贴文本操作p命令(put)。会把你前面删除或拷贝的内容贴出。如果你删除的是一整行,p 命令把该行插入到光标下方。如果你删除的是一行的一部分(例如一个单词),p 命令会把它插入到光标的后面。P 命令象 p 一样也是插入字符,但插入点在光标前面。当你前面删除或拷贝的是一行,P 会把它插入到光标所在行的前一行。而当你前面删除或拷贝的是非整行,P 会把它插入到光标前面。p 和 P 命令接受计数

12、前缀,被插入的文本就会被插入指定的次数。所以 3p 会把删除内容的三个拷贝插入到文本中。,选项配置,配置文件参考:$VIMRUNTIME/vimrc_example.vim 和帮助文件。在windows系统中大家要建立配置文件:在你的VIM安装目录下如:“C:Vim”建立一文件_vimrc。如果是类UNIX系统则在你的$Home目录下建立一个.vimrc文件。set nocompatible(设成非与VI兼容的模式)set nu(显示行数)set cin(打开自动C程序缩进)set ai(开启新行自动缩进)set mousehide(输入字符时隐藏鼠标指针)set guifont=Termin

13、al:h17:(设GUI字体)source$VIMRUNTIME/vimrc_example.vimsource$VIMRUNTIME/mswin.vimsource$VIMRUNTIME/colors/ron.vimbehave mswin,设置文件类型,设置文件类型的文件filetype.vim下面文件的高亮部分是我加入的*.vb文件类型的自动加载,分割窗口命令,分割窗口操作:split命令(:sp)。这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中。等同于CTRL-W sCTRL-W w 命令可以用于在窗口间跳转。:close命令(:clo)。用于关闭窗口。等同于CTRL-W c:o

14、nly命令。这个命令关闭除当前窗口外的所有窗口。如果要关闭的窗口中有一个没有存盘,Vim 会显示一个错误信息,并且那个窗口不会被关闭。等同于CTRL-W o要扩大窗口高度:CTRL-W+要缩小窗口高度:CTRL-W-要扩大窗口宽度:CTRL-W 要缩小窗口宽度:CTRL-W,分割窗口命令,分割窗口操作如果你已经在一个VIM中打开了多个文件,你可以用:sba命令。这个命令把屏幕分解成多个窗口并打开各个不同的文件。:copen命令可以打开编译窗口。如果你的当前目录下有makefile文件。你可以运行:make命令来编译你的项目。在这个编译错误窗口里你还能跳转到错误的相应文件行。如果我用CTRL+V

15、 打开了两个文件,并且我想比较下这两个文件的不同,可以在左边窗口输入:diffthis.然后CTRL+W w跳到右边窗口输入:diffthis。,折叠命令,什么是折叠?折叠用于把缓冲区内某一范围内的文本行显示为屏幕上的一行。就像一张纸,要它缩短些,可以把它折叠起来:折叠的好处是,通过把多行的一节折叠成带有折叠提示的一行,会使你更好地了解对文本的宏观结构。把光标置于某一段落内,并键入:zfap。你会看到这一段变成了一行。|zf|是个操作符,而|ap|是一个文本对象。你可以将|zf|操作符跟任何一个移动命令联用,为所经之处的文本创建一个折叠。|zf|也能在可视模式下使用。zo打开该折叠命令。要若要

16、再阅读那些文本,可以键入这个命令以打开该折叠。你还可以再用zc命令关闭折叠。所有的折叠命令都以 z 开头。展开你的想像力,这个字母看起来就像一张折叠起来的纸的侧面。,折叠命令,折叠功能而 z 后面可用的字母,由于采用了帮助记忆方法选择,很容易记得住:zfF-old creation(创建折叠)zoO-pen a fold(打开折叠)zcC-lose a fold(关闭折叠)假定你已经创建了若干折叠,而现在需要阅览全部文本。你可以移到每个折叠处,并键入zo。若要做得更快,可以用这个命令:zr。相反的操作是:“zm”这将折叠更多(M-ore)。如果你有一个嵌套了好几层深的折叠,你可以用这个命令把它

17、们全部打开:zR这将减少折叠直至一个也不剩。而用下面这个命令你可以关闭所有的折叠:zM这将增加折叠,直至所有的折叠都关闭了。用 zn命令快速禁止折叠功能。然后zN恢复原来的折叠。zi 切换于两者之间。还有按语法折叠功有等。,录制宏命令,录制宏功能(正常模式)Vi:没有记录功能q0-9a-zA-Z命令。在寄存器 0-9a-zA-Z 里记录键入的字符(大写名字的寄存器表示附加键入的内容)。q命令不能在执行寄存器时使用。同样,在映射里也不能。q命令停止记录。(注意 实现细节:停止记录的 q不会被保存在寄存器里,除非它是映射的结果)。0-9a-z.=*执行寄存器 0-9a-z.=*的内容count 次

18、。注意 不能用寄存器%(当前文件名)和#(轮换文件名)。=则会提示你输入一个表达式。这个表达式的结果会被执行。:重复上次的命令行。例子:qa输入i做n步操作,完成后按ESC,再按q.输入a就执行了刚才录的a宏。就是“输入i做的n步操作”。如果你想执行29次a宏,只要输入29a,自增自减命令,自增自减宏功能(正常模式)比如我们要把所有的年份数据全部加上一年。或减去三年。1,/190-90-9|200-90-9回车2,这时你只要按CTRL+A就能在当前年份上自动加一。3,如果你按3CTRL+X就能在当前年份上自动减三。【说明】在类UNIX系统中上述命令是可行的,但在Windows系统上你按CTRL

19、+A却是选择全部文字的功能。这时你要去VIM的官方网站去下一个脚本文件“speeddating.vim”到你的VIM安装路径上就可以了。对于上面的情况,我们对下一数据的操作只要按下n就会跳下下一个年份,再按.就会执行上一次执行的操作。,竖块编辑命令,竖块编辑功能(正常模式)在类UNIX系统中按CTRL+V命令进入竖块的可视化模式,在Windows系统上你要按CTRL+Q命令进入竖块的可视化模式。这是你可以用h,j,k,l,w,e,等等功能移动光标。拖动竖块的大小。你可以对选择的竖块范围内的数据进行x剪切,剪切之后p粘贴。可以用r命令把选中的内容全部改写。可以用命令把选中的内容全部大写改小写,小

20、写改大写。,自己的书签,位置标记功能(正常模式)命令ma-zA-Z把位置标记 a-zA-Z 设在当前光标位置(不移动光标,这不是动作命令)。m或m设置前次上下文标记。以后可以用 或者 跳转到这个位置(不移动光标,这不是动作命令)。m或m设置 或者标记。可以用在执行多个命令的操作符的定义中。(不移动光标,这不是动作命令)。:rangemark a-zA-Z把位置标记 a-zA-Z 设在 range 的最后一行,第 0列。缺省的 range 是当前行。:rangeka-zA-Z和:mark相同,但空格可以省略。你要跳到你上面自己做的书签,用a-z就会跳转到当前缓冲区的位置标记。(到当前句子的开始处

21、,)到当前句子的结尾处,到当前段落的开始处,到当前段落的结尾处。,在整个工程中跳转,标签文件功能(SourceInsight3.5用过否)标签文件是外部程序创建的,比如 ctags。对每个函数,它会包含一个标签。有些版本的 ctags 会为每个#define 宏、类型等价定义(typedef)、枚举(enum)等也创建标签。能产生标签文件的程序有:ctags,exuberant ctags,etags,JTags,ptags.py,ptags,gnatxref等等。你要下载一个最近的ctags程序放到VIM的安装目录下。在命令行模式运行:!ctags-R.这样会生成一个在当前路径上的tags文

22、件。在你编辑程序时如果有个常量定义记不清楚了,想看一下。或者函数定义想看一下,就非常方便了。CTRL+命令直接跳转到你光标所在的字符串的定义处,或者你调用的函数的原型中。不在同一文件中也是快速跳转。跳回你刚才的位置只要用CTRL+T,在整个目录中搜索,目录中搜索功能(很多IDE都有这功能):vimgrep!/pattern/gj file.在文件 file.里搜索模式 pattern,并用匹配结果设置错误列表。如果没有 g 标志位,每行只加一次。如果有 g,每个匹配都被加入。pattern 是 Vim 的搜索模式。除了用/之外,任何非 ID 字符(见|isident)都可以用来包围该模式,只要

23、在pattern 里不出现就行了。适用 ignorecase。要否决该设置,在模式里用|/c|来忽略大小写或|/C|来匹配大小写。不使用 smartcase。如果命令前面带数字,它定义要寻找的最大匹配数目。这样,:1vimgrep pattern file 只会找到第一个。这可以用于只想检查是否有匹配而在找到后能快速退出的场合。如果没有 j 标志位,Vim 跳到第一个匹配上。如果有 j,只更新 quickfix 列表。如果有!,放弃当前缓冲区的任何修改。大约每过一秒,显示正在搜索的文件名,让你了解当前的进展情况。例如:vimgrep/an error/*.c*.h:vimgrep/*.h in

24、clude/*:vimgrep/myfunc/*/*.c这时你可以打到信息窗口。:copen命令打开。:cp找前一个,:cn找后一个。,目 录 探 索 命 令,目录探索命令:NExplore!dir.探索当前文件所在的目录:NHexplore!dir.水平分割并探索:Rexplore.返回到浏览器:NSexplore!dir.分割并探索当前文件所在的目录:Texplore dir.建立新标签页并探索:NVexplore!dir.垂直分割并探索 用于:Explore*/模式:(另见|netrw-starstar|):Nexplore.转到下一个匹配的文件:Pexplore.转到前一个匹配的文件!

25、使用垂直分割。:Rexplore 此命令和其它的有所不同。当用在 netrw 浏览器窗口的文件上按 等方式编辑文件时,:Rexplore 会重新显示上次的 netrw 浏览器窗口。它是 的命令行版本(后者只有在 gvim 和有相应支持的终端才存在)。,VIM的高级应用,使用Scripts使用网络上别人编写好的脚本。选择自己有用的脚本。安装与配置使用的脚本。解决不同脚本之间的冲突。自己编写Scripts(编程)。对自己特殊的需求,编写脚本,提高效率。不同操作系统上的VIM的使用。不同操作系统的功能键,与配置不同。,网站上有可爱的人编写的Scripts,增加功能,左边的网页中,点左边List表中的

26、Scripts,我们看到的Script之类的最大的下载量的两个脚本是taglist.vim 和 The NERD tree下面的页就介绍其中的NERDTree 命令集。,www.vim.org上有可爱的人编写的Scripts,脚本分类color Schemeftplugingameindentsyntaxutilitypatch,安装上页的脚本的方式,大多数只要COPY相关的文件到路径$VIMVIM74有的要COPY到$VIMVIMfiles如:cvim的脚本控件。如Ctags的控件。COPY文件ctags.exe到$VIMVIM74就可以使用ctags工具。见43Page,几个脚本的安装使用

27、-taglist,taglisttaglist_46.zipctags.exectags.exe,taglist安装与说明,taglist安装细节1.下载taglist.zip文件并将文件解压缩到$HOME/.Vim或$HOME/vimfiles或$vim/vimfiles目录。在这一步之后,你应该有以下两个文件(目录结构应该被保存):plugin/taglist.vim-主要taglist插件文件 doc/taglist.txt-文件(帮助)文件参考|add-plugin|,|add-global-plugin|和|runtimepath|Vim 帮助更多有关安装页。2.切换到$HOME/.

28、vim/doc或$HOME/vimfiles/doc或$VIM/vimfiles/doc目录下,启动Vim并运行:helptags命令即可处理标签列表帮助文件。如果没有这一步,你不能跳转到标签列表帮助主题。3.如果扩展的ctags.exe工具不存在你的PATH中,请设置Tlist_Ctags_Cmd变量指向扩展的ctags.exe实用工具的位置(不要目录)在.vimrc文件中。4.如果你正在运行的Vim终端/控制台版本和终端不支持改变窗口宽度,请设置Tlist_Inc_Winwidth变量为0,在.vimrc文件中。5.重新启动Vim。6.现在你可以使用:TlistToggle命令打开/关闭的

29、标签列表窗口。你可以使用:help taglist命令来获得更多信息有关使用标签列表插件。,运行之后的taglist,几个脚本的安装使用-NERD tool,The NERD treeThe NERD Commenter,几个脚本的安装使用-csv,CSV(A Filetype plugin for csv files)SrcExpl-5.3.zipV5.3TrinityTrinity-2.1.zipV2.1,CSV,几个脚本的安装使用-SrcExpl,有,灵活的“”,左边的窗口列出的路径上的文件,用键盘的回车键也可以打开,用鼠标也能打开。右上的窗口是主文件的编辑窗口。与普通vim的窗口一样。右下的窗口是编译窗口,如果用自己的MakeFile编译,能方便查看出错信息,也可以用vim查找不同文件之间的字符串(如同左图)。用cn命令可以自动跳转到下一个“出错”位置。,Thanks!,My Email:Email2:欢迎您的批评指正,转发。也欢迎新功能的交流。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号