vi使用大全(真的是大全。。。)

编辑hex文件

:%!xxd 进入
%!xxd -r 退出

-----------------------------------------------------------------------
http://just2m.wordpress.com/2009/07/20/高效使用vim-efficient-editing-with-vim/
很不错,英文版在这:
http://just2m.wordpress.com/2009/07/20/高效使用vim-efficient-editing-with-vim/
一些tip:
`.移动到你之前编辑过的行. 这个又是"真有用". 如果你需要在文件中"滚来滚去"查看一些东西, 你可以用这个命令回到你之前编辑的行尽管你没把它设成书签.
I在当前行行首开始插入.
A在当前行行尾开始插入.
V行选中模式. 选中整行. 当你需要复制或移动几行的时候, 这个比字符选中模式要好.
c剪切高亮选中的文本到剪切板. 和d很相似, 只是c会进入插入模式.
在vi中, 输入.(英文的句号)可以重复上一个你执行过的命令. 比如你上一个命令是dw, 当你输入.命令, vi会删除下一个词.

录制宏

你可能偶然会发现你对一个文档中的某块文本反反复复的进行相同的操作. vim可以录制一个特定的宏来完成这些操作.

qregister 开始录制一个宏并保存在某个有名字的寄存器. 比如qa开始录制一个宏并把这个宏存放在寄存器a中.
q结束录制
@register回放存放在某个寄存器的宏. 比如@a播放寄存器a中的宏.

请注意宏只是记录你的按键并且回放; 不是神奇的魔法. 因为在vim中可以用多个命令执行某个任务, 录制宏几乎成了一种艺术形式, 你必须非常小心的选择要用的命令才能用宏达到你想要的效果.

用vim写程序代码

vim是优秀的源代码编辑器, 有很多的功能是专门为写程序设计的. 这里是一些常用的:

]p和p相似, 但是它可以自动调整粘贴的代码和已有的代码缩进. 试试吧.
%把光标放在某个花括号{}, 中括号[]或者圆括号()上, 按%会把光标移动到与之对应的花括号, 中括号或者圆括号上. 对于修正多层嵌套逻辑代码块的括号解析问题来说, 这个功能堪称救人于水火之中.
>>缩进高亮选中的代码. (对高亮选中请查看前面章节, 如果没有文本被高亮选中, 则将当前行缩进)
<<和>>类似, 但是反方向(译注: 缩进是向右移动行, 反方向既向左移动).
gd把光标移动到当前光标所在位置的函数或者变量的定义(definition)(或声明(declaration)).
K打开当前光标所在词对应的手册页(man page). (比如你的光标当前在sleep这个词上, vim会显示sleep的手册页) (译注: 这个功能貌似只对vim的原生OS–unix上有用)

(译注: 结合ctags, cscope之类的辅助工具, vim可以提供更强大的程序代码编写功能)



--------------------------------------------------------------------------
发现M/L/H居然是回到行首有字的地方,开心,这样就不用去安^这个键了~

原文地址:https://www.cnblogs.com/TLightSky/p/2941454.html