




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专业编辑器VIMPPT课件專業編輯器VI(vim/gvim)學習鄭人元2011-6-15Update:2014-09-10如果你已经在使用vim|Gvim-跳转到32页专业编辑器VIMPPT课件子曰子曰:“:“工欲善其事工欲善其事, ,必先利其器。必先利其器。”Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为Unix类系统用户最喜欢的编辑器。Vim的第一个版本由布莱姆米勒在1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行
2、的自由软件。Vim总会有很多你想不到的功能,它们总在等你的发现和使用。它的强大总在意料之外。专业编辑器VIMPPT课件布莱姆米勒布莱姆米勒Bram Moolenaar (1961年),生于荷兰南荷兰省利瑟,著名程式设计师,在自由软件界素有盛名。他是vim、A-A-P的 作 者 , 也 是 编 程 语 言 Zimbu 的开发者。右图是2007年12月摄专业编辑器VIMPPT课件VIM的定理&格言定理1:vi是完美的。 证明:证明:VIVI是罗马数字中的是罗马数字中的6 6。可以被。可以被6 6整除的自然数是整除的自然数是1 1、2 2、3 3。1+2+3=61+2+3=6。因此因此6 6
3、是一个完美数。因此,是一个完美数。因此,vivi是完美的。是完美的。 -Arthur Tateishi定理2:vim比完美更美好。 证明:证明:VIMVIM是罗马数字中是代表是罗马数字中是代表(1000-6)=994=2(1000-6)=994=2* *496+2496+2。496496可以被可以被1 1、2 2、4 4、8 8、1616、3131、6262、124124、248248整除,而且整除,而且1+2+4+8+16+31+62+124+248=4961+2+4+8+16+31+62+124+248=496。因。因此此496496是一个完美数。因此,是一个完美数。因此,vimvim是是
4、2 2倍完美倍完美+2+2。也就是。也就是VIMVIM比完美更美好。比完美更美好。 -NathanT.Oelger一则格言: 对我来说,对我来说,vivi就是禅。使用就是禅。使用vivi,就是参禅。每一个命令都是心印。来自内,就是参禅。每一个命令都是心印。来自内心深处,非有经验不能明白。每一次使用,都会发现真理。心深处,非有经验不能明白。每一次使用,都会发现真理。 -Satish Reddy专业编辑器VIMPPT课件开始进入vim图示专业编辑器VIMPPT课件开始进入gvim图示专业编辑器VIMPPT课件安装在indows上的gvim上面的文件夹vim74是主要程序与文件的存放处上面的文件_v
5、imrc是indows系统上的设置文件专业编辑器VIMPPT课件安装在indows上的gvim左边是文件夹vim74的内容Autoload是自动装载的运行库Colors是语法高亮的颜色风格。Doc是帮助文件Keymap是快捷键文件Lang是界面语言文件Macros是宏文件Syntax是语法关键字文件Tutor是教程文件根目录上的文件有主程序与主要设置文件,如filetype.vim专业编辑器VIMPPT课件vi(vim/gvim)的模式正常模式(我认为是命令模式) 在在正常正常模式中,用户可以执行非常多的编辑器命令,比如移动光标,删模式中,用户可以执行非常多的编辑器命令,比如移动光标,删除、修
6、改文本等等。这也是除、修改文本等等。这也是VimVim启动后的默认模式。这正好和许多新用启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。户期待的操作方式相反(大多数编辑器默认模式为插入模式)。 VimVim强大的编辑能力中很大部分是来自于其强大的编辑能力中很大部分是来自于其正常正常模式命令。模式命令。正常正常模式命模式命令往往需要一个操作符结尾。大多数命令能够灵活组合使用。比那些没令往往需要一个操作符结尾。大多数命令能够灵活组合使用。比那些没有模式的编辑器更加高效的进行文本编辑。对重复操作一般只要加个数有模式的编辑器更加高效的进行文本编辑。对重复操作一
7、般只要加个数字就可以执行多次了。字就可以执行多次了。 numbernumber command command objectobject 或者或者 command number object专业编辑器VIMPPT课件vi(vim/gvim)的模式选择模式 这个模式和无模式编辑器的行为比较相似(这个模式和无模式编辑器的行为比较相似(WindowsWindows标准文本控标准文本控件的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,件的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,不过输入任何字符的话,VimVim会用这个字符替换选择的高亮文本会用这个字符替换选
8、择的高亮文本块,并且自动进入插入模式。块,并且自动进入插入模式。 选择模式的进入一般是用鼠标选择高亮块自动进入的。选择模式的进入一般是用鼠标选择高亮块自动进入的。可视模式 这个模式与这个模式与正常正常模式比较相似。但是移动命令会扩大高亮的文本模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。移动命令时,命令会被执行到这块高亮的区域上。VimVim的的 文本对文本对象象 也能和移动命令一样用在这个模式中。也能和移动命令一样用在这个模式中。 可视模式的
9、进入一般是用可视命令进入的。可视模式的进入一般是用可视命令进入的。专业编辑器VIMPPT课件选择模式与可视模式可视模式选择模式专业编辑器VIMPPT课件vi(vim/gvim)的模式插入模式 从从正常正常模式进入插入模式有最常见的四种方式:模式进入插入模式有最常见的四种方式:(a appendppendi insertnsert) 1 1,按,按 i i 键。在光标所在位置前进入插入模式。键。在光标所在位置前进入插入模式。 2 2,按,按 I I 键。在光标所在行首进入插入模式。键。在光标所在行首进入插入模式。 3 3,按,按 a a 键。在光标所在位置后进入插入模式。键。在光标所在位置后进入
10、插入模式。 4 4,按,按 A A 键。在光标所在行尾进入插入模式。键。在光标所在行尾进入插入模式。 进入插入模式之后,编辑器最下面行会显示插入的状态同时光标会闪烁。进入插入模式之后,编辑器最下面行会显示插入的状态同时光标会闪烁。这时的编辑器与一般常见的编辑器没有太大差别。这时的编辑器与一般常见的编辑器没有太大差别。 插入模式在这个模式中,大多数按键都会向文本缓冲中插入文本。大多插入模式在这个模式中,大多数按键都会向文本缓冲中插入文本。大多数新用户希望文本编辑器编辑过程中一直保持这个模式。数新用户希望文本编辑器编辑过程中一直保持这个模式。 在插入模式中,可以按在插入模式中,可以按ESCESC键
11、回到键回到正常正常模式。模式。专业编辑器VIMPPT课件vi(vim/gvim)的模式命令行模式 就是通过输入就是通过输入:进入的模式。进入的模式。Ex模式 这和命令行模式比较相似,在使用这和命令行模式比较相似,在使用 :visual:visual 命令离开命令离开ExEx模式前,可以模式前,可以一次执行多条命令。一次执行多条命令。 这个模式实际上就是最早的单行编辑器。现在的人可能听都没听过。就这个模式实际上就是最早的单行编辑器。现在的人可能听都没听过。就是对整个文件的编辑与显示只在一行内进行,实际上很不方便。但执行是对整个文件的编辑与显示只在一行内进行,实际上很不方便。但执行速度却是最快的。
12、速度却是最快的。 这个模式对大多数人来说是没有什么价值的,只是为了兼容于这个模式对大多数人来说是没有什么价值的,只是为了兼容于VIVI的功能。的功能。我十多年前使用过单行编辑器,太痛苦,不知自己在干什么。专业编辑器VIMPPT课件vi(vim/gvim)的模式其它模式 主要是一些衍生模式主要是一些衍生模式 操作符等待模式操作符等待模式 插入插入正常正常模式模式 插入可视模式插入可视模式 插入选择模式插入选择模式 替换模式替换模式( (按按 R R 就能进入改写的模式)就能进入改写的模式)( (InsertInsert) ) EVIMEVIM模式模式 这几种模式可以当不存在。反正你用熟了这几种模
13、式可以当不存在。反正你用熟了VIMVIM之后,不会感觉到有它们的存在。之后,不会感觉到有它们的存在。专业编辑器VIMPPT课件开始进入vi(vim/gvim)从命令行运行vim(或者vi,或者gvim) 在类在类UNIXUNIX系统或系统或WindowsWindows系统中的命令行模式下输入系统中的命令行模式下输入vimvim回车。回车。 也可以带参数运行。也可以带参数运行。VIMVIM的参数非常丰富,想了解更多可以输入的参数非常丰富,想了解更多可以输入 vim -helpvim -help 输入输入vim vim * *.c .c * *.h .h * *.asm .asm 之类的命令可以在
14、一个编辑器内打开多个文件。之类的命令可以在一个编辑器内打开多个文件。通过GUI直接用gvim打开文件 这种方式在类这种方式在类UNIXUNIX的的X X环境与环境与WindowsWindows环境都支持。习惯别的编辑器的人更喜欢环境都支持。习惯别的编辑器的人更喜欢这种方式。这种方式。 可以在同一编辑器内同时打开多个不同文件。可以在同一编辑器内同时打开多个不同文件。由别的IDE环境调用gvim或vim。 IDEIDE设置一下。如果你已经习惯用设置一下。如果你已经习惯用vimvim了,非常有必要。了,非常有必要。 系统注册某类文件全部由系统注册某类文件全部由gvimgvim打开。打开。专业编辑器V
15、IMPPT课件保存内容&退出vi(vim/gvim)进入命令行模式 1,1,按按 ESCESC 键退到正常模式。键退到正常模式。 2,2,输入输入 : : 在这个模式下可以输入所有的在这个模式下可以输入所有的vimvim的命令行命令。的命令行命令。 保存命令保存命令 保存命令是保存命令是w 退出命令退出命令 退出命令是退出命令是q使用 :w:w 回车。是保存当前文件。如果你打开了很多文件都没保存可以回车。是保存当前文件。如果你打开了很多文件都没保存可以 :wa:wa 。 :wq:wq 回车。是保存当前文件,并退出回车。是保存当前文件,并退出vimvim。如果你不想保存就退出可以。如果你
16、不想保存就退出可以 :q!:q! 。专业编辑器VIMPPT课件移动光标(正常模式正常模式命令模式命令模式) 要移动光标,请依照说明分别按下 h、j、k、l 键。 k 提示 h 的键位于左边,每次按下就会向左移动。 l 的键位于右边,每次按下就会向右移动。 j j 键看起来很象一支尖端方向朝下的箭头。 v 1. 请随意在屏幕内移动光标,直至您觉得舒服为止。 2. 按下下行键(j),直到出现光标重复下行。 现在您应该已经学会如何移动到你想到的地方吧。现在您应该已经学会如何移动到你想到的地方吧。提示 如果您不敢确定您所按下的字母,请按下键回到正常(Normal)模式。 然后再次从键盘输入您想要的命令
17、。提示 光标键应当也能正常工作的。但是使用hjkl键,在习惯之后您就能够快速 地在屏幕内四处移动光标了。专业编辑器VIMPPT课件快速 移动光标1(正常模式)词移动 命令命令w,w,向后移动几个向后移动几个wordword并在并在wordword尾尾 直接按键盘直接按键盘 w w,若干次。若干次。 还可以先按数字再按还可以先按数字再按 w w 。如。如38w38w就是向后移动就是向后移动3838个个wordword 还有一个还有一个“W W”。与。与“w w”相比,大点。相比,大点。 命令命令b,b,向前移动几个向前移动几个wordword并在并在wordword头头 直接按键盘直接按键盘 b
18、 b,若干次。若干次。 还可以先按数字再按还可以先按数字再按 b b 。如。如38b38b就是向前移动就是向前移动3838个个wordword 还有一个还有一个 B B ,与,与 b b 相比。相比。wordword大点。大点。专业编辑器VIMPPT课件快速 移动光标2(正常模式)移动到行首或行尾 $ $ 命令把光标移动到当前行行尾。如果你的键盘上有命令把光标移动到当前行行尾。如果你的键盘上有 键,也键,也可以完成相同的功能。可以完成相同的功能。 0 0 命令则移到一行的第一个字符,键盘上有命令则移到一行的第一个字符,键盘上有 键也可以完成相键也可以完成相同的功能。同的功能。 命令把光标移动到
19、一行的第一个非空字符,这对于编程的的缩进命令把光标移动到一行的第一个非空字符,这对于编程的的缩进功能很有用。功能很有用。移动到一个指定的字符 在当前行上如你要找到字符在当前行上如你要找到字符xx直接按键盘直接按键盘 fxfx ,如果你当前光标后面,如果你当前光标后面有多个有多个xx字符。则光标跳转到多个字符。则光标跳转到多个xx处,可以多次使用。也可以用处,可以多次使用。也可以用 3fx3fx 就跳了就跳了3 3次。次。 f f 是向右查找移动,如果向左查找用是向右查找移动,如果向左查找用 F F 。 与之接近的命令是与之接近的命令是 t t 与与 T T 。意义是。意义是toto。到。到xx
20、前。前。专业编辑器VIMPPT课件快速 移动光标3(正常模式)括号匹配 你写程序的时候,你经常会遇到嵌套的你写程序的时候,你经常会遇到嵌套的( ) ( ) 结构。这时结构。这时 % % 是一个非常方便的命令。让你在同一层跳来跳去。特别对于大的程序是一个非常方便的命令。让你在同一层跳来跳去。特别对于大的程序很方便。很方便。长距离跳转 到文件头用命令到文件头用命令 gggg 。到文件尾用命令。到文件尾用命令 G G 。 到某一行如到某一行如12341234行,用命令行,用命令 :1234:1234 。改变表跳转 g;g; 转到改变表里第转到改变表里第 count count 个较旧的位置。如果个较
21、旧的位置。如果 count count 比所有比所有的较旧的改变位置都多,回到最老的那个。如果没有较旧的改变,给的较旧的改变位置都多,回到最老的那个。如果没有较旧的改变,给出一个错误消息。出一个错误消息。Vi Vi 无此功能无此功能 g,g, 转到改变表里第转到改变表里第 count count 个较新的位置。和个较新的位置。和 |g;| |g;| 类似,但朝向类似,但朝向相反的方向。相反的方向。Vi Vi 无此功能无此功能 专业编辑器VIMPPT课件快速 移动光标4(正常模式)括号操作 命令。向前一段跳转。对于命令。向前一段跳转。对于C C语言来说就是不中函数中的跳转。语言来说就是不中函数中
22、的跳转。 命令则向前一段跳转。在命令则向前一段跳转。在C C语言中这两个命令是停在语言中这两个命令是停在上的。上的。 / 命令把光标移动到上一处注释处。命令把光标移动到上一处注释处。 / 命令把光标移动到下一处注释处。命令把光标移动到下一处注释处。 开头的命令还有几十种。如开头的命令还有几十种。如 # 之类的。之类的。本页面内跳转 HH命令光标跳到本视图内的最上一行行首。命令光标跳到本视图内的最上一行行首。 MM命令光标跳到本视图内的中间一行行首。命令光标跳到本视图内的中间一行行首。 LL命令光标跳到本视图内的最下一行行首。命令光标跳到本视图内的最下一行行首。专业编辑器VIMPPT课件删除类命
23、令(正常模式)删除操作 dddd 命令。删除当前行。命令。删除当前行。 dwdw 命令。从光标位置开始删除一个命令。从光标位置开始删除一个wordword包括空格。包括空格。 dede 命令。与命令。与dwdw差不多只是不包括空格。差不多只是不包括空格。 x x 命令。删除光标处字符。命令。删除光标处字符。 d$d$ 命令。从光标开始一直删除到这行尾。命令。从光标开始一直删除到这行尾。 D D 命令。从光标开始一直删除到这行尾。命令。从光标开始一直删除到这行尾。 以上的命令都可以加入数字重复执行。以上的命令都可以加入数字重复执行。 如如 d3dd3d=3dd3dd 等等。而且删除的内容存在缓存
24、中。可以用等等。而且删除的内容存在缓存中。可以用pp命令粘贴出来。命令粘贴出来。专业编辑器VIMPPT课件撤消类命令(正常模式)撤消操作 1. 1. 输入输入 u u 撤消最后执行的撤消最后执行的( (一次一次) )命令。命令。 2.2.输入一个大写的输入一个大写的 U U ,恢复到该行的原始状态。,恢复到该行的原始状态。 3. 3. 多次输入多次输入 u u 以撤消以撤消 U U 以及更前的命令。以及更前的命令。 4. 4. 多次输入多次输入 CTRL-RCTRL-R ( (先按下先按下 CTRL CTRL 键不放开,接着输入键不放开,接着输入 R R 键键) ) ,这样就可以执行恢复命令,
25、也就是撤消掉撤消命令。,这样就可以执行恢复命令,也就是撤消掉撤消命令。 5.5.:red:red 命令重做一个被撤销的更改。(命令重做一个被撤销的更改。(vivi不支持)不支持) 6.6.g-g- 命令转到较早的文本状态。如果带计数,重复那么多命令转到较早的文本状态。如果带计数,重复那么多次。次。 7.7.g+g+ 转到较新的文本状态。如果带计数,重复那么多次。转到较新的文本状态。如果带计数,重复那么多次。专业编辑器VIMPPT课件更改类命令(正常模式)置入类命令 p p 命令。将最后一次删除的内容置入光标之后命令。将最后一次删除的内容置入光标之后 等同于其它编辑器的粘贴。等同于其它编辑器的粘
26、贴。更改操作 1. 1. 输入输入 r r 和一个字符替换光标所在位置的字符。和一个字符替换光标所在位置的字符。 2. 2. 把光标放在单词把光标放在单词 lubw lubw 的字母的字母 u u 的位置那里。的位置那里。 3. 3. 然后输入然后输入 cwcw 就可以修正该单词了就可以修正该单词了( (在本例这里是输入在本例这里是输入 ine ine 。) ) 4. 4. 输入输入 c$c$ 使得该行剩下的部分更正得使得该行剩下的部分更正得lineline。最后按。最后按 键。键。 在块选择模式下也能使用在块选择模式下也能使用 r r 命令。命令。专业编辑器VIMPPT课件定位及文件状态定位
27、及状态(正常模式) 输入输入 CTRL-g CTRL-g 显示当前编辑文件中当前光标所在行位置以及文件状态显示当前编辑文件中当前光标所在行位置以及文件状态信息。信息。 输入输入 SHIFT-G SHIFT-G 则直接跳转到文件文件最后一行。则直接跳转到文件文件最后一行。定位及状态(命令行模式) :buffers:buffers命令命令;:files;:files命令命令;:ls;:ls命令命令; ;列出当前已知的文件名。列出当前已知的文件名。在同一个在同一个VIMVIM内同时已经装入的文件。内同时已经装入的文件。专业编辑器VIMPPT课件搜索类命令(正常模式)搜索操作 /命令。命令。 尾随的字
28、符串可以用以在当前文件中查找该字符尾随的字符串可以用以在当前文件中查找该字符串。串。 1. 1. 在正常模式下输入在正常模式下输入 / / 字符。您此时会注意到该字符和字符。您此时会注意到该字符和光标都会出现在屏幕底部,这跟光标都会出现在屏幕底部,这跟 : : 命令是一样的。命令是一样的。 2. 2. 接着输入接着输入 errroor errroor 。那个。那个errroorerrroor就是您要查找就是您要查找的字符串。的字符串。 3. 3. 要查找同上一次的字符串,只需要按要查找同上一次的字符串,只需要按 n n 键。要向相反键。要向相反方向查找同上一次的字符串,请输入方向查找同上一次的
29、字符串,请输入 Shift-N Shift-N 即可。即可。 4. 4. 如果您想逆向查找字符串,请使用如果您想逆向查找字符串,请使用 ? ? 代替代替 / / 进行。进行。专业编辑器VIMPPT课件搜索类命令(正常模式)搜索操作 模式模式光标位置光标位置 /test/+1/test/+1test test 下一行,第一列下一行,第一列 /test/e/test/etest test 的后一个的后一个 t t /test/s+2/test/s+2test test 中的中的 s s /test/b-3/test/b-3test test 前的第三个字符前的第三个字符 / / 内指定的任何字符之
30、内指定的任何字符之 一。一。 如如/acdfh 则同时查找则同时查找afh,cfh,dfh。 如如/0-98h 则同时查找则同时查找08h,18h,88h,98h. /abc|efg /abc|efg 可以查找可以查找abcabc或者或者efgefg。 在在VIMVIM里是支持正则表达式的。里是支持正则表达式的。专业编辑器VIMPPT课件搜索类命令(正常模式)搜索操作 ss空白字符;空白字符; 和和 SS非空白字符:非空白字符:s s 之反之反 dd数位数位: :0-90-9 DD非数位非数位: :0-90-9 xx十六进制数位十六进制数位: :0-9A-Fa-f0-9A-Fa-f XX非十六
31、进制数位非十六进制数位: :0-9A-Fa-f0-9A-Fa-f oo八进制数位八进制数位: :0-70-7 OO非八进制数位非八进制数位: :0-70-7 ww单词字符单词字符: :0-9A-Za-z_0-9A-Za-z_ WW非单词字符非单词字符: :0-9A-Za-z_0-9A-Za-z_ hh单词首字符单词首字符: :A-Za-z_A-Za-z_ HH非单词首字符非单词首字符: :A-Za-z_A-Za-z_ aa英文字母字符英文字母字符: :A-Za-zA-Za-z AA非英文字母字符非英文字母字符: :A-Za-zA-Za-z ll小写字符小写字符: :a-za-z LL非小写字符
32、非小写字符: :a-za-z uu大写字符大写字符: :A-ZA-Z UU非大写字符非大写字符A-ZA-Z专业编辑器VIMPPT课件搜索替换命令(命令行模式)搜索替换操作 输入输入 :s/:s/oldold/ /newnew/g/g 可以替换可以替换 old old 为为 new new。 输入输入 :s/:s/theethee/ /the the 。请注意该命令。请注意该命令只改变光标所在行只改变光标所在行的第一的第一个匹配串。个匹配串。 输入输入 :s/:s/theethee/ /thethe/g/g 则是替换全行的匹配串。则是替换全行的匹配串。 要替换两行之间出现的每个匹配串,请输入要替
33、换两行之间出现的每个匹配串,请输入 : :# #, ,# #s/s/oldold/ /newnew/g/g ( (#,#代表的是两行的行号) )。 输入输入 :%s/:%s/oldold/ /newnew/g /g 则是替换整个文件中的每个匹配串。则是替换整个文件中的每个匹配串。在 VIM 内执行外部命令的方法 :!:!command command 执行外部执行外部commandcommand命令命令专业编辑器VIMPPT课件拷贝文本命令(正常模式)拷贝文本操作 y y 命令命令(yank)(yank)。 yanking yanking 是是 Vim Vim 中拷贝命令的名字。由于中拷贝命令
34、的名字。由于 c c 已经被用于表示已经被用于表示 change change 了,所以拷贝了,所以拷贝 (copy) (copy) 就不能就不能再用再用 c c 了。但了。但 y y 还是可用的。还是可用的。 由于由于 y y 是一个操作符,所以是一个操作符,所以 ywyw 命令就是拷贝一个单词命令就是拷贝一个单词了。当然了,计数前缀也是有效的。要拷贝两个单词,就可了。当然了,计数前缀也是有效的。要拷贝两个单词,就可以用以用 y2wy2w 。 yyyy 命令拷贝一整行,就像命令拷贝一整行,就像 dddd 删除一整行一样。出乎意删除一整行一样。出乎意料地是,料地是, D D 删除到行尾而删除到
35、行尾而 Y Y 却是拷贝一整行。却是拷贝一整行。要注意这要注意这个区别!个区别! y$y$ 拷贝到行尾。拷贝到行尾。 如果你要用系统的剪贴板。要在前面加如果你要用系统的剪贴板。要在前面加 * * 号。号。 如:如:*yy拷贝一行到剪贴板。拷贝一行到剪贴板。专业编辑器VIMPPT课件粘贴文本命令(正常模式)粘贴文本操作 p p 命令命令(put)(put)。会把你前面删除或拷贝的内容贴出。会把你前面删除或拷贝的内容贴出。 如果你删除的是一整行,如果你删除的是一整行, p p 命令把该行插入到光标下方。命令把该行插入到光标下方。如果你删除的是一行的一部分如果你删除的是一行的一部分( (例如一个单词
36、例如一个单词) ), p p 命令会命令会把它插入到光标的后面。把它插入到光标的后面。 P P 命令象命令象 p p 一样也是插入字符,但插入点在光标前面。一样也是插入字符,但插入点在光标前面。当你前面删除或拷贝的是一行,当你前面删除或拷贝的是一行, P P 会把它插入到光标所在会把它插入到光标所在行的前一行。而当你前面删除或拷贝的是非整行,行的前一行。而当你前面删除或拷贝的是非整行, P P 会把会把它插入到光标前面。它插入到光标前面。 p p 和和 P P 命令接受计数前缀,被插入的文本就会被插入指命令接受计数前缀,被插入的文本就会被插入指定的次数。所以定的次数。所以 3p3p 会把删除内
37、容的三个拷贝插入到文本会把删除内容的三个拷贝插入到文本中。中。专业编辑器VIMPPT课件选项配置配置文件 参考:参考:$VIMRUNTIME/vimrc_example.vim $VIMRUNTIME/vimrc_example.vim 和帮助文件。和帮助文件。 在在windowswindows系统中大家要建立配置文件:在你的系统中大家要建立配置文件:在你的VIMVIM安装目录下如:安装目录下如:“C:Vim” “C:Vim” 建立建立一文件一文件 _vimrc_vimrc 。如果是类。如果是类UNIXUNIX系统则在你的系统则在你的$Home$Home目录下建立一个目录下建立一个 .vimr
38、c.vimrc 文件。文件。 set nocompatibleset nocompatible(设成非与(设成非与VIVI兼容的模式)兼容的模式) set nuset nu(显示行数)(显示行数) set cinset cin(打开自动(打开自动C C程序缩进)程序缩进) set aiset ai(开启新行自动缩进)(开启新行自动缩进) set mousehideset mousehide(输入字符时隐藏鼠标指针)(输入字符时隐藏鼠标指针) set guifont=Terminal:h17:set guifont=Terminal:h17:(设(设GUIGUI字体)字体) source $VI
39、MRUNTIME/vimrc_example.vimsource $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vimsource $VIMRUNTIME/mswin.vim source $VIMRUNTIME/colors/ron.vimsource $VIMRUNTIME/colors/ron.vim behave mswinbehave mswin专业编辑器VIMPPT课件设置文件类型设置文件类型的文件filetype.vim下面文件的高亮部分是我加入的 *.vb文件类型的自动加载NoImageNoImage专业编辑器VI
40、MPPT课件分割窗口命令分割窗口操作 :split:split 命令命令(:sp:sp)。这个命令把屏幕分解成两个窗口并把光标置于上面的窗口。这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中。等同于中。等同于CTRL-W sCTRL-W s CTRL-W wCTRL-W w 命令可以用于在窗口间跳转。命令可以用于在窗口间跳转。 :close:close 命令命令(:clo:clo)。用于关闭窗口。等同于。用于关闭窗口。等同于CTRL-W cCTRL-W c :only:only 命令。这个命令关闭除当前窗口外的所有窗口。如果要关闭的窗口中有一命令。这个命令关闭除当前窗口外的所有窗口。如果要
41、关闭的窗口中有一个没有存盘,个没有存盘,Vim Vim 会显示一个错误信息,并且那个窗口不会被关闭。等同于会显示一个错误信息,并且那个窗口不会被关闭。等同于CTRL-CTRL-W oW o 要扩大窗口高度:要扩大窗口高度:CTRL-W +CTRL-W + 要缩小窗口高度:要缩小窗口高度:CTRL-W -CTRL-W - 要扩大窗口宽度:要扩大窗口宽度:CTRL-W CTRL-W 要缩小窗口宽度:要缩小窗口宽度:CTRL-W CTRL-W 专业编辑器VIMPPT课件分割窗口命令分割窗口操作 如果你已经在一个如果你已经在一个VIMVIM中打开了多个文件,你可以用中打开了多个文件,你可以用 :sba
42、:sba 命命令。这个命令把屏幕分解成多个窗口并打开各个不同的文件。令。这个命令把屏幕分解成多个窗口并打开各个不同的文件。 :copen:copen 命令可以打开编译窗口。如果你的当前目录下有命令可以打开编译窗口。如果你的当前目录下有makefilemakefile文件。你可以运行文件。你可以运行 :make:make 命令来编译你的项目。命令来编译你的项目。 在这个编译错误窗口里你还能跳转到错误的相应文件行。在这个编译错误窗口里你还能跳转到错误的相应文件行。 如果我用如果我用CTRL+V CTRL+V 打开了两个文件,并且我想比较下这两个文打开了两个文件,并且我想比较下这两个文件的不同,可以
43、在左边窗口输入件的不同,可以在左边窗口输入 :diffthis:diffthis.然后然后CTRL+W wCTRL+W w跳到右边窗口输入跳到右边窗口输入 :diffthis:diffthis 。专业编辑器VIMPPT课件折叠命令什么是折叠?什么是折叠? 折叠用于把缓冲区内某一范围内的文本行显示为屏幕上的一行。就像一张纸,折叠用于把缓冲区内某一范围内的文本行显示为屏幕上的一行。就像一张纸,要它缩短些,可以把它折叠起来要它缩短些,可以把它折叠起来: : 折叠的好处是,通过把多行的一节折叠成带有折叠提示的一行,会使你更好折叠的好处是,通过把多行的一节折叠成带有折叠提示的一行,会使你更好地了解对文本
44、的宏观结构。地了解对文本的宏观结构。 把光标置于某一段落内,并键入把光标置于某一段落内,并键入: : zfapzfap 。你会看到这一段变成了一行。你会看到这一段变成了一行。| |zfzf| | 是个操作符,而是个操作符,而 | |apap| | 是一个文本对象。你可以将是一个文本对象。你可以将 | |zfzf| | 操作符跟任操作符跟任何一个移动命令联用,为所经之处的文本创建一个折叠。何一个移动命令联用,为所经之处的文本创建一个折叠。 | |zfzf| | 也能在可视也能在可视模式下使用。模式下使用。 zozo 打开该折叠命令。要若要再阅读那些文本,可以键入这个命令以打开该打开该折叠命令。要
45、若要再阅读那些文本,可以键入这个命令以打开该折叠。你还可以再用折叠。你还可以再用 zczc 命令关闭折叠。命令关闭折叠。 所有的折叠命令都以所有的折叠命令都以 z z 开头。展开你的想像力,这个字母看起来就像一开头。展开你的想像力,这个字母看起来就像一张折叠起来的纸的侧面。张折叠起来的纸的侧面。专业编辑器VIMPPT课件折叠命令折叠功能折叠功能 而而 z z 后面可用的字母,由于采用了帮助记忆方法选择,很容易记得住后面可用的字母,由于采用了帮助记忆方法选择,很容易记得住: : zfzfF-old creation (F-old creation (创建折叠创建折叠) ) zozoO-pen a
46、 fold (O-pen a fold (打开折叠打开折叠) ) zczcC-lose a fold (C-lose a fold (关闭折叠关闭折叠) ) 假定你已经创建了若干折叠,而现在需要阅览全部文本。你可以移到每个折叠处,并键入假定你已经创建了若干折叠,而现在需要阅览全部文本。你可以移到每个折叠处,并键入 zozo 。若要做得更快,可以用这个命令若要做得更快,可以用这个命令: : zrzr 。相反的操作是。相反的操作是:“:“zmzm”这将折叠更多这将折叠更多 (M-ore) (M-ore)。 如果你有一个嵌套了好几层深的折叠,你可以用这个命令把它们全部打开如果你有一个嵌套了好几层深的
47、折叠,你可以用这个命令把它们全部打开:zRzR 这将减少折叠直至这将减少折叠直至一个也不剩。一个也不剩。 而用下面这个命令你可以关闭所有的折叠而用下面这个命令你可以关闭所有的折叠:zMzM 这将增加折叠,直至所有的折叠都关闭了。这将增加折叠,直至所有的折叠都关闭了。 用用 znzn 命令快速禁止折叠功能。然后命令快速禁止折叠功能。然后 zNzN 恢复原来的折叠。恢复原来的折叠。 zizi 切换于两者之间。还有按语法切换于两者之间。还有按语法折叠功有等。折叠功有等。专业编辑器VIMPPT课件录制宏命令录制宏功能(正常模式)录制宏功能(正常模式)Vi: 没有记录功能 q q 0-9a-zA-Z0-
48、9a-zA-Z命令。命令。在寄存器在寄存器 0-9a-zA-Z 0-9a-zA-Z 里记录键入的字符里记录键入的字符 ( (大写名字的寄存器表示附加键入的内容大写名字的寄存器表示附加键入的内容) )。 q q 命令不能在执行寄存器时使命令不能在执行寄存器时使用。同样,在映射里也不能。用。同样,在映射里也不能。 q q 命令停止记录。命令停止记录。( (注意注意 实现细节实现细节: : 停止记录的停止记录的 q q 不会被保存在寄存器不会被保存在寄存器里,除非它是映射的结果里,除非它是映射的结果) )。 0-9a-z0-9a-z.=.=* * 执行寄存器执行寄存器 0-9a-z0-9a-z.=.
49、=* * 的内容的内容 countcount 次。次。 注意注意 不能不能用寄存器用寄存器 % ( % (当前文件名当前文件名) )和和 # ( # (轮换文件名轮换文件名) ) 。=则会提示你输入则会提示你输入一个表达式。这个表达式的结果会被执行。一个表达式。这个表达式的结果会被执行。 : 重复上次的命令行。重复上次的命令行。 例子:例子: qaqa 输入输入ii做做n n步操作,完成后按步操作,完成后按ESCESC,再按,再按 q q. 输入输入 aa 就执行了刚才录的就执行了刚才录的a a宏。就是宏。就是“输入输入ii做的做的n n步操作步操作”。 如果你想执行如果你想执行2929次次a
50、 a宏,只要输入宏,只要输入 29a29a 专业编辑器VIMPPT课件自增自减命令自增自减自增自减宏功能(正常模式)宏功能(正常模式) 比如我们要把所有的年份数据全部加上一年。或减去三年。比如我们要把所有的年份数据全部加上一年。或减去三年。 1 1,/190-90-9|200-90-9/190-90-9|200-90-9回车回车 2 2,这时你只要按,这时你只要按CTRL+ACTRL+A就能在当前年份上自动加一。就能在当前年份上自动加一。 3 3,如果你按,如果你按3CTRL+X3CTRL+X就能在当前年份上自动减三。就能在当前年份上自动减三。 【说明】【说明】在类在类UNIXUNIX系统中上
51、述命令是可行的,但在系统中上述命令是可行的,但在WindowsWindows系统上你按系统上你按CTRL+ACTRL+A却是选择全部文字的功能。却是选择全部文字的功能。 这时你要去这时你要去VIMVIM的官方网站去下一个脚本文件的官方网站去下一个脚本文件“speeddating.vimspeeddating.vim”到你的到你的VIMVIM安装路径上就可以了。安装路径上就可以了。 对于上面的情况,我们对下一数据的操作只要按下对于上面的情况,我们对下一数据的操作只要按下 n n 就会跳下下一个年份,就会跳下下一个年份,再按再按 . . 就会执行上一次执行的操作。就会执行上一次执行的操作。http
52、:///专业编辑器VIMPPT课件竖块编辑命令竖块编辑功能(正常模式)功能(正常模式) 在类在类UNIXUNIX系统中按系统中按CTRL+VCTRL+V命令进入竖块的可视化模式,在命令进入竖块的可视化模式,在WindowsWindows系统上你要按系统上你要按CTRL+QCTRL+Q命令进入竖块的可视化模式。命令进入竖块的可视化模式。 这是你可以用这是你可以用 h h,j j,k k,l l,w w,e e,等等功能移动光标。拖等等功能移动光标。拖动竖块的大小。动竖块的大小。 你可以对选择的竖块范围内的数据进行你可以对选择的竖块范围内的数
53、据进行xx剪切,剪切之后剪切,剪切之后 p p 粘粘贴。贴。 可以用可以用 r r 命令把选中的内容全部改写。命令把选中的内容全部改写。 可以用可以用 命令把选中的内容全部大写改小写,小写改大写。命令把选中的内容全部大写改小写,小写改大写。专业编辑器VIMPPT课件自己的书签位置标记功能(正常模式)功能(正常模式) 命令命令 m m a-zA-Za-zA-Z把位置标记把位置标记 a-zA-Za-zA-Z 设在当前光标位置设在当前光标位置 ( (不移不移动光标,这不是动作命令动光标,这不是动作命令) )。 mm 或或 mm 设置前次上下文标记。以后可以用设置前次上下文标记。以后可以用 或者或者
54、跳转到这个位置跳转到这个位置 ( (不移动光标,这不是动作命令不移动光标,这不是动作命令) )。 mm 或或 mm 设置设置 或者或者标记。可以用在执行多个命令的操作符标记。可以用在执行多个命令的操作符的定义中。的定义中。 ( (不移动光标,这不是动作命令不移动光标,这不是动作命令) )。 : :rangerangemamark rk a-zA-Za-zA-Z把位置标记把位置标记 a-zA-Za-zA-Z 设在设在 rangerange 的最后一行,第的最后一行,第 0 0列。缺省的列。缺省的 rangerange 是当前行。是当前行。 : :rangerangek ka-zA-Za-zA-Z
55、和和:mark:mark相同相同, ,但空格可以省略。但空格可以省略。 你要跳到你上面自己做的书签,用你要跳到你上面自己做的书签,用 a-za-z就会跳转到当前缓冲就会跳转到当前缓冲区的位置标记。区的位置标记。 ( 到当前句子的开始处到当前句子的开始处,) 到当前句子的结尾处,到当前句子的结尾处, 到当前段落的开始处,到当前段落的开始处, 到当前段落的结尾处。到当前段落的结尾处。专业编辑器VIMPPT课件在整个工程中跳转标签文件功能功能 (SourceInsight3.5 (SourceInsight3.5用过否用过否) ) 标签文件是外部程序创建的,比如标签文件是外部程序创建的,比如 cta
56、gs ctags。对每个函数,它会。对每个函数,它会包含一个标签。有些版本的包含一个标签。有些版本的 ctags ctags 会为每个会为每个 #define #define 宏、宏、类型等价定义类型等价定义 (typedef) (typedef)、枚举、枚举 (enum) (enum) 等也创建标签。等也创建标签。 能产生标签文件的程序有能产生标签文件的程序有:ctags :ctags ,exuberant ctagsexuberant ctags,etagsetags,JTagsJTags,ptags.pyptags.py,ptagsptags,gnatxrefgnatxref等等。等等。
57、 你要下载一个最近的你要下载一个最近的ctagsctags程序放到程序放到VIMVIM的安装目录下。的安装目录下。 在命令行模式运行在命令行模式运行 :!ctags -R .:!ctags -R . 这样会生成一个在当前路径上这样会生成一个在当前路径上的的tagstags文件。文件。 在你编辑程序时如果有个常量定义记不清楚了,想看一下。或者在你编辑程序时如果有个常量定义记不清楚了,想看一下。或者函数定义想看一下,就非常方便了。函数定义想看一下,就非常方便了。 CTRL+CTRL+ 命令直接跳转到你命令直接跳转到你光标所在的字符串光标所在的字符串的定义处,或者你的定义处,或者你调用的函数的原型中
58、。不在同一文件中也是快速跳转。跳回你刚调用的函数的原型中。不在同一文件中也是快速跳转。跳回你刚才的位置只要用才的位置只要用 CTRL+TCTRL+T 专业编辑器VIMPPT课件在整个目录中搜索目录中搜索功能功能 ( (很多很多IDEIDE都有这功能都有这功能) ) :vim:vimgrep! /pattern/gj file .grep! /pattern/gj file . 在文件在文件 file . file . 里搜索模式里搜索模式 pattern pattern,并用匹配结果设置错误列表。如果,并用匹配结果设置错误列表。如果没有没有 g g 标志位,每行只加一次。标志位,每行只加一次。
59、如果有如果有 g g,每个匹配都被加入。,每个匹配都被加入。pattern pattern 是是 Vim Vim 的搜的搜索模式。除了用索模式。除了用 / / 之外,任何非之外,任何非 ID ID 字符字符 ( (见见 |isident) |isident) 都可以用来包围该模式,只都可以用来包围该模式,只要在要在pattern pattern 里不出现就行了。适用里不出现就行了。适用 ignorecase ignorecase。要否决该设置,在模式里。要否决该设置,在模式里用用 |/c| |/c| 来忽略大小写或来忽略大小写或 |/C| |/C| 来匹配大小写。来匹配大小写。不使用不使用 s
60、martcase smartcase。如果命令前面带数字,它定。如果命令前面带数字,它定义要寻找的最大匹配数目。这样,义要寻找的最大匹配数目。这样,:1 1vimgrep pattern file vimgrep pattern file 只会找到第一个。这可以用只会找到第一个。这可以用于只想检查是否有匹配而在找到后能快速退出的场合。如果没有于只想检查是否有匹配而在找到后能快速退出的场合。如果没有 j j 标志位,标志位,Vim Vim 跳到第跳到第一个匹配上。如果有一个匹配上。如果有 j j,只更新,只更新 quickfix quickfix 列表。如果有列表。如果有 ! !,放弃当前缓冲区的任何,放弃当前
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年钾铵泵项目合作计划书
- 地质勘探专用仪器企业数字化转型与智慧升级战略研究报告
- 编网机企业数字化转型与智慧升级战略研究报告
- 喷灌机械企业县域市场拓展与下沉战略研究报告
- 智能测量仪器仪表企业数字化转型与智慧升级战略研究报告
- 专用气球企业ESG实践与创新战略研究报告
- 电真空器件寿命试验设备企业县域市场拓展与下沉战略研究报告
- 奶油分离器企业数字化转型与智慧升级战略研究报告
- 自动导向小车企业ESG实践与创新战略研究报告
- 2025年肠类制品合作协议书
- 加装电梯投标方案(技术方案)
- 影视后期调色-04达芬奇一级校色
- 2024版工程建设监理合同(电力工程)
- 高空广告字维修合同
- 《绿豆芽的生长》课件
- 石油化工设备维护检修规程设备完好标准SHS
- 知道智慧网课《科技伦理》章节测试答案
- 2024年云南省职业院校技能大赛(中职组)植物嫁接赛项考试题库(含答案)
- 工程居间合同范本电子版
- 写字楼客户服务与物业管理关系案例
- 中医超声雾化疗法临床应用标准
评论
0/150
提交评论