1 闲话几句
vi是一个古老而有名的编辑器了,尽管现在有现代的编辑器,不过似乎仍然有学习vi的必要,一来是方便,Linux和Mac默认都会安装。其次显得比较专业。
我的目标是简短地介绍每天会用到东西,好了闲话不多说,进入正题。
2 进入正题
启动
vi play.txt
退出
强制退出::q!
保存退出::wq
理解两种模式
一开始vi似乎难以理解,也许都不知道怎么退出。理解了两个模式就简单了,命令模式和编辑模式。刚启动的时候是命令模式,i就切换到编辑模式,ESC按键切换到命令模式。
命令我理解有两种,底行命令用:
开头,会显示在底部。操作文本的常用命令就直接输入。有的书介绍是三种模式,我这里统一成两种模式,都是命令。
常用操作
除了输入文本外,通常是在命令模式下,适应了就很简单了。
01 基本操作
i进入编辑模式,就可以输入了,光标按键也是可以的。很简单吧。
删除行:命令模式下,dd
。3dd
就删除3行。
到此就可以简单使用vi了。
02 更多操作
快捷移动
文件头:gg
文件尾: G
段移动:^f
, ^b
行头:0
, g0
行尾: $
, g_
好了,就这么多了,几个命令需要操作适应一下。
查找和替换
查找::/example
, n继续下一个。?example
,/example
也可以的。由此可以看出:,/,?三个符号都可以开启底行命令。
替换: :s/old/new
全文替换::%s/old/new/g
, 注意末尾的g,这个实际是正则表达式。
逐个替换,这个比较麻烦点,具体的命令可按如下顺序执行:
/which 查找
cwwhat[ESC] chang word
n 下一个,无需替换
n 继续下一个,需要修改
. 点是用来重复上一次操作,即cwwhat[ESC]
复制粘贴,普通人的最爱
粘贴:p
复制:yy
, yank,大概是快的意思吧。
undo
undo: u
redo: U
,^r
块操作
v
进入块状态,国标按键就可以选择块了。d就可以删除块了。
^v
是列块。
最后,块注释,程序员的最爱
^v
选好列块后,I, 注意是大写,输入#,然后两次ESC,就可以块注释了。
反注释,同样选好列块,d就可以了。
当然,这个不如现代编辑器的一键操作方便,不过vi的灵活性是其他编辑器无法比的。
3 总结
我只介绍了基本的操作,命令都是英语单词首字母,容易记忆,多用就熟了。
更多高级的,等我有了体会再写吧。
请拍砖或者补充。