vi的补充学习

今天突然发现vi虽然用了些日子了,但是常用的一些命令之外,还是有些命令比较生疏,简单总结了一下,然后自己在vi里面编辑了一把,效果还不错。
对于大家比较熟悉且常用的命令就没有再列举。欢迎大家拍砖,我来做一些汇总。
选项                         作用
)                        移动光标到下一个句子。
(                        移动光标到上一个句子。
{                        在第一列插入{来定义一个段落
[[                       回到段落的开头处
]]                       向前移到下一个段落的开头处


H                        移动光标到屏幕上面
M                        移动光标到屏幕中间
L                        移动光标到屏幕下面
J                        将光标所在行与下一行合并为一行
fx                       移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。
tx                       和上面的命令类似,但是是移动到 x 的左边一个位置。(这真的很有用)
Fx                       和 fx 类似,不过是往回找。使用 , 来重复上一个F命令。
Tx                       和 tx 类似,不过是往回移动到 x 的右边一个位置


                向下移动一屏。
                向下移动半屏。
                向上移动一屏。
                向上移动半屏
                重做上一个操作,这个操作和回退操作U很实用


`.                       到你上次编辑文件的地方。这个命令很有用,而且你不用自己去标记它。
:n1,n2 w filename :把文件n1到n2行的内容都写入文件filename中
:wq或ZZ或:x              保存文件并退出vi
:set ic                  查找时忽略大小写
:.=                      打印当前行的行号
:=                       打印文件中的行数
:set nu                  显示行号
:set nonu                不显示行号
:set fileformat          显示文件格式,unix还是dos格式,对于格式的问题还是比较有效的。

一些额外的补充
这些功能是在vi的使用中比较实用,但是解释半天还不如上个图直接。
块选择是一个比较常用的场景,可以通过ctrl+v或者V来实现选择复制。
选择复制的效果如下:


使用V的效果如下:

最后使用y或者d就可以选择复制或者删除了。

最后一个可能看起来比较花哨的功能就是vi的显示布局格式。
可以选择横向,纵向,实现的效果看起来还是不错的。

多个视图之间可以通过ctrl+w来进行切换。
请使用浏览器的分享功能分享到微信等