VIM光标定位(行内定位常用)

(转载自:http://hi.baidu.com/5221117/item/ac501e14c372dc0ae2f9863d)

*定位到指定行n:

输入"nG".

或输入"ngg".

或输入":n"

这里,n就是指定的行的行号.注意,有时候G=gg.


*跳到屏幕顶部:

输入“H”.

这里,停在第一个非空字符上。加一个数字N,是指距窗口顶部的行数(如'NH'正数第N行)


*跳到屏幕底部:

输入“L”.

这里,停在第一个非空字符上。加一个数字,是指距窗口底部的行数(如'NL'倒数第N行)


*跳到屏幕中间:

输入“M”.

这里,停在第一个非空字符上。


*跳到文件首:

输入"gg".


*跳到文件尾:

输入“G”.


*光标移至句尾:

输入")".


*光标移至句首:

输入"(". 


*光标移至段落开头:

输入"}". 


*光标移至段落结尾:

输入"{". 


*跳到行末尾:

输入“$”.


*跳到行首:

输入“^”.

或输入“0”.

这里输入'^'是移动到首的第一个非空白字符。


*向后跳到整文件最近距离的单词末尾:

输入“e”.


*向前跳到整文件最近距离的单词首部:

输入“b”.


*跳到整文件下个单词首部:

输入“w”.


**行内移动

以下均可可以加上数字N前缀表示移动N次(如'3fc'表示执行'fc'3次。)


*移动到光标右面第一个字符c的后面:

输入"fc".


*移动到光标右面第一个字符c的前面:

输入"tc".


*移动到光标左面第一个字符c的前面:

输入"Fc".


*移动到光标左面第一个字符c的后面:

输入"Tc".


*重复前一次输入的f, t, F, T命令:

输入";".

例如刚才是'fc',输入';'相当于还是'fc'。


*会反方向重复前一次输入的f, t, F, T命令:

输入",".

例如刚才是'fc',输入','相当'Fc'。

**


**在较长行内的移动:

这里做一个小小的约定:较长的一行如果占据了屏幕的多行,那么这一行我们把它叫“长行”,屏幕上的一行叫做“屏幕行”。所以对于一个'长行'需要有多个'屏幕行'来显示。

*在“长行”中移动到下一个“屏幕行”:

输入"gj".


*在“长行”中移动到上一个“屏幕行”:

输入"gk".


*在"长行"中移动到当前"屏幕行"首:

输入"g^".


*在"长行"中移动到当前"屏幕行"尾:

输入"g$".

这里,如果一行超过了屏幕宽度,会显示在屏幕的多行,显示的虽然是多行,但是实际上还是一行,在输入上下移动的时候虽然是进入了上一行或者下一行,但是往往会呈现出在屏幕中一下跳过n行的样子。g$, g^, gj , gk 在行超过长度时好用。 j,k下上移动的是文本中的一行,当文本一行的长度超过屏幕的一行的时候,j,k移动的时候在屏幕上可能是移动多行。这时候可以用gj,gk来移动屏幕的一行而不是文本的一行。 同理g^和g$是屏幕的行首行尾,而不是文本的行首行尾。

**


*按百分比来跳转,跳转到文件50%处:

输入"50%".

这里利用%实现按百分比来跳转,如果想跳到75%处,输入“75%”。


**翻页

可以跟数字前缀N表示执行的倍数,翻页可以用[PageUP]/[PageDown].


*向下翻页:

输入“[Ctrl]f”.


*向上翻页:

输入“[Ctrl]b”.


*向下翻半页:

输入“[Ctrl]d”.


*向上翻半页:

输入“[Ctrl]u”.

**


**相对于光标的翻页

效果是行向相应的方向滚动了,光标仍然在原来的行,好像是将这个文本拖动了一样.


*光标所在行移动窗口的顶端:

输入"zt".


*光标所在行移动窗口的中间:

输入"zz".


*光标所在行移动窗口的底端:

输入"zb".


*将第n行滚至屏幕顶部:

输入“nzt”。


*将第n行滚至屏幕底部:

输入“nzb”。


*将第n行滚至屏幕中部:

输入“nzz”。

**


*设置书签:

输入“ma”.

这样,会在当前光标的位置标记一个书签,名字为 a。书签名只能是小写字母。你看不见书签的存在,但它确实已经在那里了。只能记录当前文件里的书签,退出vim后再次进入将不会保留这些书签, 书签只是当前文件中的一个位置,但是我实践一下发现,设置完了书签之后,保存文件,这样也把书签保存了。


*到书签a处:

输入"`a".

注意,这个不是单引号,它一般位于大部分键盘的 1 的左边。


*到书签a所在的行:

输入"'a".

这里用的是单引号,将跳到书签所在的行。


*到上次编辑文件的地方:

输入"`.".

这个命令很有用,而且你不用自己去标记它,注意这里输入的是反引号`,精确到点。


*到上次编辑文件所在行:

输入“'.”

注意这里是精确到行,输入的是引号‘。


*回到最后一次插入状态返回的位置:

输入"'^".

或输入"`^".

这里'.精确到行,`.精确到点(行+列)。


*查看当前所有书签的列表:

输入":marks".


**搜索相关:

*搜索一个字符串:

输入“/string”。

这里"string"就是将要被搜索的字符串,会自动跳到光标后面第一个"string"处。


*在上次搜索的基础上向前搜索:

输入“N”。


*在上次搜索的基础上向后搜索:

输入“n”.


*逆向搜索一个字符串:

输入“?string”。

这里"string"就是将要被搜索的字符串,会自动跳到光标前面第一个"string"处。之后使用的“:n”和“:N”命令方向也会相反了。


*列出查找的历史记录:

输入"q/".

或输入"q?".

这会在vim窗口最下面打开一个新的窗口,列出你的查找历史记录可以选择。


*向下完全匹配当前光标下单词:

输入“*”。

之后也可以按'n'继续向下查找。


*向上完全匹配当前光标下单词:

输入“#”。

之后也可以按'N'继续向上查找。


*向下匹配包含当前光标单词的字符串:

输入“g*”。


*向上匹配包含当前光标单词的字符串:

输入“g#”。

**


*跳到匹配的另一半括号:

输入“%”。

这样可以查找配对的括号,即: )、]、}。


*打开当前光标单词下的文件:

输入“gf”。

这里,假设当前的光标在相应的文件名上面,例如“main.c”等等。


*切换到上次打开文件:

输入“[Ctrl]^”。

这里,例如我们输入了gf进入某个文件,可以输入[Ctrl]^来回到刚才的文件,这个命令只能在当前和上一个文件之间切换,不能后退多步。


*后退到某个曾经浏览过的位置:

输入"[Ctrl]o".

流行的文本编辑器通常都有前进和后退的功能,可以在文件中曾经浏览过的位置之间来回移动。在vim中多次输入"[Ctrl]o"可以执行后退。


*前进到某个曾经浏览过的位置:

输入"[Ctrl]i".

或输入"[Tab]".

这样,如果执行过后退,在vim中多次输入"[Ctrl]o"可以执行前进。


  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值