zoukankan      html  css  js  c++  java
  • Linux编辑器Vim常用命令讲解

    在上一节中,我们基本了解到了Linux系统中的文本编辑Vim,也知道如何去使用vim,其实这个时候我们已经可以去使用vim了,但是如果我们想要提高使用vim的效率,还需要掌握vim的几组常用命令。

    一、插入命令

    插入命令在上一节已经有简单提到过,它总共有3组、6个命令,我们再来回顾一下:

    命令 作用
    a 在光标后附加文本
    A 在本行行末附加文本
    i 在光标前插入文本
    I 在本行开始插入文本
    o 在光标下一行插入新行
    O 在广告上一行插入新行

    为了方便演示,我先把/etc/services文件拷贝到我的test目录中,这里我们用到之前学到的cp命令:

    $ cp /etc/services test.services

    拷贝过来之后,我们使用vi命令进入文件编辑:

    $ vi test.services

    输入命令回车进入之后,我们可以看到有一个闪烁的光标,我们可以使用方向键来移动我们的光标。

    • 比如我们将光标移动到下图中e字母的位置,然后在这个字母后面插入一些文本,可以按下小写a,然后输入想要插入的字符,输入完成之后按Esc退出编辑状态:

    image

    • 我们想要在numbern字母前面插入字符,光标挪到n,然后按下小写i,输入想要插入的字符:

    image

    • 如果我们想在光标所在行的行尾插入字符,按下大写A,按下之后大家可以看到光标自动跳到行尾:

    image

    • 如果我们想在光标所在行的上面一行插入字符,按下大写的O,按下之后,自动在上面多出空白的一行:

    image

    剩下的命令oI也是同理操作。

    二、定位命令(1)
    命令 作用
    h 或 方向左键 左移一个字符
    j 或 方向下键 下移一行
    k 或 方向上键 上移一行
    l或方向右键 右移一个字符
    $ 移至行尾
    0 移至行首
    H 移至屏幕上端
    M 移至屏幕中央
    L 移至屏幕下端

    以上几个定位命令,大家可以在学习环境中一个个对应尝试一下。

    三、定位命令(2)
    命令 作用
    :set nu 设置行号
    :set nonu 取消行号
    gg 到第一行
    G 到最后一行
    nG 到第n行
    :n 到第n行
    • 第一个命令我们在上一节有提到过,用来设置显示行号

    $ :set nu

    image

    输入命令回车之后,在每一行的最开始就显示了行数。相反如要取消显示,输入 :set nonu 即可。

    • 敲下键盘的大写 G,快速跳转到文件的最后一行:

    image

    可以看到,光标现在处于最后一行的行首,这个文件总共有11474行。

    • 比如现在我想快速到达第597行,如果使用方向箭去逐一跳行,还不知道要什么时候才能到达这一行,这个时候我们可以执行:

    $ :597

    回车之后,立马就快速定位到597行了。

    image

    四、删除命令
    命令 作用
    x 删除光标所在处字符
    nx 删除光标所在处后n个字符
    dd 删除光标所在行,ndd删除n行
    dG 删除光标所在行到末尾的内容
    D 删除从光标所在处到行尾
    :n1,,n2d 删除指定范围的行
    • 比如第666行我需要删除字符9,只需要将光标定位到所需要删除的位置,按下小写x即可:

    image

    本来是99,删除之后只有一个9了。

    • 比如现在要删除685行到686行的内容:

    $ :685,686d

    image

    五、复制和剪切命令
    命令 作用
    yy、Y 复制当前行
    nyy、nY 复制当前行以下n行
    dd 剪切当前行
    ndd 剪切当前行以下n行
    p、P 粘贴在当前光标所在行下或上
    • 比如我想复制第四行的内容,然则粘贴到第5行的下面以及第13行的上面,首先我们先看下操作之前的内容:

    image

    首先我们把光标移动到第4行,然后按下大写字母Y或者按两下小写字母y,然后光标再移动到第5行,按下小写p,这样就粘贴在原第5行的下面一行了;然后光标再移动到第13行,按下大写P,这样就粘贴在第13行的上面一行了:

    image

    六、替换和取消命令
    命令 作用
    r 取代光标所在处字符
    R 从光标所在处开始替换字符,按Esc结束
    u 取消上一步操作
    • 比如我们发现第四行的Network单词的字母N错了需要修改,我们可以按i进入插入模式,删除这个字符然后再输入新的字符,但是完全没有必要这么麻烦。我们可以直接将光标移到要修改的字符位置,按一下r,然后输入我们想要修改的字符即可。
    七、搜索和替换命令
    命令 作用
    /string 向前搜索指定字符串;搜索时忽略大小写:set ic
    n 搜索指定字符串的下一个出现的位置
    :%s/old/new/g 全文替换指定字符串
    :n1,n2s/old/new/g 在指定行范围内替换指定字符串
    • 比如我们要搜索与tcp相关的地方,输入以下命令:

    $ /tcp

    回车之后,光标会自动定位到第一个搜索到tcp的位置:

    image

    这个时候再键入字母n,光标会定位到下一个包含tcp的位置。

    • 比如我们要把文件中所有tcp的字符替换成为ftp,输入如下命令:

    $ :%s/tcp/ftp/g

    按回车执行完成之后,大家可以注意到原本tcp的字符串全部变成了ftp,我们执行/tcp查找,发现已经找不到任何tcp相关的结果了:

    image

    关于Vim的讲解就到这里了,当然对于Vim的命令不仅仅是这些,我们首先掌握好以上7种Vim常用基础命令,在我们日常的工作过程中就可以正常的使用Vim编辑器了。

    image

  • 相关阅读:
    初识python 2.x与3.x 区别
    装饰器
    函数的进阶
    Spring Boot启动问题:Cannot determine embedded database driver class for database type NONE
    22.Spring Cloud Config安全保护
    23.Spring Cloud Bus 无法更新问题(踩坑) Spring cloud config server Could not fetch remote for master remote
    24.Spring Cloud之Spring Cloud Config及Spring Cloud Bus
    Spring Boot整合Spring Data Elasticsearch 踩坑
    项目中Spring Security 整合Spring Session实现记住我功能
    32.再谈SpringBoot文件上传
  • 原文地址:https://www.cnblogs.com/jiupai-Linux/p/13457615.html
Copyright © 2011-2022 走看看