Linux vi 使用方法

    xiaoxiao2021-03-25  120

    ++++++++++++++++++++

    更新于2019-11-14

    vim官方手册, 很多小技巧

    ++++++++++++++++++++

    以下编写于2017年

    一般系统都会带有vim与vi的作用功能相同,不同之处是vim对于关键字和参数都会添加颜色标示。

     

    vi有三种模式,命令模式、输入模式、末行模式

    一、命令模式:实现控制功能,如:移动光标、复制、粘贴、剪切、删除等等。

    二、输入模式:编辑内容。

    三、末行模式:保持文本、退出、字符串替换、列出行号等功能。

     

    vi一个不存在的文件之后可以直接编辑文件,但是必须保持。该文件才会保持下来,否则退出之后文件不存在。

    一、命令模式

    1、光标移到操作:

    h、j、k、l

    分别将光标向左、下、上、右移到

     

          k

     

           h

     

           l

     

           j

     

    num+[h|j|k|l]

    表示向对应的方向移到num个字符/行数

    num+enter

    表示到num行之后

    :+num+enter

    表示到第num行

     

     

    H

    将光标定位到当前页面的首行首个字符

    L

    将光标定位到到期页面的末行首个字符

     

    gg

    跳到文本首行首个字母

    G

    跳到文本末行首个字母

     

    0

    将光标定位到行首

    E/$

    将光标定位到行末

     

    e

    将光标移到下一个单词尾部

     

    b

    将关标移到上一个单词首部

    w

    将光标移到下一个单词首部

     

    B

    将光标移到上一个空格之前

    W

    将光标移到下一个空格之后

     

    ctrl+f

    向下翻页

    ctrl+b

    向上翻页

    移到上一个句子行首(句子区分方式:符号+空格|换行)

    移到下一个句子行首(句子区分方式:符号+空格|换行)

    {

    移到到上一个空白行

    }

    移动到下一个空白行

     

    2、复制选中操作

    yy

    复制光标所在行

    num+yy

    复制光标所在行起的num行

    p

    在光标所在行后粘贴复制板内容

    P

    在光标所在行前粘贴复制板内容

    v

    开启横向选中模式,并以光标所在地为复制开始点。然后结合光标移到操作,选中跟多内容。(再次按将退出选中)

    V

    开启横向选中模式,并复制当前光标所在行。然后结合光标移到操作,选中跟多内容。(再次按将退出行选中,第三次按将退出选中模式)

    ctrl+v

    进入纵向选中,并以光标所在地为复制开始点。然后结合光标移到操作,选中跟多内容。(再次按将退出选中)

     

    3、删除操作

    d+[num]+[h|l]

    h代表向前删除num个字符,l代表向后删除num个字符

    d+[num]+[j|k]

    j代表向下删除num行,k代表向上删除num行

    dd

    删除光标所在行

    D

    删除光标所在行中光标后的所有字符

    num+dd

    删除光标起num行

    x

    删除光标所在字符

     

     

    4、进入输入模式方法:

    O

    在光标所在行的前一行输入

    o

    在光标所在行的后一行输入

    i

    在光标前位置输入

    I

    在行首输入

    a

    在光标后输入

    A

    在行尾输入

    s

    删除光标所在字符,然后进入输入

    S

    删除光标所在行(行保留为空白行),然后输入

    5、撤销操作:

    u

    撤销上一步操作,可以撤销到最初始修改时

     

    二、末行模式

    :+command

    执行命令

    /+字符

    向下查找字符

    ?+字符

    向上查找字符

    :q

    退出不保存

    :q!

    强制退出不保存

    :wq

    写保存

    :wq!

    强制写保存

    :x

    写保存

    :x!

    强制写保存

    command举例

    :cd dir

    到dir目录去(子shell)

    :sp

    纵向分屏显示 使用ctrl+w 然后加方向键控制移动到相应屏幕

    :vsp

    横向分屏显示 使用ctrl+w 然后加方向键控制移动到相应屏幕

    :vsp/sp +filename

    分屏打开filename

    :s/1/2/

    只将第一个匹配到的1替换为2

    :s/1/2/g

    把当前行中所有的1都换为2

    :1,5s/1/2/g

    把1到5行的所有的1都换为2

    :%s/1/2/g

    把文本中的所有1都换为2

    转载请注明原文地址: https://ju.6miu.com/read-5159.html

    最新回复(0)