目录
1.什么是Vim编辑器
-
Vim通过一些插件可以实现和IDE一样的功能!
-
Vim是从 vi 发展出来的一个文本编辑器,是vi的一个升级版,比如代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。尤其是Linux中,必须要会使用Vim(文本编辑器的功能本质:查看内容,编辑内容,保存内容!)
-
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方
-
vim 则可以说是程序开发者的一项很好用的工具
-
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在
-
连 vim 的官方网站 自己也说 vim 是一个程序开发工具而不是文字处理软件
-
vim 键盘图
2.vim编辑器的三种使用模式
- 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)
- 开启vim的命令为
vim filename
,如果文件存在直接使用vim打开这个文件,如果文件不存在就创建这个文件
- vim的三种模式的作用分别是:
- 命令模式:用户刚刚启动 vi/vim,便进入了命令模式
- 进入命令模式之后,我们不能直接为新建的文件输入内容,此状态下敲击键盘动作会被Vim识别为命令,而非输入字符,比如我们此时按下i,并不会输入一个字符,i被当作了一个命令;具体命令可以参考上面的vim 键盘图
- 以下是3个常用的vim命令
-
i :insert(输入),即打开vim之后,只有输入vim命令 i ,vim编辑器才会从默认的命令模式切换到输入模式,在输入模式下我们才能修改文件内容
-
x 删除当前光标所在处的字符
-
: 切换到底线命令模式,用于在最下面一行输入vim的命令。 如果当前vim正处于编辑模式,需要先按ESC键退出编辑模式,返回命令模式,然后输入 : 从命令模式进入底线命令模式,命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令
-
- 在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
- 底线命令模式
-
在命令模式下按下:(英文冒号)就进入了底线命令模式。光标就移动到了最底下,就可以在这里输入一些底线命令了!
-
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多
-
在底线命令模式中,基本的命令有(已经省略了冒号):wq
- q 退出程序
- w 保存文件
-
按ESC键可随时退出底线命令模式
-
- 命令模式:用户刚刚启动 vi/vim,便进入了命令模式
- 完整的vim使用流程
- 命令行界面输入vim filename,使用vim编辑器打开指定文件名称的文件,如果文件存在就打开,不存在就新建
- 直接打开的vim 编辑器,它默认处于命令模式,我们可以输入 i/a/o 就会切换至输入模式,在输入模式我们
才能对文件内容进行修改;我们也可以直接输入 : 切换至底线命令模式,底线命令模式可以输入和
执行更多的vim命令命令模式只能使用一些基础的vim命令,比如文件保存和退出vim编辑器,我们就
需要进入底线命令模式
- 在命令模式下输入 i/a/o 就会进入输入模式之后,我们就可以对文件的内容进行修改 ,在修改完文件内容之后
我们就可以按下键盘上的ESC键退出输入模式,返回命令模式
- 在命令模式下输入 : 进入底线命令模式之后,我们可以在 : 后面输入vim命令进行执行,我们最常用的就是
w保存文件命令和q退出vim命令
- 小结vim编辑器
- 默认vim编辑器就是处于命令模式,命令模式是3个模式直接切换的纽带,要实现模式切换必须先返回vim默认的命令模式
3.vi/vim 按键说明
- 除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用
- 注意:下面直接从表格中摘抄出来的就是最常用的vim命令,需要我们掌握熟练,使用习惯了它的效率能够超过word
1.第一部分:一般/命令模式可用的光标移动、复制粘贴、搜索替换等
- 数字n+空格:将光标移动到这一行的第n个字符【n从0开始计数】
- 数字n+回车:将光标移动到第n行首【n从0开始计数】
- G:移动到文件的最后一行
- gg:移动到文件的第一行
- /word:向光标之下寻找一个名称为 word 的字符串
- ?word:向光标之上寻找一个字符串名称为 word 的字符串
- n:这个 n 是英文按键,代表重复前一个搜寻的动作
- N:这个 N 是英文按键,与 n 刚好相反,为『反向』进行前一个搜寻动作
- dd:删除一整行的数据
- ndd:n 为数字,删除光标所在的行开始向下 n 行,例如 20dd 则是删除光标所在行开始计数的向下的 20 行
- yy:复制光标所在行
- nyy:复制光标所在的行开始向下 n 行,例如 20yy 则是复制光标所在行开始计数的向下的 20 行
- p和P:p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行
- u:复原前一个动作,相当于Windows中的撤销
- [Ctrl]+r:重做上一个动作(常用),这个命令和u命令一起使用,可以实现向前和向后的两种方向的撤销,u命令是返回上一步,[Ctrl]+r是返回已经撤销的下一步
- . :就是一个小数点,它的意思是重复上一步操作,比如上一步是粘贴,那么如果你还想要粘贴,直接按.即可,虽然按p/P也可以,但是在一些组合键面前,它就显得很方便了
2.第二部分:一般模式切换到编辑模式的可用的按钮说明(重要,都要掌握)
3.第三部分:一般模式切换到指令行模式的可用的按钮说明
- :q :退出vim编辑器
- :q! :不保存修改就关闭vim编辑器
- 惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~
- :wq :储存后离开,若为 :wq! 则为强制储存后离开 (常用)
- :set nu:显示文件中数据的行号
- set nonu:关闭小时文件中数据的行号
- 特别注意,在 vi/vim 中,数字是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思
- 举例来说,要删除 50 行,则是用 『50dd』 对吧! 数字加在动作之前,如我要向下移动 20 行呢?那就是『20j』或者是『20↓』即可