Vi 极简入门

Vim · chenge · 于 发布 · 最后由 hkliya回复 · 731 次阅读
46

一 闲话几句

vi是一个古老而有名的编辑器了,尽管现在有现代的编辑器,不过似乎仍然有学习vi的必要,一来是方便,Linux和Mac默认都会安装。其次显得比较专业。

我的目标是简短地介绍每天会用到东西,好了闲话不多说,进入正题。

二 进入正题

启动

vi play.txt

退出

强制退出::q!
保存退出::wq

理解两种模式

一开始vi似乎难以理解,也许都不知道怎么退出。理解了两个模式就简单了,命令模式和编辑模式。刚启动的时候是命令模式,i就切换到编辑模式,ESC按键切换到命令模式。

命令我理解有两种,底行命令用:开头,会显示在底部。操作文本的常用命令就直接输入。有的书介绍是三种模式,我这里统一成两种模式,都是命令。

常用操作

除了输入文本外,通常是在命令模式下,适应了就很简单了。

1 基本操作

i进入编辑模式,就可以输入了,光标按键也是可以的。很简单吧。

删除行:命令模式下,dd3dd就删除3行。

到此就可以简单使用vi了。

2 更多操作

2.1快捷移动

文件头:gg
文件尾: G

段移动:^f, ^b

行头:0, g0
行尾: $, g_

好了,就这么多了,几个命令需要操作适应一下。

2.2 查找和替换

查找::/example, n继续下一个。?example/example也可以的。由此可以看出:,/,?三个符号都可以开启底行命令。

替换: :s/old/new

全文替换::%s/old/new/g, 注意末尾的g,这个实际是正则表达式。

逐个替换,这个比较麻烦点,具体的命令可按如下顺序执行:

/which 查找

cwwhat[ESC] chang word

n 下一个,无需替换

n 继续下一个,需要修改

. 点是用来重复上一次操作,即cwwhat[ESC]

2.3 复制粘贴,普通人的最爱

粘贴:p
复制:yy, yank,大概是快的意思吧。

2.4 undo

undo: u
redo: U^r

2.5 块操作

v进入块状态,光标按键就可以选择块了。d就可以删除块了。
^v是列块。

2.6 最后,块注释,程序员的最爱

^v选好列块后,I, 注意是大写,输入#,然后两次ESC,就可以块注释了。
反注释,同样选好列块,d就可以了。

当然,这个不如现代编辑器的一键操作方便,不过vi的灵活性是其他编辑器无法比的。

三 总结

我只介绍了基本的操作,命令都是英语单词首字母,容易记忆,多用就熟了。

更多高级的,等我有了体会再写吧。

请拍砖或者补充。


「软件匠艺社区」旨在传播匠艺精神,通过分享好的「工作方式」和「习惯」以帮助程序员更加快乐高效地编程。
共收到 1 条回复
1
hkliya · #1 ·

谢谢分享!填补了空白,帮助更多朋友上手!

需要 登录 后回复方可回复, 如果你还没有账号你可以 注册 一个帐号。