zoukankan      html  css  js  c++  java
  • Linux vi的基本操作

    进入命令

    vi <文件名>

    如 vi test

    如果test文件存在,则直接打开编辑。如果不存在,则新建一个test的文件,这个新建的文件如果不保存的话,退出编辑器后也不会保存到硬盘中。

    操作模式

    编辑模式和命令模式。

    进入的时候 默认是命令模式。除了增加和减少文字的编辑操作,拷贝、删除、复制、粘贴 都在命令模式下操作。

    输入a、i、s、o等插入命令后进入编辑模式。

    编辑模式切换到命令模式,按键盘的Esc键。

    进入编辑模式

    a:从光标所在之处的后面插入新的字符,插入时,插入处后面的字符会随着新增字符往后移动。

    A:从光标所在行的最后处开始加入新的字符。

    i:从光标所在之处的前面插入新的字符,插入时,插入处后面的字符会随着新增字符往后移动。

    I:从光标所在行的第一个非空字符前面开始加入新的字符。

    o:在光标所在行的下面新增一个空行,并进入插入状态。

    O:在光标所在行的上面新增一个空行,并进入插入状态。

    s:删除光标所在之处的字符,并进入插入状态。

    S:删除光标所在的行,并进入插入状态。

    以下是命令模式的操作

    保存和退出

    :q:退出vi。

    :q!:舍弃当前对编辑内容所作的修改,强行退出vi。

    :wq:存盘退出。

    :w [<文件名称>]:另存为。将正在编辑的内容以<文件名称>为名存盘(相当于Save as...),如果没有指定<文件名称>,则使用原有的文件名称(相当于Save...)。

    选择块

    E:从光标当前位置到当前所在单词的最后一个字符。

    B:从光标当前位置到上一个单词的第一个字符。

    $:从光标当前位置到该行的最后一个字符。

    ):从光标当前位置到下一句的第一个字符。

    3):从光标当前位置到后面第三句的第一个字符。

    {:从光标当前位置到当前段落的第一个字符。

    }:从光标当前位置到下一段落的第一个字符。

    剪切 复制 粘贴 删除  与 撤销

    d<范围> 删除某一块内容 dd删除当前行

    y<范围>复制 ,(y表示yank) yy复制当前行

    p粘贴

    X:删除光标所在处字符。

    dd:删除光标所在的行。

    D:删除从光标所在之处开始直到该行末尾的全部字符。

    u:恢复刚被删除的文本。

    U:恢复光标所在行在此次编辑中的全部改变。

    查找

    f<字符>:从光标所在处开始,将光标向右移动到第一个出现<字符>的地方。

    F<字符>:从光标所在处开始,将光标向左移动到第一个出现<字符>的地方。

    ;:配合f与F命令使用,表示继续往同方向检索一次。

    ,:配合f与F命令使用,表示继续往反方向检索一次。

    /<字符串>:从光标所在处开始,往后搜索第一个有<字符串>的地方,然后把光标放到该处。

    ?<字符串>:从光标所在处开始,往前搜索第一个有<字符串>的地方,然后把光标放到该处。

    n:配合/与?命令使用,表示继续往同方向检索一次。

    N:配合/与?命令使用,表示继续往反方向检索一次。

    移动光标

    ←↑→↓:左、上、右、下移动光标。

    h、k、l、j:左、上、右、下移动光标。

    0 (零):将光标移动到行的起始处。

    $:将光标移动到行的末尾处。

    H:将光标移到当前窗口(而非全文)的第一行起始处。

    M:将光标移到当前窗口的居中一行起始处。

    L:将光标移到当前窗口的最后一行起始处。

    W:将光标移到下一个单词(word)的第一个字符处。

    B:将光标移到上一个单词的第一个字符处。

    E:将光标移到当前单词的最后一个字符处。

    <数目>G:将光标移动到第<数目>行行首。

    -:将光标移动到上一行的第一个非空字符处。

    +:将光标移动到下一行的第一个非空字符处。

    <数目>-:将光标移动到上<数目>行的第一个非空字符处。

    <数目>+:将光标移动到下<数目>行的第一个非空字符处。

    (:将光标移动到光标当前所在句子的最前面,这里句子是用!.?三种符号界定。

    ):将光标移动到下一个句子的最前面。

    <数目>(:将光标移动到前<数目>个句子的最前面。

    <数目>):将光标移动到后<数目>个句子的最前面。

    {:将光标移动到光标当前所在段落的最前面,这里段落是用段落之间的空行界定。

    }:将光标移动到下一个段落的最前面。

    <数目>{:将光标移动到前<数目>个段落的最前面。

    <数目>}:将光标移动到后<数目>个段落的最前面。

     

     :set ic搜索时不区分大小写。

    退出recording  先按ESE 再按q

     

     

     

  • 相关阅读:
    Windows下Android开发环境搭建
    解决Win7下打开或关闭Windows功能空白一片
    C#中得到程序当前工作目录和执行目录的一些方法
    创业者必看的小故事
    Sql Server 2005外围应用应用配置器打不开了怎么办
    vs2005无法Web调试
    SQL Server 全局变量
    转 document.documentElement与document.body
    [转]使用SSMA将Oracle数据库转成SQL Server 2008
    Delphi 2009、C++Builder2009正式发布
  • 原文地址:https://www.cnblogs.com/milanmi/p/6265889.html
Copyright © 2011-2022 走看看