2008年(9)
分类: LINUX
2008-09-01 10:35:12
x | 删除一个字符 |
dd | 删除一行 |
J | 删除本行的回车符,把下一行并入本行末尾 |
r字符 | 替换光标所在字符为新字符 |
^ $ | 分别是光标移到行首和行末 |
数字G | 移动光标到第若干行,如果直接按 G 则移动到最后一行 |
为了便于选取文本,VIM 引入了可视(Visual)模式。要选取一段文本,首先将光标移到段首,在 普通模式下按 v 进入可视模式,然后把光标移到段末。需要注意,光标所在字符是包含在选区中的。这时 可以对所选的文本进行一些操作,常用的(可视模式)命令有:
x 或 d | 剪切(即删除,同时所选的文本进入剪贴板) |
y | 复制 |
r字符 | 所有字符替换为新字符 |
u U ~ | 分别是所有字母变小写、变大写、反转大小写 |
> < | 分别是缩进和反缩进 |
当输入了命令以后,VIM 将回到普通模式,这时可以按 p 或 P 进行粘贴。普通模式下有关 复制和粘贴的命令:
v | 进入可视模式 |
p 或 P | 在当前位置粘贴剪贴板的内容,p 粘在光标所在字符后面,P 粘在前面 |
编辑过程中出现错误在所难免,不过没有关系,VIM 允许无限次的撤销。只要你 没有关闭文件,你甚至可以一直撤销下去,回到几个小时以前刚打开这个文件开始工作时的状态。
u | 撤销(Undo)上次所做的修改 |
恢复(Redo)上次撤销的内容 |
在插入模式下,为了减少重复的击键输入,VIM 提供了若干快捷键,当你要输入某个 上下文曾经输入过的字符串时,你只要输入开头若干字符,使用快捷键,VIM 将搜索上下文,找到 匹配字符串,把剩下的字符补全,你就不必敲了。这样,编程序时你起多长的变量名都没关系了,:-) 而且还可以减少输入错误。我认为,插入补全是 VIM 最为突出的一项功能。
i |
向上搜索,补全一个词。例如,上文中出现过 filename 这个词,当你想再输入
filename 时,只要按 f |
i | 向下搜索,补全一个词 |
i |
补全一行。比如你写过一行 for (int i = 0; i < 100; i++),你想再写一模一样的一行,只要输入
for |
i | 在文件系统中搜索,补全一个文件名 |
如果按
在 VIM 中你可以定义一个键,按了这个键等于按了某一串预定的键。比如
:map!
表示如果你在插入模式下按
map 命令有许多变化形式,每种变化形式所定义的键只在某些模式下有效,而在其它模式下 无效。你需要根据情况使用正确的变化形式:
:nmap | 键只对普通模式有效 |
:imap | 键只对插入模式有效 |
:vmap | 键只对可视模式有效 |
:cmap | 键只在命令行下有效 |
:map | 键在普通模式和可视模式都有效 |
:map! | 键在插入模式和命令行下都有效 |
还要注意,如果你定义 :map d di 这将引起循环定义错误。这时,你需要使用 :noremap d di 来定义。同样,noremap 也有对不同模式的变化形式。
比如,你想在文件的每一行的倒数第二个字符处插入字符串“abc”,你可以定义
:nmap
在普通模式下按一次
:map
:map
实现按
在插入补全当中提到的补全一行需要按
:inoremap
减少击键次数。同样,对