任何用户最常做的事要数创建和编辑文件,包括文档、报告和文字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,使用vi,只要记著少量基本指令,就可以开始起步,再学习其他更复杂的指令,而系统管理员则使用vi管理和维护系统。
vi是包含在SCO System V作业系统中的全荧幕编辑,其实,vi不独存在於SCO UNIX内,而是UNIX内相当普及的文件编辑。开启文件无论是开启新档或修改旧文件,都可以使用vi。
格式:
   #vi filename
   如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在创建新文件。如果文件早已存在,vi则会显示文件的首24行,用户可再用游标(cursor)移动文件。
   这是执行Vi后的屏幕样式:
    ~
    ~
 上面是一个经vi开启的模拟文件,一行开始处的波折号(~)表示文件的结尾。 vi使用了两种状态,一是指令态(Command Mode),另一是插入态(Insert Mode)。当vi处於指令态时,打入的内容会视作指令来解释;另一方面,当vi处於插入态时,就可以打入正文(text)给文件。
    大多数vi指令是单字符,由插入态改变为指令态,按〈Esc〉键;而由命令态转为插入态,则可以使用下面的插入令,直接打入,无需再按〈Return〉键。
l  插入
    i  在游标处插入正文
    I  在一行开始处插入正文
    a  在游标後追加正文
    A  在行尾追加正文
    o(小写欧)    在游标下面新开一行
    O(大写欧)  在游标上面新开一行
    要记著一点,在插入态处,不能打入指令,必需先按〈Esc〉键,返回指令态。假若户用不知身处何态,也可以按〈Esc〉键,不管处於何态,都会返回指令态。
l  存盘及退出
    在修改文件时,如何存档及退出指定文件都非常重要。在vi内,行使存档或退出的指令时,要先按冒号(:),改变为指令态,用户就可以看见在荧幕左下方,出现冒号(:),显示vi已经改为指令态,可以进行存档或退出等工作。
    下面就是一些这方面常用的指令。
     :q!  放弃任何改动而退出vi,也就是强行退出
     :w   存档
     :wq  存档并退出vi
     :x   与wq的工作一样
     :zz  与wq的工作一样删除正文
l  删除
     删除或修改正文都是利用插入态,故此,下面所提及的指令只需在插入态内,直接选入指令即行。
     x    删除游标处字符(Character)
     nx   删除游标处後n个字符
     nX   删除游标处前n个字符
     ndw  删除游标处下n个单词(word)
      dd       删除整行
      d$或D   删除由游标至该行最末
      u        恢复前一次所做的删除
l  修改正文
      当使用vi修改正文,加减字符时,就会采用另一组在插入态操作的指令。
            — r char由char代替游标处的字符
            —Rtext〈Esc〉由text代替游标处的字符
            —cwtext〈Esc〉由text取代游标处的单词
            —Ctext〈Esc〉由text取代游标处至该行结尾处
            —cc使整行空白,但保留游标位置,让你开始打入
            —如删除指令一样,在指令前打入的数,表示执行该指令多少次。
l正文模式检索
     要检索文件,必需在指令态下进行。所谓「模式」,就是一个特定字符串,其中可含空格符。
    /str〈Return〉   向前搜寻str直至文件结尾处
    ?str〈Return〉    往後搜寻str直至文件开首处
    n     同一方向上重复检索
    N     相反方向上重复检索
    vi缠绕整个文件,不断检索,直至找到与模式相匹配的下一个出现。其他如果要在 vi执行期间,转到shell执行,使用惊叹号(!)执行系指令,例如在vi期间,列出当前目录内容,可以打入:!If
     另一方面,用户可以在主目录中创建.exrc环境文件,用set打入选项,每次调用vi时,就会读入.exrc中的指令与设置。下面是.exrc环境文件的实例:
            set wrapmarging=8
            set showmode
            set autoindent
            set number

