linux下c语言编程 vi 简介

 /*本文选自博创linux实验指导书

*留着自己学习之用

*在这里保存着,分享一下*/

 

 

VI 简介
    vi 是 Linux/Unix 世界里极为普遍的可视化的全屏幕文本编辑器(visual edit),几乎可
以说任何一台 Linux/Unix 机器都会提供这个软件。
    vi 有三种状态,即编辑方式、插入方式和命令方式。在命令方式下,所有命令都要
以:开始,所键入的字符系统均作命令来处理,如:q 代表退出,:w 表示存盘。当你进入
vi 时,会首先进入命令方式(同时也是编辑方式)                        。按下 i 就进入插入方式,用户输入的
可视字符都添加到文件中,显示在屏幕上。按下 ESC 就可以回到命令状态(同时也是编
辑方式)    。
    编辑方式和命令方式类似,都是要输入命令,但它的命令不要以:开始,它直接接受
键盘输入的单字符或组合字符命令,例如直接按下 u 就表示取消上一次对文件的修改,相
当于 WINDOWS 下的 Undo 操作。编译方式下有一些命令是要以/开始的,例如查找字符
串就是:/string 则在文件中匹配查找 string 字符串。在编辑模式下按下:就进入命令方式。
    基本命令解释:
    1.光标命令
    k、j、h、l-上、下、左、右光标移动命令。虽然您可以在 Linux 中使用键盘右边的 4
            但是记住这 4 个命令还是非常有用的。 4 个键正是右手在键盘上放置的基本
个光标键,                                           这
位置。
    nG-跳转命令。n 为行数,该命令立即使光标跳到指定行。
    Ctrl+G-光标所在位置的行数和列数报告。
    w、b-使光标向前或向后跳过一个单词。
    2.编辑命令
    i、a、r-在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。
    cw、dw-改变(置换)/删除光标所在处的单词的命令(c=change、d=delete)。
    x、d$、dd-删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。
    3.查找命令
    ---- /string、?string-从光标所在处向后或向前查找相应的字符串的命令。
    查找下一个键入 n
    4.拷贝复制命令
    ---- yy、p-拷贝一行到剪贴板或取出剪贴板中内容的命令。
                     )下键入 y3,表示从当前光标处开始复制 3 行,数字可以自己根据需要
    在命令提示(:
修改,之后将光标移动到需要粘贴的地方,键入 p 即可粘贴刚刚复制的内容。
    常用操作:
    无论是开启新档或修改旧文件,都可以使用 vi,所需指令为:
    $ vi filemane
    如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在创建新文件。如果文
件早已存在,vi 则会显示文件的首廿四行,用户可再用光标(cursor)上下移动。


    ~
    ~
    上面是一个经 vi 开启的模拟文件,一行开始处的波折号(~)表示文件的结尾。
    —指令 i 在光标处插入正文
    —指令 I 在一行开始处插入正文
    —指令 a 在光标後追加正文
    —指令 A 在行尾追加正文
    —指令 o 在光标下面新开一行
    —指令 O 在光标上面新开一行
    在插入方式下,不能打入指令,必需先按〈Esc〉键,返回命令方式。假若户不知身
处何态,也可以按〈Esc〉键,不管处於何态,都会返回命令方式。在修改文件时,如何存
档及退出指定文件都非常重要。在 vi 内,行使存档或退出的指令时,要先按冒号(:)                                    ,改
                                                     ,显示 vi 已经改为指令态,
变为命令方式,用户就可以看见在荧幕左下方,出现冒号(:)
可以进行存档或退出等工作。
    :q!放弃任何改动而退出 vi,也就是强行退出
    :w 存档
    :w! 对于只读文件强行存档
    :wq 存档并退出 vi
    :x 与 wq 的工作一样
    :zz 与 wq 的工作一样删除正文
    删除或修改正文都是利用编辑方式,故此,下面所提及的指令只需在编辑方式下,直
接键入指令即行。
    —x 删除光标处字符(Character)
    —nx 删除光标处後 n 个字符
    —nX 删除光标处前 n 个字符
    —ndw 删除光标处下 n 个单词(word)
    —dd 删除整行
    —d$或 D 删除由光标至该行最末
    —u 恢复前一次所做的删除
    当使用 vi 修改正文,加减字符时,就会采用另一组在编辑方式下操作的指令。
    — r char 由 char 代替光标处的字符
    —Rtext〈Esc〉由 text 代替光标处的字符
    —cwtext〈Esc〉由 text 取代光标处的单词
    —Ctext〈Esc〉由 text 取代光标处至该行结尾处
    —cc 使整行空白,但保留光标位置,让你开始打入
    —如删除指令一样,在指令前打入的数,表示执行该指令多少次。要检索文件,必需
在编辑方式下进行。
    —/str〈Return〉向前搜寻 str 直至文件结尾处

 

                    
      —?str〈Return〉往後搜寻 str 直至文件开首处
      —n 同一方向上重复检索
      —N 相反方向上重复检索
      —vi 缠绕整个文件,不断检索,直至找到与模式相匹配的下一个出现。
      全程替换命令:
      :%s/string1/string2/g 在整个文件中替换“string1”成“string2”。
      如果要替换文件中的路径:使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径
/usr/bin 换成/bin。也可以使用命令“:%s///usr//bin///bin/g”实现,其中“/”是转义字符,表明其
后的“/”字符是具有实际意义的字符,不是分隔符。同时编辑 2 个文件,拷贝一个文件中的
文本并粘贴到另一个文件中:
      命令如下:
      ---- vi file1 file2
      ---- yy 在文件 1 的光标处拷贝所在行
      ---- :n 切换到文件 2 (n=next) 或者按 ctrl+ww,就在两个文件间切换。
      ---- p 在文件 2 的光标所在处粘贴所拷贝的行
      ---- :n 切换回文件 1
      将文件中的某一部分修改保存到临时文件,例如仅仅把第 20~59 行之间的内容存盘
成文件/tmp/1,我们可以键入如下命令。
      ---- vi file
      ---- :20,59w /tmp/1
      如果要在 vi 执行期间,转到 shell 执行,使用惊叹号(!)执行系统指令,例如在
vi 期间,列出当前目录内容,可以键入:
               :!ls
                    用户可以在主目录中创建.exrc 环境文件, set 打入选项,             每次调用 vi 时,
      另一方面,                                         用
就会读入.exrc 中的指令与设置。下面是.exrc 环境文件的实例:
      set wrapmarging=8
      set showmode
      set autoindent

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值