vim中移动

  在vim中,提供了很多移动的方式,怎么样更加有效快捷的移动需要长期的实践;那么第一步,就是认识这些命令...

简单移动
k     上
j     下
h     左
l     右

  可以在命令前写数字 比如 10j 则相当于按10下j的效果

按单词移动
w     将光标移动到下一个word的首字符上
b     将光标向后移动到前一个word的首字符上
e     将光标移动到word的最后一个字符上
ge     将光标移动到上一个word的最后一个字符上
移动到行首行尾
$     将光标移动到当前行行尾 对应键盘上的键  
^     将光标移动到当前行的第一个非空白字符上
0     将光标移动到当前行的第一个字符上    对应 键 

  1$表示移动到当前行的行尾 10$表示移动到下9行的行尾,0命令之前不可以加数字 因为0本身就是数字了

移动到指定的字符上
fx     将光标移动到第一个x上 如 fh 表示移动到第一个h上
Fx     fx 的反向操作向左搜索移动到第一个x字符上 
tx     类似f搜索,不过光标是停留在被搜索的字符之前的一个字符上
Tx     tx 的反向操作 向左搜索
 =========================示例=========================
 public class void main(String[] args)
 ----->-------->
  fc      fo
 public class void main(String[] args)
 ----->-------->
  tc      to
 To err is human. To really foul up you need a computer.
 ------------------------------>
              3fl
 To err is human. To really foul up you need a computer.
 ------------------------------>
              3tl

 

按括号跳转
%     跳转到匹配的括号,如果光标在 ( 上 按 % 就会跳转到对应的 ) 上

  同样适用于 [] {} 可以用 :set matchpairs 显示可以匹配的括号, 如果当前光标并没有停留在一个可用的括号字符上,%会向前找到第一个括号,然后找到与它匹配的括号

跳转到指定行
nG     跳转到第n行 n为行号 
G     跳转到整个文章的最后一行
gg     跳转到整个文章的第一行
H     跳转到屏幕上第一行 Home
L     跳转到屏幕上最后一行 Last
M     跳转到屏幕中间行 Middle
n%     跳转到文章百分比的位置 

  100% 跳转到文章最后一行 和G一样效果 50% 跳转到文章中间行

翻页、滚屏
CTRL-U     文本向下滚动半屏 即你可以看到屏幕上半屏的内容了
CTRL-D     文本向上滚动半屏
CTRL-E     文本向上滚动一行
CTRL-Y     文本向下滚动一行 windows没效果
CTRL-F     文本向上滚动一屏 你可以看到下一个屏幕的内容
CTRL-B     文本向下滚动一屏 可以看上一个屏幕的内容
zz     将当前光标所在行移动到屏幕中间,不是修改文档内容,是整个文档移动
zt     将当前光标所在行移动到屏幕顶端
zb     将当前光标所在行移动到屏幕底端
简单搜索
/string     用于搜索一个字符串
?string     反向搜索一个字符串
n     在搜索出的结果中跳转
N     在搜索的结果中反向跳转

*     全文搜索光标所在单词
#     * 的反向搜索

比如要搜索一个字符串 public 输入命令 /public 按回车 就会找到文章中所有的public, 然后按字母n 就可以跳转到下一个位置 N则跳转到上一个位置。

如果搜索的时候需要忽略大小写,可以输入 :set ignorecase 设置, 如果再次搜索 public 就会同时匹配 Public和public,要回到大小写精确匹配,可以输入 :set noignorecase

如果已经搜索过了, 取消搜索怎么办?很简单,搜索一个文件中不存在的字符就可以了^_^

按标记跳转
``     跳转到上次所在位置
CTRL-O     跳转到更早些停止光标的位置
CTRL-I     跳回到后来停止光标的位置

mx     当前位置定义为 x 标记, 可以使用 `x 跳回来 

  mx中x表示a-z之间的任意字母,意思是可以定义26出标记,如果在当前位置输入 me , 以后不论在页面任何位置, 只要按下 `e 就会跳回到定位为 e 的标记的位置。可以输入 :marks 查看标记列表。

posted @ 2016-07-09 13:52  申锦祥  阅读(297)  评论(0编辑  收藏  举报