Linux入门-04-vim的基本使用
一、前言
参考课程:
vi和vim的三种常用模式:
- 正常模式:以vim打开一个档案就直接进入一般模式。这个模式中可以【上下左右】按键来移动光标,可以【删除字符】或【删除整行】来处理档案内容,可以【复制、粘贴】来处理文件数据
- 插入模式:按下i,I,o,O,a,A,r,R等一个字母后才会进入编辑模式,一般来说按i即可
- 命令行模式:提供相关指令,完成读取、存盘、替换、离开vim、显示行号等操作

要学习的操作:

附上经典图:

二、编辑新文件
这里用的是Xshell去连接Linux虚拟机,并且是在Xshell中操作:
创建一个新文件:
vim Hello.java
现在就是一般模式了

按i进入编辑模式并输入:
public class Hello{
public static void main(String[] args){
System.out.println("Hello,world");
}
}
输入完毕后按Esc退出编辑模式,返回一般模式。
这时候输入:或者/,即冒号或反斜杠:

现在就是命令模式,输入wq,表示写入(即保存)并退出。
这时候就返回命令行了。

输入ll,查看文件:

这时候再输入vim Hello.java就是进入:

如果没有改变,可以输入:q直接退出。
如果有了修改,比如:

这时候:q就不能退出:

这时候就需要用:q!强制退出。
三、复制当前行和删除当前行
3.1 复制当前行并粘贴
在正常模式下,将光标移动到要复制的行上,再按yy(即连按两次y),就能将当前行复制到粘贴板上,这时候按p就可以在光标所在行的下一行粘贴。
例如,我加了一行:

然后按yy复制,之后把光标移动到System.out.println()`这一行:

这时候按p:

3.2 删除当前行
在正常模式下,将光标移动到要删除的行上,再按dd(即连按两次d),就能将当前行删除:
比如光标现在在这行:

按dd就可删除。
输入:q!退出。
3.3 多行操作
当想操作多行的时候,比如复制多行,比如可以在正常模式下输入5yy,即复制5行(光标当前行+下面四行)。

在最后一行p粘贴:

光标在此位置5dd删除五行(光标所在行+下面四行):

四、查找关键词
在命令模式下,输入/关键字就能查到该文件下的所有关键字。
这时候按n就可以让光标跳到下一个找到的关键字的位置。
如:

命令模式下输入\next,即next作为关键词:


按n可以让光标跳到下一个关键词的位置:


五、设置行号
在命令模式下,输入set nu就可以增加行号,输入set nonu就可以取消设置行号。
如:

在命令模式下输入set nu:


再在命令行模式下输入set nonu就可以取消行号。

六、光标跳到首行/最末行
在正常模式下输入gg就可以使得跳到最首行,输入G(大写G,即shift+G或键盘大写模式下输入G)就可以使得光标跳到最末行:
原本:

输入G:

输入gg:

七、撤销操作
在正常模式下输入u就可以撤销上一步操作(包括编辑模式下的操作,比如输入了hello。)
原本:

按i进入编辑模式输入hello:

这时候按Esc退出编辑模式,进入正常模式,然后按u撤销输入:

注意,如果是一直编辑模式,退出后直接按u,会将编辑模式输入的所有东西都撤销。
八、光标移动到指定行
输入一个数字,然后再G(shift+g或大写G),就可以让光标跳到输入的数字的行数
我们打开行数比较多的文件:
vim /etc/profile

开启行数:
:set nu
让光标跳到30行,输入30:

然后再shift+g或者G:


浙公网安备 33010602011771号