• 文本编辑器vi使用命令


    使用对象:

    用于编辑任何ASCII文本,对于编辑源程序尤其有用。可以对文本进行创建】查找、替换、删除、复制和粘贴等操作。

    三种工作模式

    1. 命令模式:进入vi编辑器默认处于命令模式。命令模式下控制屏幕光标的移动,字符、字或行的删除,某区域的移动、复制等。在命令模式下,按冒号键【:】可以进入末行模式,按字母【a】键可以进入插入模式。
    2. 插入模式:只有在插入模式下,才可以进行文本编辑。在插入模式下按【Esc】键可以回到命令模式。
    3. 末行模式:将文件进行保存或退出vi编辑器,以可以设置编辑环境、替换字符或删除字符。在末行模式下按【Esc】键可以回到命令模式。

    进入插入模式命令

    命令功能
    i 从光标当前所在位置之前开始插入
    a 从光标当前所在位置之后开始插入
    I 在光标所在行的行首插入
    A 在光标所在行的行末尾插入
    o 在光标所在的行的下面新开一行插入
    O 在光标所在的行的上面新开一行插入
    s 删除光标位置的一个字符,然后进入插入模式
    S 删除光标所在的行,然后进入插入模式

    光标移动

    命令功能
    ↑键(向上箭头) 使光标向上移动一行
    ↓键(向下箭头) 使光标向下移动一行
    ←键(向左箭头) 使光标向左移动一个字符
    →键(向右箭头) 使光标向右移动一个字符
    k 使光标向上移动一行
    j 使光标向下移动一行
    h 是光标向左移动一个字符
    l 使光标向右移动一个字符
    nk 使光标向上移动n行,n代表数字
    nj 使光标向下移动n行,n代表数字
    nh 使光标向左移动n个字符,n代表数字
    nl 使光标向右移动n个字符,n代表数字
    H 使光标移动到屏幕的顶部
    M 使光标移动到屏幕中央
    L 使光标移动到屏幕底部
    Ctrl+b 使光标往上移动一页屏幕
    Ctrl+f 使光标往下移动一页屏幕
    Ctrl+u 使光标往上移动半页屏幕
    Ctrl+d 使光标往下移动半页屏幕
    0(数字0) 使光标移动到所在行的行首
    $ 使光标移动到光标所在行的行尾
    ^ 使光标移动到光标所在行的行首
    w 使光标跳到下一个字的开头
    W 使光标跳到下一个字的开头,但会忽略一些标点符号
    e 使光标跳到下一个字的字尾
    E 使光标跳到下一个字的字尾,但会忽略一些标点符号
    b 使光标移回到上一个字的开头
    B 使光标回到上一个字的开头,但会忽略一些标点符号
    使光标移动到上一个句首
    使光标移动到下一个句首
    使光标移动到上一个段落首
    使光标移动到下一个段落首
    G 使光标移动到文件尾(最后一行的第一个非空白字符处)
    gg 使光标移动文件首(第一行第一个非空白字符处)
    space键(空格键) 使光标向右移动一个字符
    Backspace键 使光标向左移动一个字符
    Enter键 使光标向下移动一行
    Ctrl+p 使光标向上移动一行
    Ctrl+n 使光标向下移动一行
    n分隔符 使光标移动到n个字符处,n代表数字
    nG 使光标移动到n行首,n代表数字
    n+ 使光标向下移动n行,n代表数字
    n- 使光标向上移动n行,n代表数字
    n$ 使光标移动到以当前行算起的第n行尾,n代表数字

    命令模式命令

    类型命令功能
    删除 x 删除光标位置所在的字符
      X 删除光标所在位置的前一个字符
      nx 删除光标所在位置的第n个字符
      nX 删除光标所在为主的前面n个字符,n代表数字
      dd 删除光标所在行
      ndd 从光标所在行开始删除第n行,n代表数字
      db 删除光标所在位置的前面一个单词
      ndb 删除光标所在位置的前面n个单词,n代表数字
      dw 从光标所在位置开始删除一个单词
      ndw 从光标所在位置开始删除n个单词,n代表数字
      d$ 删除光标到行尾的内容(含光标所在处字符)
      D 删除光标到行尾的内容(含光标所在处字符)
      dG 从光标位置所在行一直删除到文件尾
    复制和粘贴 yw 复制光标所在位置到单词尾的字符
      nyw 复制光标所在位置开始的n个单词,n代表数字
      yy 复制光标所在行
      nyy 复制从光标所在行开始的n行,n代表数字
      y$ 复制光标所在位置到行尾内容或缓存区
      y^ 复制光标前面所在的位置到行首内容或缓存区
      YY 将当前行复制到缓冲区
      nYY 将当前开始的n行复制到缓冲区,n代表数字
      p 将缓冲区的内容写到光标所在的位置
    替换 r 替换光标所在处的字符,按【r】键以后输入要替换的字符
      R 替换光标所到之处的字符,直到按下【Esc】键为止,【R】键之后输入要替换的字符
    撤销和重复 u 撤销上一个操作。按多次【u】可以执行多次撤销
      U 取消所有操作
      . 再执行一次前面刚完成的操作
    列出行号 Ctrl+g 列出光标所在行的行号
    保存和退出 ZZ 保存和退出
      ZQ 不保存退出
    查找字符 /关键字 先按【/】键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按【n】键往后查找下一个关键字,而按【N】键则会往相反的方向查找。
      ?关键字 先按【?】键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按【n】往前查找下一个关键字,而按【N】键会往相反方向查找
    合并 nJ 将当前行开始的n行进行合并,n代表数字
      J 清除光标所在行与下一行之间的换行,行尾没有空格的话会自动添加一个空格

    末行模式命令

    类型命令功能
    运行Shell命令 :!command 运行Shell命令,command代表命令
      :r!command 将命令运行的结果信息输入到当前位置,command代表命令
      :n1,n2w!command 将n1到n2行的内容作为命令的输入,n1和n2代表数字,command代表命令
    查找字符 :/str/ 从当前光标开始往右移动到有str的地方,str代表字符
      :?str? 从当前贵宾卡i是往左移动到有str的地方,str代表字符
    替换字符 :s/str1/str2 将光标所在行第一个字符str1替换为str2,str1和str2代表字符
      :s/str1/str2/g 将光标所在行所有的字符str1替换为str2,str1和str2代表字符
      :n1,n2s/str1/str2/g 用str2替换从第n1行到第n2行中出现的str1,str1和str2代表字符,n1和n2代表数字
      :%s/str1/str2/g 用str2替换文件中所有的str1,str1和str2代表字符
      :.,$s/str1/str2/g 将从当前位置到结尾的所有的str1替换为str2,str1和str2代表字符
    保持和退出 :w 保持文件
      :w filename 将文件另存为filename
      :wq 保持文件并退出vi编辑器
      :wq filename 将文件另存为filenam后退出vi编辑器
      :wq! 保存文件并强制退出vi编辑器
      :wq! filename 将文件另存为filename后强制退出vi编辑器
      :x 保存文件并强制退出vi编辑器,其功能和:wq!相同
      :q 退出vi编辑器
      :q! 如果无法离开vi,强制退出vi编辑器
      :n1,n2w filename 将从n1行开始到n2行结束的内容保持到文件filename中,n1和n2代表数字
      :nw filename 将第n行内容保持到文件filename中,n代表数字
      :1,.w filename 从第一行开始到光标当前位置的所有内容保持到文件filename中
      :.,$w filename 将光标当前位置到文件末尾的所有内容保持到文件filename中
      :r filename 打开另外一个已经存在的文件filename
      :e filename 新建名为filename的文件
      :f filename 把当前文件改为filename文件
      :/str/w filename 将包含有str的行写到文件filename中,str代表字符
      :/str1/,/str2/w filename 将从包含有str1开始到str2结束的行内容写入到文件filename中,str1和str2代表字符
    删除 :d 删除当前行
      :nd 删除第n行,n代表数字
      :n1,n2 d 删除从n1行开始到n2行为止的所有内容,n1和n2代表数字
      :.,$d 删除从当前行开始到文件末尾的所有内容
      :/str2/,/str2/d 删除从str1开始到str2为止的所在行的所有内容,str1和str2代表字符
    复制和移动 :n1,n2 co n3 将从n1行开始到n2行为止的所有内容复制到n3行后面,n1、n2和n3代表数字
      :n1,n2 m n3 将从n1行开始到n2行为止的所有内容移动到n3行后面,n1、n2和n3代表数字
    跳到某一行 :n 在冒号后输入一个数字,再按回车键就会跳到该行,n代表数字
    设置vi环境 :set number 在文件中的每一行前面列出行号
      :set nonumber 取消在文件中的每一行前面列出行号
      :set readonly 设置文件为只读状态

    摘自:《Linux实用教程》人民邮电出版社出版发行 於岳编著

  • 相关阅读:
    OCX控件的注册卸载,以及判断是否注册
    SimpleJdbcTemplate批量更新(BeanPropertySqlParameterSource)
    hibernateTemplate封装jdbc的一个简单思路
    Dao层查询
    ==与equals方法的区别(Java基础)
    中文乱码解决办法
    spring核心配置文件_ActiveMQ消息队列配置
    spring核心配置文件_Elasticsearch搜索配置
    spring核心配置文件_数据库连接信息
    spring核心配置文件_数据库连接信息_数据库信息
  • 原文地址:https://www.cnblogs.com/mylive/p/11186762.html
Copyright © 2020-2023  润新知