zoukankan      html  css  js  c++  java
  • vi编辑器的简单介绍和使用

    0x00简介

    vi由比尔·乔伊(Bill Joy)撰写,所有UNIX like均默认安装此文本编辑器。vi很小,符合Unix哲学中的“只做一件事,并做好它”。vim(vi IMproved)是vi的升级版,现在大多数Linux系统都装了vim。

    0x01三种模式

    1、vi是一种模式文本编辑器,具备三种使用模式。

    • 一般模式:默认模式,用于移动光标、删除、复制、粘贴;
    • 编辑模式:用于插入或替换编辑文本;
    • 命令模式:用于查找、保存、替换大量文本、显示行号等。

    2、三种模式的切换:

    vi模式切换 1

    0x02一般模式

    1、进入vi

    vi testvi.txt

    如果该文件不存在,则保存退出后将新建该文件。

    1 [root@localhost geek]# ls
    2 1.txt  cprograms                  iftop-0.17.tar.gz  公共  视频  文档  音乐
    3 2.txt  htop-1.0.2-6.1.x86_64.rpm  scripts            模板  图片  下载  桌面
    4 [root@localhost geek]# vi testvi.txt

    输入“:”进入命令模式,再输入“wq”保存并退出。 


    这里写图片描述

    1 [root@localhost geek]# ls
    2 1.txt      htop-1.0.2-6.1.x86_64.rpm  testvi.txt  视频  下载
    3 2.txt      iftop-0.17.tar.gz          公共        图片  音乐
    4 cprograms  scripts                    模板        文档  桌面

    2、返回一般模式

    不管是在编辑模式还是命令模式,返回一般模式只需要按【esc】键。特别注意:编辑模式和命令模式不可直接切换,要先切换到一般模式才可以。动动脑筋就知道这样设计的道理了。

    3、退出vi

    在一般模式下,输入“:”进入命令模式,再输入“wq”保存并退出。如果碰到权限问题,可以“wq!”强制写入然后退出。

    4、移动光标

    1. 上下左右:左用h或←,上用k或↑,下用j或↓,右用l或→;
    2. 上下滚动:上滚用【Ctrl】+【b】(backward),下滚用【Ctrl】+【f】(foreword);
    3. 行首行尾:行首用“0”或【home】,行尾用“$”或【end】;
    4. 文首文尾:文首用“gg”或“1G”,文尾用“G”;

    5、复制、粘贴、删除

    1. 复制:yy,复制光标所在一行;nyy,复制光标所在向下n行;
    2. 粘贴:p,粘贴在光标下一行;P,粘贴在光标上一行;
    3. 删除:x或【Del】,向后删除一个字符;X或【backspace】,向前删除一个字符;dd,删除光标所在一行;ndd,删除光标所在向下n行。

    6、复原、重做和重复

    1. 复原:u;
    2. 重做:【Ctrl】+r;
    3. 重复上一操作:”.”。

    0x03编辑模式

    1、插入模式

    • i,I(insert)

    从当前光标处插入

    i

    从当前行的第一个非空格符处开始插入

    I

    • a,A(append)

    从当前光标的下一个字符处开始插入

    a

    从当前行的最后一个字符处插入

    A

    • o,O

    当前行的下一行处插入新行

    o

    当前行的上一行处插入新行

    O

    2、替换模式

    • r,R(replace):

    替换光标所在的字符一次

    r

    一直替换光标所在的文字

    R

    0x04命令模式

    1、查找与替换

    1. 查找:

    向下查找名称为word的字符串:

    /word

    向上查找名称为word的字符串:

    ?word

    重复前一个查找:

    n

    反向重复前一个查找:

    N

    1. 替换:

    在n1和n2行之间查找word1,并将其替换为word2

    :n1,n2s/word1/word2/g

    全文查找word1,并将其替换为word2

    :1,$s/word1/word2/g

    全文查找word1,并提示用户确认(confirm)是否将其替换为word2

    :1,$s/word1/word2/gc

    2、行号的设置

    显示行号(number):

    :set nu

    取消行号(no number):

    :set nonu

    3、保存和离开

    保存:

    :w

    另存为:

    :w [filename]

    离开:

    :q

    保存并离开:

    :wq或 
    :x

    写在后面:

    1. 子曰:「学而不思则罔,思而不学则殆」。
    2. 站点地图
    2. 本作品作者为 Lshare,采用知识共享署名 4.0 国际许可协议进行许可。
  • 相关阅读:
    数据库三级考试的随笔2.0
    数据库三级考试的随笔1.2
    数据库三级考试的随笔1.1
    数据库三级考试的随笔1.0
    陈贤文的第一次试水
    点分治总结
    Treap总结
    UML之二、建模元素(1)
    StarUML之九、starUML的一些特殊属性的说明
    UML之一、为什么需要UML?
  • 原文地址:https://www.cnblogs.com/lshare/p/4641607.html
Copyright © 2011-2022 走看看