Vim for PHP Programmer (1)-移动篇

###序###
Vim的强大和高效远远超过任何一个编辑器,也许某些人认为它“不好用”,
那是因为他“不会”用.
你所能想象的任何一个编辑器多酷的东西,它都可以做到。
鸟不懂兽言,你要驾驭它,首先要学会使用它的语言。

如果你觉得它不好用,那么修改它

比如,如何快速退出、保存VIM?

ZZ 或 :x 保存并退出
ZQ 退出不保存

更简单的:

nmap ,w :x
nmap ,q :q!

你可以set showcmd,这样你的命令能够显示出来。

想了解当前状态?

ctr+G 或g

###如何快速移动?###
还在使用光标键,HOME/END键?
这不是vim的风格。

- 绝对使用hjkl来移动光标,不要让你的手在home/end和光标键之间来回浪费时间

gg 跳到buffer的头
G  跳到buffer的底部
第n行? nG或nGG
^ 行首非空白字符
$ 行尾非空白字符
回车  下一行非空白字符
-上一行非空白字符

使用书签,没错。vim的书签要更加快速

m [a-z]  定义当前位置为书签名:a-z
`[a-z] 跳到书签的精确位置
' [a-z] 跳到书签所在的行

注意:
小写的字母表示当前的buffer定义的书签,大写字母,定义全局书签,如果你在另一个buffer,则会跳回并
切换到相应的buffer/文件。

:show marks 显示当前定义的全部书签

###marks的应用###

定义一个mark, mark a
于是,你可以:

c `a   修改从当前光标到a位置的文本
d`a 删除从当前位置到a标记位置的文本
=`a  重新格式化当前位置到a标记位置的文本

假设你已经跳转到某个地方,那么如何返回?

`` 让你在2个位置来回切换
m`精确设置跳回的锚点,之后你可以用``在这来回切换
'. 和`.  跳转到最近修改的所在行和精确位置

Comments

One Response to “Vim for PHP Programmer (1)-移动篇”

  1. charset on April 8th, 2007 3:36 pm

    可以交换博客链接么,谢谢!

Leave a Reply