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