zoukankan      html  css  js  c++  java
  • Vim编辑器

    vi编辑器

    • vim是Vi improved的缩写,是vi的改进版
    • linux中,vi被认为是事实上的标准编辑器

    进入vi编辑器

    • 通过以下方式进入vi编辑器:
    命令 描述
    vi filename 如果filename存在,则打开;揉着创建一个新的文件叫做filename
    vi -R filename 以只读模式打开现有文件
    view filename 以只读模式打开现有文件
    • 竖线(|)代表光标的位置。
    • 波浪号(~)代表该行没有任何内容。如果没有 ~,也看不到任何内容,那说明这一行肯定是有空白字符(空格、tab 缩进、换行符等)或不可见字符。

    工作模式

    • 普通模式
    • 由Shell进入vi编辑器时,首先进入普通模式。在普通模式下,从键盘输入任何字符都被当作命令来解释。普通模式下没有任何提示符,输入命令后立即执行,不需要回车,而且输入的字符不会在屏幕上显示出来。
    • 普通模式下可以执行命令、保存文件、移动光标、粘贴复制等。
    • 编辑模式
    • 编辑模式主要用于文本的编辑。该模式下用户输入的任何字符都被作为文件的内容保存起来,并在屏幕上显示出来。
    • 命令模式
    • 命令模式下,用户可以对文件进行一些高级处理。尽管普通模式下的命令可以完成很多功能,但要执行一些如字符串查找、替换、显示行号等操作还是必须要进入命令模式。

    退出vi编辑

    • 退出之前,可以在w命令后面指定一个文件名,则可以将文件另存为新文件:
    w filename2
    

    移动光标

    • 为了不影响文件内容,必须在普通模式(按两次 Esc 键)下移动光标。使用下表中的命令每次可以移动一个字符:
    命令 描述
    k 向上移动
    j 向下移动
    h 向左移动
    l 向右移动
    • 两点提醒:
    • vi 是区分大小写的,输入命令时注意不要锁定大写。
    • 可以在命令前边添加一个数字作为前缀,例如,2j 将光标向下移动两行。
    • 其他移动命令:
    命令 说明
    0 将光标定位在一行的开头
    $ 将光标定位在一行的末尾
    w 定位到下一个单词
    b 定位到上一个单词
    ( 定位到一句话的开头(句子是以 ! . ? 三种符号来界定的)
    ) 定位到一句话的结尾
    { 定位到段落开头
    } 定位到段落结尾
    [[ 回到段落的开头处
    ]] 向前移动到下一个段落的开头处
    1G 移动到文件第一行
    G 移动到文件最后一行
    nG或:n 移动到文件第n行
    H 移动到屏幕顶部
    nH 移动到屏幕顶部第n行
    M 移动到屏幕中间
    L 移动到屏幕底部
    nL 移动到屏幕底部第n行
    :x x为一个数字,标识移动到行号为x的行

    控制命令

    命令 描述
    CTRL+d 向前滚动半屏
    CTRL+f 向前滚动全屏
    CTRL+u 向后滚动半屏
    CTRL+b 向后滚动全屏
    CTRL+e 向上滚动一行
    CTRL+y 向下滚动一行
    CTRL+I 刷新屏幕

    编辑文件

    命令 描述
    i 在当前光标位置之前插入文本
    I 在当前行的开头插入文本
    a 在当前光标位置之后插入文本
    A 在当前行的末尾插入文本
    o 在当前位置下面创建一行
    O 在当前位置上面创建一行

    删除字符

    命令 描述
    x 删除当前光标下的字符
    X 删除光标前面的字符
    dx 删除从当前光标到单词结尾的字符
    d^ 删除从光标到行首的字符
    D 删除从当前光标到行尾的字符
    dd 删除当前光标所在行的字符

    可以在命令前面添加一个数字前缀,表示重复操作的次数,例如,2x 表示连续两次删除光标下的字符,2dd 表示连续两次删除光标所在的行。


    修改文本

    命令 描述
    cc 删除当前行,进入编辑模式
    cw 删除当前字,进入编辑模式
    r 提花当前光标下的字符
    R 从当前光标开始替换字符,按Esc键退出
    s 用输入的字符代替当前字符,进入编辑模式
    S 用输入的文本代替当前的行,进入编辑模式

    粘贴复制

    命令 描述
    yy 复制当前行
    nyy 复制n行
    yw 复制一个单词
    nyw 复制n行
    p 将复制的文本粘贴到光标的后面
    P 将复制的文本粘贴到光标的前面

    set命令

    命令 说明
    :set ic 搜索时忽略大小写
    :set ai 设置自动缩进
    :set noai 取消自动缩进
    :set nu 显示行号
    :set sw 设置缩进的空格数。例如,将缩进空格数设置为4::set sw=4。
    :set ws 循环搜索:若果知道文件末尾也没有查找到指定的字符,那么回到开头继续查找
    :set wm 设置自动换行。例如,设置距离边际2个字符时换行::set wm=2 。
    :set ro 将文件类型改为只读
    :set term 输出终端类型
    :set bf 忽略输入的控制字符,如BEL、BS、CR
  • 相关阅读:
    MSER
    resize和reserve的区别
    Rect
    U盘文件或目录损坏且无法读取怎么解决
    信道估计
    ann
    仿射变换详解 warpAffine
    opencv新版本的数据结构
    大津法
    php红包
  • 原文地址:https://www.cnblogs.com/milkcoffeesugar/p/5734129.html
Copyright © 2011-2022 走看看