##gvim 按键列表 by nova woo(nova_woo@foxmail.com)
###版本记录
- 2013-03-30 吴新星 初始版本
- 2013-04-12 吴新星 按markdown语法进行排版
##测试代码高亮 ###以下是Java代码
/** * Hello World.java * */ public calss{ public static void main(String[] args){ System.out.println("Hello World!"); } }
###以下是xml
child one child two
###以下是普通文本
Hello World! 2013年5月4日
##移动
w 以word为单位向文档后移动
b 以word为单位向文档前移动
e 以word为单位向文档后移动到下个word到最后一个字母
ge 与e相反
W 以non-word的特殊字符向后移动
B 与W相反
$ 移动到行尾
^ 移动到行首
fx 移动到制定的(x)字符 <; 重复fx>
Fx 与fx相反 <; 重复Fx>
% 匹配括号
[num]G 跳转到[num]行
:[num] 跳转到[num]行
G 定位到最后一行
gg 跳转到第一行
H 跳转到当前屏幕头部
M 跳转到当前屏幕中间
L 跳转到当前屏幕最后
CTRL-G 显示你当前的位置
CTRL-F 向前滚动一整屏
CTRL-B 向后滚动一整屏
zz 将当前行移动到屏幕中间
/[string] 搜索[string]
:set ignorecase 忽略大小写
:set noignorecase 大小写敏感
* 搜索当前光标下的字
:set hlsearch 高亮显示搜索结果
:set nohlsearch 取消高亮显示搜索结果
m[mark] 设置当前行标记为[mark]
|mark为小写字母时,标记为局部变量,只对本文档有效
|mark为大写字母时,标记为全局变量,一直有效
[mark] 跳转到[mark]标记行
一些默认到[mark] :
|
进行此次跳转之前的起跳点
| “ 上次编辑该文件时光标最后停留的位置
| [ 最后一次修改的起始位置
| ] 最后一次修改的结束位置
##小幅改动 x 删除当前字符 dw 删除一个word d$ 删除当前位置到行尾 c 改变当前字符 cw 改变当前word r 替换单个字 R 切换到替换模式 . 重复你做出的所有修改 v 可视模式 CTRL-V 可视模式,选择文本快(列块垂直模式) o 可视模式下,将光标定位到另一端 xp 交换两个字符 y 复制到vim的寄存器 yw 复制一个word到vim的寄存器 yy 复制一整行到vim的寄存器 “xy 将复制的内容复制到vim的寄存器x中(寄存器名字可以是:a~z) “y 复制内容到剪切板 “yw 复制一个word到剪切板 “yy 复制一行到剪切板 p 将最近复制的内容粘帖到光标后 “xp 将寄存器x中的内容复制到光标后 “p 粘帖剪切板中到内容到当前位置
gCtrl-G 统计字数
{range}s/ori/des/gc 替换命令
{range}--表示一个范围,如:24,72,其中%代表整个文件
ori -- 要被替换的字符串,可以是正则表达式,`\<`匹配一个word的开头,`/>`匹配一个word的结尾
des -- 要替换成的内容
g、c -- 选项,g-替换范围内全部的字符串,c-替换之前要求用户进行选择
##编辑多个文件
:edit filename 在当前vim中编辑另一个文件
:tabedit file 在新tab页打开file文件
gt 在tab间跳转(助记:goto tab)
:saveas filename 将当前文件另存为
##分隔窗口 :split 分隔窗口 :close 关闭窗口 :only 关闭除当前窗口外的所有窗口 :split filename 为另一个文件分隔出另一个窗口 :new 打开一个新窗口编辑一个新文件 Ctrl-W 切换当前活动窗口 Ctrl-W + 增加当前窗口的高度 Ctrl-W - 减小当前窗口的高度 Ctrl-W h 切换窗口到当前窗口的左边窗口 Ctrl-W j 切换窗口到当前窗口的下边窗口 Ctrl-W k 切换窗口到当前窗口的上边窗口 Ctrl-W l 切换窗口到当前窗口的右边窗口 Ctrl-W t 切换窗口到顶部窗口 Ctrl-W b 切换窗口到底部窗口 Ctrl-W H 将当前窗口移动到左侧 Ctrl-W J 将当前窗口移动到下侧 Ctrl-W K 将当前窗口移动到上侧 Ctrl-W L 将当前窗口移动到右侧 :vsplit 垂直分隔窗口 :qall 退出所有窗口 :wall 保存所有窗口中内容 :wqall 保存所有文件并退出vim vim -o f1 f2 打开vim并为f1、f2各打开一个窗口(水平分隔) vim -O f1 f2 打开vim并为f1、f2各打开一个窗口(垂直分隔)
##格式化文本
:{range}left [margin] 将range
范围内的内容左对齐,左侧留白margin
个空格
|例如 :28,39left 4 28至39行的内容左对齐,左侧留白4个空格
:{range}center[margin]
:{range}right[margin]
##折行 zR 打开所有折行 zM 折叠所有行