在Linux下,基本没有什么可与之竞争的编译辑器(就算你是一个Emacs或Eclipse的重度用户)。
用CTRL-Z 挂起。这个动作把 Vim 停下来,并让你回
到那个你启动 Vim 的命令 shell 里。然后再用 “fg” 命令回到 Vim。
当你按 CTRL-Z 行不通时,你还可以用命令 “:suspend”。别忘了把 Vim 引导回前
台,否则你会失去你所有的修改!
gg → 到第一行。(陈皓注:相当于1G,或 :1)
G → 到最后一行。
按单词移动:
w → 到下一个单词的开头。
e → 到下一个单词的结尾。
^ → 到本行的第一个非blank字符
$ → 到行尾
% : 匹配括号移动,包括 (, {, [. (陈皓注:你需要把光标先移到括号上)
* 和 #: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)
dt” → 删除所有的内容,直到遇到双引号—— ”
3fa → 在当前行查找第三个出现的a。
自动提示: 和
可视化选择: v,V,
缩进
J → 把所有的行连接起来(变成一行)
< 或 > → 左右缩进
= → 自动给缩进 (陈皓注:这个功能相当强大,我太喜欢了)
每行写同样的东西
选中相关的行 (可使用 j 或 或是 /pattern 或是 % 等……)
$ 到行最后
A, 输入字符串,按 ESC。
全部删除:按esc后,然后dG
全部复制:按esc后,然后ggyG
全选高亮显示:按esc后,然后ggvG或者ggVG
:set list
vi 的set list命令可以将不可看见字符打印出来,比如^I是Tab( ),^M是WIN的换行( )
请注意^I 不是^ I 而是Ctrl + i
^M 是Ctrl + V Ctrl + M
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
:w !sudo tee %
上述命令可用在vi/vim编辑器中。编辑文件后保存时不用担心没有修改的权限了。
不常用:
宏录制: qa 操作序列 q, @a, @@
在一个只有一行且这一行只有“1”的文本中,键入如下命令:
qaYpq→
qa 开始录制
Yp 复制行.
增加1.
q 停止录制.
@a → 在1下面写下 2
@@ → 在2 正面写下3
现在做 100@@ 会创建新的100行,并把数据增加到 103.