作为开发者,有两个顶级编辑器,即使你不用,你也一定要知道它们是什么——
·编辑器之神——Vim
·神的编辑器——Emacs
所以本文就来介绍vim
以及它的常用命令,Vim
是从vi
发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用
vim
键盘图中文版:
tips:在linux
环境下,可以在命令行输入vimtutor
命令学习使用vim
,当然前提是你安装上了vim
模式
共有三种模式,分别是命令模式、插入模式和底线命令模式.这三种模式的作用分别是:
命令模式:
用户刚刚启动vim
编辑文件时,便进入了命令模式
此状态下敲击键盘动作会被Vim
识别为命令,而非输入字符
输入模式:
在命令模式下按下i、a、o
就进入了输入模式
在输入模式中,可以使用以下按键:
1 2 3 4 5 6 7 8 9
| 字符按键以及Shift组合 //输入字符 Enter //换行 Back Space //删除光标前一个字符 Del //删除光标后一个字符 方向键 //在文本中移动光标 Home/End //移动光标到行首/行尾 Page Up/Page Down //上/下翻页 Insert //切换光标为输入/替换模式,光标将变成竖线/下划线 Esc //退出输入模式,切换到命令模式
|
底线命令模式:
在命令模式下按下:
就进入了底线命令模式
按Esc
键退出底线命令模式
简单的说,可以用下图来更直观展示:
插入
1 2 3 4 5 6
| i //光标前插入 I //光标所在行首插入 o //光标所在行下面新建一行 O //光标所在行上面新建一行 a //光标后插入 A //光标所在行尾部插入
|
查找
1 2 3 4
| /search_str //向光标之下查找值为search_str的字符串 ?search_str //向光标之上查找值为search_str的字符串 n //重复前一个搜寻的动作 N //反向进行前一个搜寻动作
|
替换
1 2 3 4
| %s/old/new/ //用old替换new,替换所有行的第一个匹配 %s/old/new/g //用old替换new,替换整个文件的所有匹配,g表示全局 s/old/new/ //用old替换new,替换当前行的第一个匹配 s/old/new/g //用old替换new,替换当前行所有匹配,g表示全局
|
删除、拷贝、粘贴
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| x,X //x为向后删除一个字符,X为向前删除一个字符 nx //连续向后删除n个字符 dd //删除光标所在行(常用) ndd //删除光标所在行开始n行 d1G //删除光标所在行到第一行 dG //删除光标所在行到尾行 yy //拷贝光标所在行(常用) nyy //拷贝光标所在行开始n行 y1G //拷贝光标所在行到第一行 yG //拷贝光标所在行到尾行 p,P //p为将已复制的内容粘贴在光标下一行,P则为粘贴在光标上一行 u //复原前一个工作 ctrl+r //重做上一个动作 . //重复前一个动作
|
显示/隐藏行号
1 2
| :set nu //显示行号 :set nonu //隐藏行号
|