• Linux: vi 编辑器


    2.3.7 vi 编辑器

    编辑文件2种方法:1.windows方法:直接双击等,不再赘述。2.命令行使用 gedit

    实例:

    gedit 1.txt 打开并修改某个文件

    ls -l /etc/environment 查看权限和位置。我们的权限是最低层权限,权限不能写,即不能修改。需要使用sudo临时改变权限来修改。

    vi编译器:

    linux没有图形界面,所以使用vi命令。vi 是一个命令,也是一个命令行下的编辑器,它有如下功能:

    ⚫ 打开文件、新建文件、保存文件

    ⚫ 光标移动

    ⚫ 文本编辑

    ⚫ (多行间|多列间)复制、粘贴、删除

    ⚫ 查找和替换

    应用场景:在 Linux 系统中对文件做些简单修改时,使用 vi 命令的效率非 常高。并且在很多时候,比如现场调试时,并没有 GUI 形式的编辑工具,vi 是 唯一选择。

    1. 模式

    vi 编辑器有三种模式,各个模式侧重点不一样: a) 一般模式(光标移动、复制、粘贴、删除) b) 编辑模式(编辑文本) c) 命令行模式(查找和替换) vi 编辑器的三种模式间切换如下图所示:

     

    ⚫ 当不知道处于何种模式时,按 ESC 键返回到一般模式(连续按也可以)。

    ⚫ wq(write quit)

    ⚫ i(insert)

    2. 文件的打开/新建/保存

    打开文件、新建文件,命令如下(如果文件存在则打开文件,否则新建文件 并打开): $ vi 文件名 修改结束之后,输入“:” 进入命令行模式,再输入“wq”保存退出: :wq 保存并退出文件 注意:如果文件不存在,也需要输入“:wq”才可以保存新文件,否则不会新建 文件。在编辑完成时,返回一般模式,方法如下:

    第1步 输入“:w”则保存文件,如果已经保存文件,输入“:q”则退出文件

    第2步 直接输入“:wq”保存并退出

    第3步 如果不想保存被修改的内容,则输入“:q!”强制退出。

    3. 编辑文件

    打开文件后,默认处于“一般模式”,这时可以输入以下字母:

    i 在当前光标所在字符的前面,转为编辑模式。

    I 在当前光标所在行的行首转换为编辑模式。

    a 在当前光标所在字符的后面,转为编辑模式。

    A 在光标所在行的行尾,转换为编辑模式。

    o 在当前光标所在行的下方,新建一行,并转为编辑模式。

    O 在当前光标所在行的上方,新建一行,并转为编辑模式。

    4. 快速移动光标

    在一般模式下,可以使用下面快捷键移动光标或是翻页:

    h (或左方向键) 光标左移一个字符。

    l (或右方向键) 光标右移一个字符。

    j (或下方向键) 光标下移一行。

    k (或上方向键) 光标上移一行。

    nG 或 ngg 光标移动到第 n 行首。

    n+ 光标下移 n 行。

    n- 光标上移 n 行。

    Ctrl + f 屏幕向下翻一页,相当于下一页。

    Ctrl + b 屏幕向上翻一页,相当于上一页。

    :set number 显示行号; :set nonumber隐藏行号。

    快速的定位到某一行:文件头、文件尾、指定某一行

    ⚫ ngg:光标移至第 n 行的行首(n 为数字,想要跳转的行),

    ⚫ 1gg:就跳到第一行的行首,就是文件头

    ⚫ 2gg:就跳到第二行的行首

    ⚫ G:转至文件结尾 ② 在某一行如何快速定位到某一列:

    ⚫ 0:(数字零)光标移至当前行行首

    ⚫ $:光标移至当前行行末

    ⚫ fx:搜索当前行中下一个出现字母 x 的地方

    注意:当你不知道 vi 当前处于何种模式时,使用 esc 键返回到一般模式。

    实例:

     

    vi 2.txt 使用vi编译,创建并编译txt(此处直接使用:wq退出了,所有2.txt是0字节,无内容)

    ls -l 查看

    vi 2.txt 第二次修改,我加入了www.baidu.com www.zhongwen.com jiayouya等

    cat 2.txt 显示2.txt里的内容。

    5. 文本复制/粘贴/删除/撤销

    在一般模式下,可以执行以下命令:(不推荐一般模式下的操作)

    cc 删除整行,并且修改整行内容。

    dd 删除该行,不提供修改功能。

    ndd 删除当前行向下 n 行。(如删除改行下面的4行,4dd)

    x 删除光标所在的字符。

    X 删除光标前面的一个字符。

    nyy 复制当前行及其下面 n 行。

    p 粘贴最近复制的内容。

    s 删除光标所在字符。

    r 替换光标处字符。

    a) 复制 yy //复制当前行(光标处开始) nyy //复制当前行及其后的 n-1 行(n 是行数)(光标处开始)

    b) 粘贴 p //粘贴(光标处开始)

    c) 删除 dd //删除光标所在行(d:delete) ndd //删除当前行及其后的 n-1 行(n 是数字) x //删除光标所在位置的字符

    d) 撤销 u //撤销上一步操作

    在编辑模式中:(推荐编辑模式下的操作)

    backspace,删除光标所在处。

    dw:删除整个单词(光标在首字母处)

    D:删除光标之后这一行的所有内容。

    o:增加新行,可输入新的内容

    a) 复制 yy //复制当前行(光标处开始) nyy //复制当前行及其后的 n-1 行(n 是行数)(光标处开始)

    b) 粘贴 p //粘贴(光标处开始)

    6. 文本查找和替换

    在一般模式下,可以执行以下命令。(先输入 /xxxx)

    a) 查找

    ⚫ n:在同一个方向重复上一次搜索命令

    ⚫ N:在反方向重复上一次搜索命令

    ⚫ 在/pattern 之前先跳到第一行则进行全文件搜索。

    b) 替换

    ⚫ :%s/p1/p2/g //将文件中所有的 p1 均用 p2 替换

    ⚫ :%s/p1/p2/gc //替换时需要确认

     

  • 相关阅读:
    DML添加数据-删除数据-修改数据
    前途无量的MEMS传感器技术
    管理类联考——数学——汇总篇——知识点突破——数据分析——计数原理——排列组合——排座位
    你知道微服务接口如何设计
    哈希的应用 —— 布隆过滤器
    刷题日常计~JS③
    CMake系列(九) CMake 头文件接口库编译及使用
    商标驳回的原因有哪些?
    事实表的分类
    [附源码]计算机毕业设计springboot校园招聘微信小程序
  • 原文地址:https://blog.csdn.net/wo12369874/article/details/127601160