Chinaunix首页 | 论坛 | 博客
  • 博客访问: 694431
  • 博文数量: 148
  • 博客积分: 4086
  • 博客等级: 上校
  • 技术积分: 1766
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-06 23:27
文章分类

全部博文(148)

文章存档

2013年(19)

2012年(9)

2011年(106)

2009年(14)

分类: LINUX

2011-10-29 19:16:02

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.5pt; mso-bidi-font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:宋体; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-font-kerning:1.0pt;}

(一)以普通word为单位移动

1.将光标向前移动一个word并停留在下一个word的首字符上:w。注意:无论光标在当前word的任何字符上,执行命令后光标将停留在下一个word的首字符上。助记:word

2.将光标向后移动一个word并停留在下一个word的首字符上:b。注意:如果执行此命令之前光标未停留在当前word的首字符上,则执行命令 后光标将停留在此word的首字符上,而不是直接跳转到下一个word的首字符上;即只有光标停留在当前word的首字符上时,执行命令后光标才能直接跳 转到下一个word的首字符上。助记:backward

3.将光标向前移动一个word并停留在下一个word的末字符上:e。注意:如果执行此命令之前光标未停留在当前word的末字符上,则执行命令 后光标将停留在此word的末字符上,而不是直接跳转到下一个word的末字符上;即只有光标停留在当前word的末字符上时,执行命令后光标才能直接跳 转到下一个word的末字符。助记:end of word

4.将光标向后移动一个word并停留在下一个word的末字符上:ge。注意:无论光标在当前word的任何字符上,执行命令后光标将停留在下一个word的末字符上。

(二)以空白为单位的WORD为单位移动

1.什么是WORD

vim中,word的边界不是一成不变的,可以自定义。有一些被认为non-word的特殊字符,比如“.”“,”或者“)”也可充当word边界。自定义word边界,请查看“iskeyword”选项。其中以空白为分界的word成为WORD

2.命令

WORD为单位移动的命令是与以word为单位移动的命令的相应字母的大写形式,即WBEgE,命令执行时活动特征也是相同的。

(三)数字+命令

以上命令都可以采取数字+命令的方式执行。

二、移动光标到行收或者行尾

1.将光标移动到当前行行尾:$。此命令与键盘上键作用相同。

2.将光标移动到当前行的第一个非空白字符上:^

3.将光标移动到当前行的第一个字符上:0。此命令与键盘上键作用相同。

4.$命令接受计数器,其他两个不接受计数器。

三、移动光标到指定字符上

使用单字符搜索命令可以快速将光标移到当前行的某个字符上。

1.在当前行向右查找某个字符并将光标停留其上:f。助记:find

2.在当前行向左查找某个字符并将光标停留其上:F

3.在当前行向右查找某个字符并将光标停留于其前一个字符之上:t。助记:to

4.在当前行向左查找某个字符并将光标停留于其前一个字符之上:T

5.这四个命令都可使用计数器。

6.这四个命令都可以用“;”“,”重复执行,不同之处在于,“;”以与原命令相同的方向执行,“,”恰好相反。

四、移动光标到匹配括号上

将光标跳转到与当前光标下的括号相匹配的括号上去:%。再一次执行此命令,光标将跳转到原括号上。如果当前光标并不处于某个括号上,执行此命令时,光标将自动向前寻找第一个括号跳转到与它匹配的另一个括号。适用于此命令的括号由“matchpairs”选项定义。

五、移动光标到指定行上

1.将光标移动到文档的最后一行:G

2.将光标移动到文档的第一行:gg

3.将光标移动到文档的指定行:行数+G

4.使用百分比将光标移动到文档某个大致的位置:数字+%。此处百分比的计算是以行为单位,而不是以字节数为单位。

5.将光标移动到当前屏幕的某一行:移动到第一行使用命令Hhome),移动到中间行使用命令Mmiddle),移动到最后一行使用命令Llast)。

六、获取当前位置信息

1.使用CTRL-G命令,可以显示当前位置信息。

2.设置number选项。:set number显示行号,:set nonumber关闭显示行号。

3.设置ruler选项。:set ruler会在右下角显示当前光标所在位置。

七、滚屏

1.使文本向下滚动半屏:CTRL-U。相当于显示文本的窗口向上滚半屏。光标所处的行数随滚屏而改变。

