:help → 显示相关命令的帮助。你也可以就输入 :help 而不跟命令。
tab 命令补全
命令提示
插入
i → Insert 模式,按 ESC 回到 Normal 模式.
a → 在光标后插入
o → 在当前行后插入一个新行
O → 在当前行前插入一个新行
cw → 替换从光标所在位置后到一个单词结尾的字符
移动
hjkl (强例推荐使用其移动光标,但不必需) →你也可以使用光标键 (←↓↑→). 注: j 就像下箭头。
0 → 数字零,到行头
^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)
$ → 到本行行尾
g_ → 到本行最后一个不是blank字符的位置。
gg → 到第一行。(陈皓注:相当于1G,或 :1)
G → 到最后一行。
NG → 到第 N 行 (陈皓注:注意命令中的G是大写的,另我一般使用 : N 到第N行,如 :137 到第137行)
/pattern → 搜索 pattern 的字符串(陈皓注:如果搜索出多个匹配,可按n键到下一个)
w → 到下一个单词的开头。
e → 到下一个单词的结尾。
W E同上,以blank字符分隔的单词
tx,Tx,fx,Fx 跳到本行的x字母,小写右大写左,f/F总是在x前,t在f前一位,T在x后(好心累...)
dtx dfx dTx dFx同上
% : 匹配括号移动,包括 (, {, [. (陈皓注:你需要把光标先移到括号上)
* 和 #: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)
来回跳转
''回到上一次的地方
m 做标签
tag跳转
$ ctags –R *
$ vi –t xxx
:ts (ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令)
:tp (tp 助记字:tags preview)
:tn (tn 助记字:tags next)
Ctrl + ] 到定义处
Ctrl + T 返回
编辑
x → 删当前光标所在的一个字符。
dd → 删除当前行,并把删除的行存到剪贴板里
p → 粘贴剪贴板
yy → 拷贝当前行当行于 ddP
u → undo
→ redo
J → 把所有的行连接起来(变成一行)
< 或 > → 左右缩进
= → 自动给缩进 (陈皓注:这个功能相当强大,我太喜欢了)
块操作:
^ → 到行头
→ 开始块操作
→ 向下移动 (你也可以使用hjkl来移动光标,或是使用%,或是别的)
I-- [ESC] → I是插入,插入“--”,按ESC键来为每一行生效。
文件
:e → 打开一个文件
:w → 存盘
:saveas → 另存为
:x, ZZ 或 :wq → 保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)
:q! → 退出不保存 :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。
:bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(陈皓注:我喜欢使用:n到下一个文件)
窗口
:split → 创建分屏 (:vsplit创建垂直分屏)
:He
:Ve
:set scb 同步移动(两个窗口都要执行)
: dir就是方向,可以是 hjkl 或是 ←↓↑→ 中的一个,其用来切换分屏。
_ (或 |) : 最大化尺寸 (| 垂直分屏)
+ (或 -) : 增加尺寸
:Te或者vim -p 标签页浏览
没有冒号的切换
gt 下一页
gT 前一页
{i}gt
:tabs 标签情况
:bufdo tab split buffer转标签
:E 打开文件目录
:cd
:pwd
:ls 缓冲区文件
:buffer 4 4号文件
:bnext 缩写 :bn
:bprevious 缩写 :bp
:blast 缩写 :bl
:bfirst 缩写 :bf
开发
:cw
:cp 上一个错误
:cn 下一个错误
:cl 所有错误
:cc 错误详细信息
:grep
:make
>>和<<及= 缩进
=% 代码块缩进
gg=G 文件缩进
其他
. → (小数点) 可以重复上一次的命令
N → 重复某个命令N次
q: 历史命令
shift + k man一个函数
:mksession ~/.mysession.vim 保存会话
vim -S ~/.mysession.vim
:r!date 插入日期
v 选择 u或U 大小写转换
ga ascii码
g8 utf-8码
gf 打开文件
阅读(499) | 评论(0) | 转发(0) |