VIM编辑器
背景
vi在mac下严格意义上讲不是一个简单的命令,而是unix系列下的自带的编译器,笔者没记错发明这编译器的家伙是个大胡子,一直致力于软件开源的维护和倡导
$vi filename 这是开始编译一个文件,有时候需要switch user 即sudo
简介
这边笔者不做过多的介绍
请看维基百科
这里的vim编辑器是vi的一种升级版
编辑文件
之前说过基本用法:$vim filename,这边还有其他的用法
$vim +line filename 编辑文件,并定位到第line行
$vim + filename 编辑文件,并定位到最后一行
$vim +/pattern filename 编辑文件,并定位到第一个匹配的位置
关闭文件
这边需要提及vim的模式(之后补充,这边提及),打开文件后需要进入输入模式或者其他模式,才能使用一些命令,退出模式后才能关闭文件
一般按esc按钮来推出vim的模式,然后输入:来选择退出的方式
:q 退出
:wq 保存并退出
:q! 不保存并退出
:w 保存但没有退出,可以继续编辑
:w! 强行保存
退出后就回到命令窗口界面了,当然也可以直接编辑模式退出
如:编辑模式按ZZ即可
模式
i 在当前光标所在的字符前面转为输入模式
a 在当前光标所在的字符后面转为输入模式
o 在当前光标所在行的下方新建一行,并转为输入模式
I 在当前光标所在行的行首转为输入模式
A 在当前光标所在的行尾转为输入模式
O 在当前光标所在的上方新建一行,并转为输入模式
以上的命令必须是非编辑状态或者非其他的状态,然后按下相应的按键进入编辑模式
相关命令
移动
很简单,就是键盘上的上下左右键
w 移至下一个单词词首,中文一般以标点为准跳动
e 移至当前或下一个单词词尾
b 移至当前或者前一个单词词首
nw 移动n个单词
跳转
0 跳转到光标所在的行首
^ 跳转到行首的第一个非空白字符
$ 绝对的行尾
nG 跳转到第#行
gg 跳转到第一行行首
G 跳转到最后一行行首
翻页
ctrl+f 向下翻一屏
ctrl+b 向上翻一屏
ctrl+d 向下翻半屏
ctrl+u 向上翻半屏
删除
x 删除光标所在处的单个字符
nx 删除光标所在处及后面共n个单词
dd 删除光标所在的行
ndd 删除光标所在行及后面共n行
粘贴
p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面
P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面
以上命令只作用于vim编辑器内部,外面复制的内容不行
复制
用法和d命令的用法相同,将d替换成y
替换
r 替换单个字符,但是好像不支持中文
nr 光标后n个字符全部替换
R 进入替换模式,可直接替换光标所在的字符
撤销编辑操作
u 在非模式状态下,撤销前一次的编辑操作
nu 直接撤销最近的n次编辑操作
选取
v 进入选取模式,按字符选取,最多到光标所在的行
V 进入选取模式,但是按矩形进行选取
查找
:/pattern 根据匹配的字符查找
:?pattern 同上
n 下一个
N 上一个
查找并替换
headline,footline s#PATTERN#string#g
n,$s#wyc#王鋆昌#g 替换第n行开始到最后一行中每一行所有wyc为王鋆昌
参考
编辑多个文件
vim file1 file2
:next 切换到下一个文件
:prev 切换到上一个文件
:last 切换到最后一个文件
:first 切换到第一个文件
:q 退出当前文件
:qa 全部退出
未完待续
vim的使用远非及此,之后还有有涉及会及时补充