VIM的小介绍
声明:本文虽然不是本人100%原创,但也是辛辛苦苦整理的,可以转载,但请注明出处
VIM logo
Vim 是什么?
-
Vim 就是一个文本编辑器,跟 Windows 系统里的记事本没有本质区别。
-
只不过它专门被设计用来写代码(当然也可以用来写普通的文本),有很多支持你更快更好写代码的强大功能。
为什么要学 Vim ?
-
作为一个程序员,不管是前端还是后端,工作中基本上都要跟服务器打交道。
-
而现在服务器里面运行的操作系统基本上都是 Linux。
-
当你远程跟服务器通信的时候,基本上都要通过终端来跟服务器建立连接。
-
当你要修改服务器的某个配置文件的时候,在一个黑漆漆的终端里,你能用的几乎只有 Vim。
-
所以不会 Vim 的话,你就没办法工作。
怎么学 Vim ?
现在很多教程一上来就列出一堆的快捷键让你背,看着就头疼,基本上看几眼就放弃了。其实学任何东西都不要想一口吃成个胖子,要循序渐进。所以这个十分钟课程里,我们只说一下最基本的操作,等你会基本操作了,代码写的越来越多,后面进阶的操作你每次练一两个,慢慢也就会了,很简单。
记住工具是拿来用的,不要让它成为一个负担!
安装Vim
安装Vim,只需要在终端中输入以下命令:
sudo apt install vim
或者
sudo apt-get install vim
安装完Vim之后,只需要运行以下命令就即可启动Vim:
vim
Linux vim启动页面
vimtutor : Vim的教程程序
这个程序只需要输入以下命令就可以执行:
vimtutor
若要退出这个Vim教程,只需要输入:
:q
1. 用 Vim 打开文本文件
很简单,在终端输入:vim 文件名.文件后缀
(注意 vim 和文件名.文件后缀之间有一个空格)
2. Vim 的两种模式
这是 Vim 跟其他文本编辑器最不同的地方,它有两种模式(有些资料里面是细分为三种模式的):
普通模式(Command mode)
编辑模式【插入模式】(Insert mode)
(底行模式(Lastline mode))
命令行模式:
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
插入模式:
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
底行模式:
将文件保存或退出vim,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过,一般我们在使用时把vim简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
在你刚打开 Vim 的时候,它处于普通模式下,这时你不能直接往 Vim 里写代码,按一下字母i键,它就进入编辑模式了,这时候就可以随便往里面输内容了。要回来普通模式,按下 Esc 键就可以了。
vim + 文件 ----打开文件(默认进入命令模式)
i ----进入编辑状态
esc ----退出编辑模式(并进入命令模式)
普通模式
普通模式就是用来输命令的,除了直接敲文字进去之外的操作,都是在普通模式进行的。下面这些一定要先记住,才能确保你能开始使用 Vim。
保存
:w ----保存
:wq ----保存并退出
:q! ----不保存强制退出
移动
0 ----数字零,光标移动到行头
$ ----光标移动到本行行尾
H ----快速定位到当前段落开头
L ---- 快速定位到当前段落结尾
ctrl+f: ----向下翻一屏
ctrl+b: ----向上翻一屏
剪切、复制、粘贴、撤销
一种简单的办法:
Ctrl + v 选中区域文本
y 复制选中的内容
p 粘贴复制的内容
[n]x ---- 剪切光标右边n个字符
[n]X ---- 剪切光标左边n个字符
y[n]l ---- 复制光标右边n个字符 (L 下 = 右)
y[n]h ----复制光标左边n个字符 (H 上 = 左)
y$ ---- 从光标当前位置复制到行尾
y0 ---- 从光标当前位置复制到行首
p ---- 在光标之后粘贴
P ---- 在光标之前粘贴
u ----撤消到上一步
删除
d[n]w ---- 删除n个单词
d[n]l ---- 删除光标右边n个字符
d[n]h ---- 删除光标左边n个字符
d$ ----删除当前位置到行尾的内容
d0 ----删除当前位置到行首的内容
dd ----删除当前行,并把删除的行存到剪贴板里
[n] dd ----删除(剪切)1(n)行
查找
/ + 内容 ---- 在光标后查找内容
? + 内容 ---- 在光标前查找内容
n ---- 向后找下一个
N ---- 向前找下一个
替换
:s/old/new ---- 用new替换当前行第一个old
:s/old/new/g ---- 用new替换当前行所有的old
(注意:Vim 里面的命令是区分大小写的,也就是说 :wq 和 :WQ 不是一回事,而后者的命令不存在)
本部分引用自简书作者:饥人谷_王涵--十分钟学会 Vim 基本操作(有删改) 简书作者:Llane00--vim 基本使用介绍(有删改) 简书作者:饥人谷_李维超--Vim基本使用方法 简书作者:程序员联盟--Linux探索之旅 | 第五部分第一课:Vim岂是池中物,宝剑锋从磨砺出