据说是人类史上最好的文本编辑器——VIM


作为一个VIM初学者,vim给我的感觉就是命令多而且活,比bash还要难掌握。正所谓”工欲善其事,必先利其器“,且学习vim也是后期工程化的需要,所以它是必须跨过的大山,不会用命令的程序员不是好程序员。经过基础和进阶的学习我做了一些总结。

Vim the Six Billion Dollar editor
Better, Stronger, Faster

传说中的学习vim四步骤:

  • 存活
  • 感觉良好
  • 觉得更好,更强,更快
  • 使用VIM的超能力 :)

启动vim


在命令行窗口输入:
vim 进入vim
vim xxx 打开vim并创建名为xxx的文件

退出vim方式


  • 在插入模式下,先按ESE到normal模式:

    • :wq保存退出
    • :q直接退出
    • !q强制退出
  • 在normal模式下,直接按功能键:

  • X仅仅保存

  • ZZ 不需要输入:直接保存退出

vim的模式


  • 输入i进入插入模式
  • ESE退出当前模式,进入normal模式

移动命令


H J K L   --左、下、上、右
G    --跳转到最后一行
50G --移动到50行
gg   --跳转到第一行
w    --跳转到下一个单词开头
e     --下一个单词结尾
0     --数字0,到行头
$     --到行尾
^      --到第一个不是blank字符的位置(所谓blank就是指tab、空格、换行、回车等)
g     --到本行最后一个不是blank字符的位置

编辑命令


i    --在光标前插入文本
A   --在一行后添加文本
dw  --从光标处删除到下一个单词起始处,不包括第一个字符
de   --从当前位置到单词末尾,包括最后一个字符
dd   --删除本行,在功能键前加数字可删除多行,例如:5dd 删除5行
r      --替换当前位置的字符
O     --在本行的上方插入新的一行
o      --小写字母,在本行下方插入新的一行
a       --在光标所在位置之后插入文本
A       --在光标所在行位置之后插入文本
y        --复制
p        --粘贴,可搭配数字使用,例如3p表示粘贴文本3次

开挂命令


  • 100iabc[ESE] 界面会打出100个abc
  • .可重复上一次命令,例如100”abc“.表示重复再打100个abc
  • 3. 重复三次abc
  • ctrl-w窗口调转
  • ctrl-D查看可能补全的结果
  • Tab使用当前补全
  • % 匹配括号移动,包括(、{、[,需要先把光标移到括号上
  • ra 将当前字符替换为a,当期字符即光标所在字符。
  • s/old/new/ 用old替换new,替换当前行的第一个匹配
  • s/old/new/g 用old替换new,替换当前行的所有匹配
  • v可视化选择,可搭配p、y命令实现自定义内容拷贝粘贴
  • gU变大写
  • gu变小写
  • :split或:new 打开一个新窗口,光标停在顶层的窗口上
  • :split file或:new file 用新窗口打开文件
  • split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。

结束语


  • 注意大小写。有些命令是在normal下输入的,我们把它叫做功能键。有一些是在插入模式下输入的,所有带:的命令都在插入模式输入。注意区别。
  • 上面是我学习的一些常用的命令,其中有些命令是可以搭配组合的,需要自己去尝试,可以在shell输入vim tutor,学习官方的文档。vim和bash一样都需要熟能生巧,学完这两个以后可以开始做很多事了。下一篇再来说说,我用它们做了一些什么有意思的事儿。
  • 以上如果有什么错误,欢迎留言。

你可能感兴趣的:(据说是人类史上最好的文本编辑器——VIM)