zoukankan      html  css  js  c++  java
  • Linux常用命令(2)--vi (vim)文本编辑工具

    一、vi 编辑器的基本概念 
      vi 编辑器是Linux系统自带的一种功能强大的文本编辑工具。
      vi 可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。不过我们在使用时,一般将“底行模式”也算成是“命令行模式”。三种模式的功能如下:
    • 命令行模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段,以及从命令行模式进入插入模式或底行模式。
    • 底行模式:    将文件保存或退出vi编辑器,也可以用来设置编辑环境,如查找字符串、列出行号等(底行输入" : + 命令 "的方式)。
    • 插入模式:  只有在插入模式下,才可以做文本的编辑和修改;在插入模式下,按「ESC」键可回到命令行模式。
    二、快捷导航 - vi 常用命令
      
      注:以下介绍vi命令时,统一按照两种模式进行区分,即:命令行模式、插入模式。
     
    1、从【命令行模式】切换到【插入模式】
    • 按「i」键:进入插入模式后,是从当前光标位置开始输入字符;
    • 按「a」键:进入插入模式后,是从当前光标的下一个位置开始输入字符;
    • 按「o」键:进入插入模式后,是在当前光标之下插入新的一行,从行首开始输入字符;
    • 按「shift + o」(即:大写‘’O‘’)键:进入插入模式后,是在当前光标之上插入新的一行,从行首开始输入字符。
    2、从【插入模式】切换到【命令行模式】
    • 按「ESC」键:在【插入模式】下,按「ESC」键,切换到【命令行模式】。 
     
     
    3、【命令行模式】保存修改的内容、退出vi编辑器
    : w filename    #保存编辑的文件内容,并将文件的名称设为filename
    : wq            #保存编辑的文件内容,并退出vi 编辑器
    : q!            #不保存编辑的内容,并直接退出vi 编辑器

    4【命令行模式】文本内容被修改后,对修改的内容进行撤销、撤销取消

    u           #在命令模式下,按“u”键,撤销修改的内容,即将内容回退到上次修改之前的状态
    Ctrl + r    #在命令模式下,按“Ctrl+r”键,撤销取消,即在执行【u撤销】之后,再执行【Ctrl + r】将数据恢复到【u撤销】操作之前的状态
    5、【命令行模式】移动光标--上下翻页
     
    vi可以使用键盘的“home”、“end”键,来进行上下翻页。
    vi也可以使用“crtl + 小写字母”,来控制翻页。
    • 按「ctrl」+「b」:屏幕往“后”移动一页。
    • 按「ctrl」+「f」:屏幕往“前”移动一页。
    • 按「ctrl」+「u」:屏幕往“后”移动半页。
    • 按「ctrl」+「d」:屏幕往“前”移动半页。
    6、【命令行模式】移动光标--显示行号、跳转到指定行
    :set  nu     #显示行号
    :set  nonu   #取消显示行号
    :行号         #跳到指定行 
    :1           #跳到文件的第一行
    :$           #跳到文件的最后一行
    gg           #跳到文件的第一行
    Shift + g    #跳到文件的最后一行

     7、【命令行模式】移动光标--上下左右

      vi可以直接用键盘上的上下左右键来控制光标的移动。也可以用小写英文字母,来控制光标的移动。
    • 「h」:向左
    • 「j」:向下
    • 「k」:向上
    • 「l」:向右

    8、【命令行模式】移动光标--快速跳到本行的指定位置

    按「$」:移动到光标所在行的“行尾”。
    按「^」:移动到光标所在行的“行首”
    按「w」:光标跳到下个字的开头
    按「e」:光标跳到下个字的字尾
    按「b」:光标回到上个字的开头

    9、【命令行模式】删除文字、删除行

    「x」:每按一次,删除光标所在位置的“后面”一个字符。
    「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。
    「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
    「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。
    「dd」:删除光标所在行。
    「#dd」:从光标所在行开始删除#行

    10、【命令行模式】复制文字、复制行

    「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
    「#yw」:复制#个字到缓冲区
    「yy」:复制光标所在行到缓冲区。
    「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
    「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
    11、【命令模式】查找字符
    「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
    「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

    注:"n"正向查找,"shift + n"反向查找

    12、【命令行模式】替换字符

    「r」:替换光标所在处的字符(仅替换当前光标所在的一个字符)。
    「R」:从当前光标所在位置开始,替换光标所在之处的字符,直到按下「ESC」键为止。

    13、【命令行模式】按字进行更改(相当于删除指定的一个字 或 多个字)

    「cw」:更改光标所在处的字到字尾处
    「c#w」:例如,「c3w」表示更改3个字

      

  • 相关阅读:
    k8s系列---service
    算法
    golang-练习ATM --面向对象实现
    golang-练习ATM
    k8s系列---pod介绍
    12.20 一组v-if/v-else-if/v-else 的元素类型相同,应该使用 key
    12.20 await 操作符的学习(await后跟非promsie、promsie(成功/失败)的几种情况测试)
    12.20 async关键字的学习
    12.20 falsy变量
    12.19 js中递归优化(递归爆栈)
  • 原文地址:https://www.cnblogs.com/newbie27/p/11087020.html
Copyright © 2011-2022 走看看