Linux入门-04-vim的基本使用

一、前言

参考课程:

vi和vim的三种常用模式:

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

image-20201005142210291

要学习的操作:

image-20201006090536215

附上经典图:

vim1



二、编辑新文件

这里用的是Xshell去连接Linux虚拟机,并且是在Xshell中操作:

创建一个新文件:

vim Hello.java

现在就是一般模式

image-20201005142245130

i进入编辑模式并输入:

public class Hello{
        
        public static void main(String[] args){
                System.out.println("Hello,world");
        }
}

输入完毕后按Esc退出编辑模式,返回一般模式

这时候输入:或者/,即冒号或反斜杠:

image-20201005142627413

现在就是命令模式,输入wq,表示写入(即保存)并退出。

这时候就返回命令行了。

image-20201005142732951

输入ll,查看文件:

image-20201005142755211

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

image-20201005142833837

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

如果有了修改,比如:

image-20201005143720699

这时候:q就不能退出:

image-20201005143746687

这时候就需要用:q!强制退出。



三、复制当前行和删除当前行

3.1 复制当前行并粘贴

正常模式下,将光标移动到要复制的行上,再按yy(即连按两次y),就能将当前行复制到粘贴板上,这时候按p就可以在光标所在行下一行粘贴。

例如,我加了一行:

image-20201005145530268

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

image-20201005145658486

这时候按p:

image-20201005145716130


3.2 删除当前行

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

比如光标现在在这行:

image-20201005145848561

dd就可删除。

输入:q!退出。


3.3 多行操作

当想操作多行的时候,比如复制多行,比如可以在正常模式下输入5yy,即复制5行(光标当前行+下面四行)。

image-20201006090105410

在最后一行p粘贴:

image-20201006090137505

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

image-20201006090223151



四、查找关键词

命令模式下,输入/关键字就能查到该文件下的所有关键字。

这时候按n就可以让光标跳到下一个找到的关键字的位置。

如:

image-20201005181344107

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

image-20201005181549250

image-20201005181559685

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

image-20201005181634502

image-20201005181643419



五、设置行号

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

如:

image-20201005181931233

在命令模式下输入set nu:

image-20201005181954595

image-20201005182001794

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

image-20201005182047504



六、光标跳到首行/最末行

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

原本:

image-20201005182449068

输入G:

image-20201006090357614

输入gg:

image-20201006090410311



七、撤销操作

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

原本:

image-20201006090850538

i进入编辑模式输入hello:

image-20201006090947001

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

image-20201006091239209

注意,如果是一直编辑模式,退出后直接按u,会将编辑模式输入的所有东西都撤销。



八、光标移动到指定行

输入一个数字,然后再G(shift+g或大写G),就可以让光标跳到输入的数字的行数

我们打开行数比较多的文件:

vim /etc/profile

image-20201006092845032

开启行数:

:set nu

让光标跳到30行,输入30:

image-20201006093149167

然后再shift+g或者G:

image-20201006093221061

posted @ 2020-10-06 09:46  杜撰丶  阅读(166)  评论(0编辑  收藏  举报