【LINUX】VI相关命令的更多相关文章

  1. 基于SecureCRT的测试环境的克隆的linux/vi相关命令

    #chmod -R 777*; 参数-R:对当前目录下的所有档案与子目录进行相同的权限 变更(即以递归的方式逐个变更). *:通配符,指的是当前目录下的所有文件及目录. 所有文件及其子目录的文件拥有者 ...

  2. Linux文件管理相关命令

    Linux文件管理相关命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...

  3. linux vi查找命令

    linux vi查找命令   div id="article_content" class="article_content">  使用vi编辑器编辑长文 ...

  4. Linux进程相关命令使用场景

    Linux进程相关命令使用场景 在Linux系统上工作时,我们常常会碰到很多和进程相关的查询场景,今天在这里进行详细的讲解,进程相关的对象包括以下几个: 端口:Port 进程号:PId 执行文件所在路 ...

  5. vi相关命令

    vi相关命令在行首加#        :% s/^/#        删除#        :% s/#//在行末加#        :% s/$/#        删除        :% s/#$ ...

  6. Linux 网络相关命令 Cheat Sheet

    以下漫画形式呈现的常用 Linux 网络相关命令速查表来自 twitter -

  7. linux:vi替换命令

    linux:vi替换命令 vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询 ...

  8. Linux性能相关命令

    Linux性能相关命令 目录 Linux性能相关命令 1. 查看硬盘相关信息 2. 查看CPU相关信息 3. 查看内存相关信息 4. 查看进程运行的信息 1. 查看硬盘相关信息 cat /proc/s ...

  9. Linux解压缩相关命令

    Linux解压缩相关命令 运行级别: 0:关机 1:单用户 2:多用户无网络连接 3:多用户有网络连接 4:系统保留 5:图形界面 6:系统重启 通过init[0123456]来切换不同的运行级别 g ...

  10. Linux 文本相关命令(1)

    Linux 文本相关命令(1) 前言 最近线上环境(Windows Server)出现了一些问题,需要分析一下日志.感觉 Windows 下缺少了一些 Linux 系统中的小工具,像在这波操作中用到的 ...

随机推荐

  1. ios原声音频播放AVAudioSession 总结

    //音频播放/*英译:record:录音 */ 1 导入头文件#import<AVFoundation/AVFoundation.h>//AVAudioSession是一个单例模式.在IO ...

  2. Python 迭代器 & __iter__方法

    转载来自: http://blog.csdn.net/bluebird_237/article/details/38894617 迭代器就是重复地做一些事情,可以简单的理解为循环,在python中实现 ...

  3. 【leetcode】Unique Binary Search Trees (#96)

    Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...

  4. JavaScript Bind()趣味解答 包懂~~

    首先声明一下,这个解答是从Segmentfault看到的,挺有意思就记录下来.我放到最下面: bind() https://developer.mozilla.org/zh-CN/docs/Web/J ...

  5. 彻底解决m2eclipse之Unable to update index for central

    原文链接:https://my.oschina.net/itblog/blog/208581 maven是个好东西,eclipse上的maven插件m2eclipse也非常方便,但是最近这个东西经常无 ...

  6. Android想服务器传图片,透过流的方式。还有读取服务器图片(文件),也通过流的方式。

    /** * Created by Administrator on 2016/7/19. */ import android.util.Log; import com.gtercn.asPolice. ...

  7. 【html+css】关于页面布局中遇到的问题记录

    关于行内元素: 行内元素设置width无效, height无效(可以设置line-height), margin上下无效,padding上下无效,margin和padding可设置左右.   text ...

  8. QuickTest Professionar 快捷键

    新建Test – New Test CTRL + N录制 – Record F3打开Test – Open Test CTRL + O新建业务组件 – Business Component > ...

  9. sublime text3点击ctrl+B无法运行Python程序?

    1.打开sublime text 3 ,选择 tools-->Build System-->New Build System.... 2.将下面代码块复制进新文件中,并命名为Python. ...

  10. 【Oracle】去除表中重复的数据

    删除表重复数据 (t1表中有重复数据)1.使用distinct create table t2 as select * from t1;create table tmp_t2 as select di ...