目录
一、vim的介绍及基本操作
vim是一个多模式的编辑器,主要有三种模式,即命令模式、插入模式和底行模式。
当打开vim后,默认是处于命令模式,此时所输入的东西都会被当作是命令,在命令模式下是可以切换到插入模式和底行模式的,并且是可以相互切换的,但是插入模式和底行模式之间是不能想换切换的,要想切换到相应模式,必须经过命令模式来实现。
命令模式下,我们可以通过各种快捷键来移动光标、删除文本、复制和粘贴等。插入模式下,可以像其他文本编辑器一样进行文字输入。底行模式下,我们可以执行文件保持或退出,也可以进行文件替换、查找字符串等。
通过输入vim [文件名]我们就可以进入vim中了。
进入后的界面是这样的:
我们先切换到插入模式中进行编辑,输入i后就进入到了插入模式:
我们在文件中就可以编写一段简单的代码了。
然后按键盘左上角的ESC键就可以退出插入模式, 回到命令模式,然后按shift+;(实际上就等价于输入:)进入到底行模式,对文件进行保存。在底行模式中,w是保存当前文件,wq是保存并退出,我们直接输入wq保存退出。
通过使用cat命令就可以打印看到所写的代码啦:
这就是vim最基本的操作。
二、命令模式下的操作
1)进入插入模式
上边简单提到过输入i可以直接进入到插入模式,还有两种也可,输入a或者o同样可以进入到插入模式。
这三者略有区别:
按i进入插入模式后,是从光标当前位置开始输入,而按a进入插入模式后,是从光标所在位置的下一个位置开始输入,按o进入插入模式后,是插入新的一行,从行首开始输入。
下面演示:
按i进入插入模式:
按a进入插入模式:
按o进入插入模式:
2)光标的移动
⭐光标局部定位:可以通过键盘上的↑↓←→来移动光标,也可以通过hjkl来移动,h对应左,l对应右,j对应下,k对应上。
⭐光标快速定位:shift+g即G可以定位到最末尾,gg即按两次g可以定位到最开始,shift+4即$可以定位到行尾,shift+6即^可以定位到行首。
⭐按w可以向后跳转到下一个单词的开头,这里的单词不是英语上的单词,而是以空格作为分隔符划分的。
⭐按b可以向前跳转到前一个单词的开头,例如刚刚在0出,按下b后回到了r。
⭐按e可以跳转到下一个单词的末尾。
⭐按[数字x]+l可以将光标移动到该行的第x个位置。
例如按下6l后:
⭐ctrl+b屏幕往后移动一页,ctrl+f屏幕往前移动一页,ctrl+u屏幕往后移动半页,ctrl+d屏幕往前移动半页
3)删除
⭐按x会删除光标所在位置的一个字符,还可以在前边加数字,即[数字n] + x就会从光标所在位置开始删除n个字符。
⭐按X会删除光标所在位置的前一个字符,同样也可以加数字,就是删除前边的n个字符。例如按6+X(即6 + [shift + x]):
⭐按dd可以删除光标所在行,同样也可以加数字n,就会从所在行开始删除,共删除n行。
4)复制粘贴
yy可以复制光标所在行,p是粘贴。p同样可以在前边加数字n,就可以粘贴多次。
例如yy后输入3p:
5)替换和撤销
r是替换光标所在字符,R是替换光标所到之处的字符,直到按下ESC键为止。
当我们想返回上一步操作时可以按u,u就是撤销,而ctrl+r就是撤销的恢复。
6)跳转到指定行
当内容较多时,我们想快速跳转到对应的一行,可以通过ctrl+g和[数字n]+G来实现。ctrl+g是显示所在行的行号(在左下角),知道行号后输入n+G就可以实现快速跳转。
三、底行模式下的操作
set nu:列出行号。在底行模式下,输入set nu就会在每行前加上行号。
[数字n]:直接输入一个数字,就会跳转到相应的行。
输入/+[要查找的字符] 就可以快速查找相应的字符,例如:
所查找的内容会被高亮显示,要取消这种高亮显示可以输入nohlsearch。
w是保存,q是退出, 一般是wq保存并退出,如果不想保存直接退出的话,可以输入w!,这样就强制退出了。