• Vi 编辑器


     Vi的用法

    1.简介

    Vi,是一个文本编辑器,可以执行输出、删除、查找、替换、块操作等众多文本操作,vi不是一个排版程序。不像word或WPS那样可以对字体、格式、段落等属性进行编排,他只是一个文本编辑器。

    2.进入vi文本编辑器的方式

    方式

    说明

    vi

    进入vi默认模式

    vi  filename

    打开新建文件filename,并将光标置于第一行

    vi +n filename

    打开文件filename,并将光标置于n行首

    vi + filename

    打开文件filename,并将光标置于最后一行。

    vi +/pattern  filename

    打开文件filename ,并将光标置于第一个与pattern匹配的行。

    3.Vi的三种模式

     

    4.命令模式下的操作  a o  i 

    1)   命令模式下进入输入模式

    命令

    说明

    i

    光标所在位置前开始插入文本

    I

    将光标移至当前行的行首,然后在其插入文本

    a

    当前光标所在位置之后追加文本。

    A

    将光标挪到当前行的行尾,从那里开始插入新文本

    o

    将光标所在行的下面新开一行,并将光标置于该行的行首,输入文本

    O

    在光标所在行的上面插入一行,并将光标置于该行的行首,等待输入文本

    2)   命令模式下的光标定位

    命令

    说明

     G

    将光标移至最后一行行首   尾部

    gg

    将光标移至第一行(首行)    首部

    nG

    光标移至第n行的行首     直接定位

    n+

    光标下移n行

    n-

    光标向上移动n行

    n$

    光标移至第n行行尾  相对于当前行

    0

    移动至所在行的行首   绝对行首

    $

    移到光标所在行的行尾

    ^

    移到光标所在行的第一个字符(非空格)   非空白符

    h,j,k,l

    左,下,上,右

    3)   命令模式下的替换和删除

    命令

    说明

     rc

    用字符c替换光标所指向的当前字符

    nrc

    用字符c替换光标所指向的n个字符

    x

    删除光标处的字符

    nx

    删除从光标位置开始向右的n个字符

    dw

    删除一个单词

    ndw

    删除n个指定的单词

    db

    删除光标所在位置之前的单词

    ndb

    删除所在位置之前的n个单词

    dd

    删除光标所在整行

    ndd

    删除n行

    dG

    删除光标位置到最后一行的所有内容

    d1G

    删除光标位置到第一行的所有内容

    d$

    删除光标位置到当前行的末尾的内容

    d0

    删除光标位置到当前行开始的内容

    4)   命令模式下的复制和粘贴

    命令

    说明

     yy

    当前行内容复制到缓冲区

    nyy

    将当前行开始n行内容复制到缓冲区

    yG

    将当前光标位置到最后一行的所有内容复制到缓冲区

    y1G

    将当前光标位置到第一行的所有内容复制到缓冲区

    y$

    将当前光标到当前行尾内容复制到缓冲区

    y0

    将当前光标位置到当前行开始的内容复制缓冲区

    p

    将缓冲区的内容写出到光标所在位置

    5)   命令模式下的搜索

    命令

    说明

     /str

    向下查找

    ?str

    向上查找

    n

    相同方向移动

    N

    向反方向移动

    6)   命令模式下撤销、重做

    命令

    说明

     u

    撤销

    Ctrl+r

    重做撤销的动作

    7)   命令模式下退出vi

    命令

    说明

     ZZ

    存盘退出

    ZQ

    不保存退出

    8)   翻屏

    命令

    说明

     Ctrl+f

    向下翻

    Ctrl+b

    向上翻

    5.末行模式下的操作

    1)   末行模式下退出vi

    命令

    说明

    :q

     退出  没有动过文件

    :wq

    保存并退出

    :q!

    不保存并退出

    :w

    保存

    :x

    保存退出等价于:wq

    2)   末行模式下的跳行

    命令

    说明

     :n

    直接输入移动的行号

    3)   在命令模式下搜索和替换字符串

    命令

    说明

    :/str

    向后搜索    n 同方向切换  N 反方向切换

    :?str

    向前搜索     n 同方向切换  N 反方向切换

    :/str/w file

    将包含有str行的写到file中    搜索  io读写     写磁盘

    :/str1/,/str2/w file

    从str1开始到str2结束的内容写入到file文件中

    :s/str1/str2/

    找到的第一个str1替换为str2  在同一行内替换第一个

    :s/str1/str2/g

    找到的所有的str1替换为str2   在同一行内替换所有

    :n1,n2s/str1/str2/g

    从n1行到n2行找到所有的str1替换为str2

    :1,.s/str1/str2/g

    从第一行到当前位置所有的str1替换为str2

    :.,$s/str1/str2/g

    从当前位置到结尾所有的str1替换为str2

    4)   在命令模式下复制、移动和删除文件行

    命令

    说明

    :n1,n2 co n3

    将从n1开始到n2开始为止所有内容复制到n3后面  copy

    :n1,n2 m n3

    将从n1开始到n2为止的所有内容移动到n3后面

    :d

    删除当前行

    :nd

    根据指定的行号删除指定的行

    :n1,n2 d

    删除从n1开始到n2所有内容

    :.,$d

    删除从当前行到结尾的所有内容

    :0,.d

    删除当前行到首行

    :/str1/,/str2/d

    删除从str1开始到str2为止所有内容

     

    5)   在命令模式下的文件相关命令

    命令

    说明

     :w file

    将当前编辑的内容写到file文件中    另存为

    :n1,n2 w file

    将从n1开始到n2结束的行写入到file中

    :nw file

    将第n行写入到文件中

    :1,.w file

    从第一行起到光标当前位置写入到file文件中

    :.,$ w file

    从当前位子到文件结尾内容写入到file中

    :r file

    打开另一个文件

    :e file

    新建file文件

    :f file

    把当前文件改名为file文件

     

    6)   在命令模式下执行Shell命令

    命令

    说明

    :!cmd

     运行Shell命令

    :r!cmd

    将命令运行的结果写入当前位置

    7)   设置vi的环境

    命令

    说明

    :set nu

    设置行号

    :set nonu

    取消行号

    :set       readonly

    设为只读

  • 相关阅读:
    PHP 计算页面执行时间
    PHP 实现多服务器共享 SESSION 数据
    你不了解PHP的10件事情
    智能的PHP缩图类
    php配置文件php.ini 中文版
    PclZip:强大的PHP压缩与解压缩zip类
    https 加载问题
    docker 安装sentry
    requests ssl 报错
    解决长时间计划任务rsync同步进程数过多
  • 原文地址:https://www.cnblogs.com/lxcy/p/8066191.html
Copyright © 2020-2023  润新知