2.使文本向上滚动半屏:CTRL-D。相当于显示文本的窗口向下滚半屏。光标所处的行数随滚屏而改变。

3.使文本向上滚动一行:CTRL-E。光标所处的行数不变。

4.使文本向下滚动一行:CTRL-Y。光标所处的行数不变。

5.向前滚动一整屏:CTRL-F。滚动后光标处于第一行。

6.向后滚动一整屏:CTRL-B。滚动后光标处于最后一行。

7.把当前位置处于屏幕的正中央:zz

8.把当前位置处于屏幕的顶端:zt。助记:top

9.把当前位置处于屏幕的底端:zb。助记:bottom

八、搜索

(一)搜索命令

1.顺序搜索字符串:/string

2.逆向搜索字符串:?string

3.以与原命令相同方向查找下一个字符串:n

4.以与原命令相反方向查找下一个字符串:N

5./命令与?命令接受计数器,nN也接受计数器。

(二)搜索设置

1.忽略大小写。:set ignorecase设置忽略大小写;:set noignorecase设置大小写敏感。

2.高亮搜索结果。:set hlsearch开启高亮显示;:set nohlsearch关闭高亮显示;:nohlsearch临时关闭此次搜索高亮显示。

3.键入目标字符的同时开始搜索。:set incsearch开启这一功能。

4.在顺序搜索到达文件末尾或者逆向搜索到达文件开头时停止搜索。:set nowrapscan开启这一功能。默认wrapscan是开启的。

(三)搜索小技巧

1.使用命令历史记录。搜索命令会记住曾经搜索过的字符串,在键入搜索命令后可以使用上箭头翻看曾经搜索过的字符串,如果要再次搜索同一个字符串, 就没有必要再次键入了,直接翻到原来的命令就可以了;或者键入目标字符串的头几个字母,再使用上箭头翻看历史,匹配将更快一些。

2.快捷搜索较长字符串。如果要搜索的字符串较长,可以将光标定位在这个字符串上,然后按下“*”vim将会以此为目标字符串进行顺序搜索;另一个功能相同但进行逆向搜索的命令是“#”。这两个命令都接受计数器。

3.精确匹配字符串。命令/string\>将只在一个word的结束处匹配目标字符;命令/\则只在一个word的开始处匹配目标字符串;命令/\可以用来精确查找一个word

(四)搜索模式

1.匹配一行的开头:/^string。此命令只会匹配在一行开头出现的目标字符。

2.匹配一行的末尾:/string$。此命令只会匹配在一行末尾出现的目标字符。

3.匹配到只包含目标字符的行:/^string$

4.匹配任何单字符:.。比如c.m会匹配任何一个前一个字符是c后一个字符是m的字符串,而不管中间的字符是什么。

5.匹配特殊字符:如果目标字符串中含有像.)*等特殊字符,则需要在这些特殊字符前加一个\,即反斜杠。

九、使用标记

(一)自动标记

1.跳转到上次起跳的位置:``。执行此命令会跳转到上次起跳的位置,再次执行则会跳转到当前位置,因为此命令也是一个跳转命令。注意:对此命令而 言,只要执行一个命令使光标定位到当前行外的某一行去,都叫跳转;像搜索类命令/n都叫做跳转,但字符搜索类命令ft等、以word为单位的移动光标 命令we等、以及jk命令都不叫跳转。

2.跳转到更早些光标停留的位置:CTRL-O。此命令不限于跳转到起跳位置,还可以跳转到更早的位置,且jk之类命令形成的光标移动也可以回跳。

3.跳转到后来光标停留的更新的位置:CTRL-I。此命令与上一条命令行为特征相同。效果与按下Tab键效果相同。

4.列出曾经跳转过的位置列表。:jumps。最后一个跳转位置会被特别以一个“>”标记。

(二)具名标记

Vim允许编辑者在文本中定义自己的标记,自定义标记从az一共26个。

1.自定义标记:m{mark}mark就是从az,在执行此命令时不需要大括号。标记并不在屏幕上显示,Vim在内部记录了它代表的位置。

2.精确跳转到定义标记的行和列:`mark

3.跳转到定义标记的行首:'mark

4.查看自定义标记列表。:marks

5.mark列表中的特殊标记的意义:

1':进行此次跳转之前的起跳点。

2":上次编辑该文件时光标最后停留的位置。

3[:最后一次修改的起始位置。

4]:最后一次修改的结束位置。

 

阅读(708) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~