• Linux下 VI 编辑器操作


    VI编辑器的三种模式:命令模式、输入模式、末行模式。

    1、命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在何种模式下,【Esc】键都可以回到命令模式。在命令模式中输入“i”,“insert”都可以进入输入模式编辑文件。
    2、输入模式:在这个模式下,可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“--INSERT--”标志着vi进入了输入模式。当我们完成修改输入等操作的时候我们需要保存文件,这是我们需要先返回命令模式,在进入末行模式保存。
    3、末行模式:在命令模式输入“:”即可进入该模式,在末行模式中有很多好用的命令。

    VI编辑操作:

    进入输入模命令:

    - i 插入命令
    - a 附加命令
    - o 打开命令
    - c 修改命令
    - r 取代命令
    - s 替换命令
    - Esc 退出命令

    行号操作:

    - :set nu 显示所有行号
    - :nu 显示当前行号
    - :m 定位到第m行

    删除操作:(命令模式使用):

    - x 删除光标处的单个字符
    - dd 删除光标所在的行
    - dw 删除当前字符到单词尾包括空格的所有字符
    - *x 例如3x删除光标处向右的三个字符
    - *dd 例如3dd从当前行开始向下删除三行文本

    撤销操作:

    - u 取消最近一次的操作,可以使用多次来恢复原有的操作
    - U 取消所有操作
    - Ctrl+R 可以恢复对使用u命令的操作

    复制操作:

    - yy 复制当前整行内容到vi缓冲区
    - yw 复制当前光标所在位置到单词尾字符的内容到vi缓冲区,相当于复制一个单词
    - y$ 复制光标所在位置到行尾内容到缓冲区
    - y^ 复制光标所在位置到行首内容到缓冲区
    - *yy 例如5yy就是复制5行
    - #yw 例如2yw就是复制两个单词
    - 如果要复制第m行到第n行之间的内容,可以在末行模式中输入m,ny例如5,8y复制第5行到第8行到缓冲区

    查找和替换:

    vi的查找和替换功能主要在命令模式下完成:

    查找操作:

    - 至上而下的查找
    - / 要查找的字符串,其中/代表从光标的位置开始查找,例如:/work
    - 至下而上的查找
    - ?要查找的字符串,例如:?work

    替换操作:

    - :s/old/new 用new替换行中首次出现的old
    - :s/old/new/g 用new替换行中所有出现的old
    - :m,n s/old/new/g 用new替换从第m行到第n行中出现的old
    - :%s/old/new/g 用new替换整编中出现的old
    - 如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c或s/old/new/gc

    恢复文件操作:

    vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以.swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择以下命令处理:
    - O 只读打开,不改变文件内容
    - E 继续编辑文件,不恢复.swp文件保存的内容
    - R 将恢复上次编辑以后未保存文件内容
    - Q 退出vi
    - D 删除.swp文件或者使用 vi -r 文件名 来恢复未保存的内容

  • 相关阅读:
    BZOJ3105: [cqoi2013]新Nim游戏 博弈论+线性基
    BZOJ3759: Hungergame 博弈论+线性基
    NOI模拟赛Day2
    期望dp BZOJ3450+BZOJ4318
    NOI模拟赛 Day1
    NOI模拟 热身赛T1
    【BZOJ4260】 Codechef REBXOR 可持久化Trie
    【BZOJ3673】&&【BZOJ3674】: 可持久化并查集 by zky 可持久化线段树
    【BZOJ3207】花神的嘲讽计划I 可持久化线段树/莫队
    【bzoj3527】[Zjoi2014]力 FFT
  • 原文地址:https://www.cnblogs.com/sebastian-tyd/p/9306643.html
Copyright © 2020-2023  润新知