• Linux基础之vi编辑器(二)


    vi 编辑器

    man vim

    一 打开文件,定义光标

    vi +# test       打开文件,定位于#行。
    vi + test        打开test文件,定位于最后一行。
    vi +/pattern test  打开定位到第一次查到的pattern处。

    二 关闭文件

    1 末行模式下关闭文件

    w    保存
    q    不保存退出
    wq    保存并退出
    q!    不保存退出
    w!    强行保存
    :wq=:x

    2 编辑模式下退出
    ZZ      保存并退出



    三 移动光标(编辑模式下)

    1 逐字符移动:
    h:向左移动
    l:向右移动
    j:向上移动
    k:向下移动


    可以加数字:
    #h :移动#个字符

    2 逐个单词移动

    w :移到下一个单词的词首
    e:跳至当前或者下一个单词的词尾
    b:跳到当前或者前一个单词的词首

    #w  :移动到第#个单词的词首

    3 以行为单位,行内跳转

    0:绝对行首
    ^:行首的第一个空白字符
    $:绝地行尾


    4 行间跳转
    #G:跳转到第#行
    G:最后一行


    四:翻平
    Ctrl+f 向下翻屏
    Ctrl+b 向上翻屏
    ctrl+d 向下翻屏
    Ctrl+u 向上翻屏

    五:删除单个字符

    x:删除光标所在处的单个字符
    #x:删除光标所在处的及向后的#个字符

    六:删除命令
    d命令和跳转命令结合使用

    #dw #da #db

    dd
    #dd:删除包括当前光标所在内的#行

    末行模式下:  start,end dd
    当前行到100行
    :.,100dd

    .:表示当前行
    $:最后一行
    +#:向下的#行

    七:粘贴命令

    p:如果删除或复制为整行内容,则粘贴至光标所在行的下方,入股复制或者删除的内容为非整行,粘贴至光标所在字符后面

    P:如果删除或复制为整行内容,则粘贴至光标所在行的上方,入股复制或者删除的内容为非整行,粘贴至光标所在字符前面

    八:复制命令

    y  用法同d命令

    九:修改:先删除内容,在转换为输入模式

    c:用法同d命令


    十:替换r
    R:替换模式

    十一:撤销
    u:撤销前一次的编辑操作
       连续u命令撤销50次操作
    #u:直接撤销最近#次编辑操作
    撤销最近一次撤销操作:Ctrl+r

    十二:重复前一次编辑操作
    .
    十三:可视化模式
    V:按矩形块选取
    v:按字符选取

    利用v模式,我们可以很方便的处理多行文本,比如在Bash脚本中一次性注释多行文本。可以如下操作:

    1 ctrl+v 进入列编辑模式
    2 向下或向上移动光标
    3 把需要注释的行的开头标记起来
    4 然后按大写的I
    5 再插入注释符,比如"#"
    6 再按Esc,就会全部注释了
    

    如果想一次性的删除多行注释标记符,则可以这样做:

    1 ctrl+v 进入列编辑模式
    2 向下或向上移动光标,选择要删除的“#”
    3 按d键即可删除


    十四:查找替换
    n
    N
    :/he   查找he,按n

    十五:查找并替换
    在末行模式下使用s命令
    :ADDR1,ADDR2s@PATTERN@string@gi

    从当前行到末两行将he改成HE
    :.$-1 s/he/HE/g

    在末行模式下
    ①显示或取消行号
            set nu(set number):显示行号
            set nonu:取消显示行号
    ②显示忽略或区分字符大小写
            set ic (set ignorecase):忽略大小写
            set noignorecase:区分大小写
    ③设定自动缩进
           set ai(set autoindent):自动缩进
            set noai:取消自动缩进
    ④查找到的文本高亮或取消高亮显示
        set hlsearch:高亮显示搜索到的文本
        set nohlsearch:取消高亮显示搜索到的文本
    ⑤语法高亮
        syntax on:打开语法高亮显示
        syntax off:关闭语法高亮显示

    复制代码

    vim配置文件

    全局vim配置文件:/etc/vimrc
    个人vim配置文件:~/.vimrc
    [root@libaoliang ~]# echo "set nu" >> /root/.vimrc  # root用户用vim打开文件时,显示行号。


    vim 模式:

    编辑模式
    输入模式
    末行模式

    输入模式
    i     :光标所在字符的前面,转换为输入模式
    a    :光标所在字符的后面,转换为输入模式
    o    :光标所在字符下面一行,转换为输入模式


    I    :转换为输入模式后,在当前光标的行首
    A    : 转换为输入模式后,在当前光标的行尾
    O    : 转换为输入模式后,在当前光标的上一行


    输入模式--------->编辑模式
    ESC


    编辑模式--------->末行

         
    删除第九行:    在末行模式下输入9d
    删除十到二十行:在末行模式下输入10,20d
    显示行号:    set nu

    在末行模式下,查看etc下的password:        ! cat /etc/passwd 然后回车


    末行模式------->编辑模式
    ESC 多少用几次

    001在普通模式下,输入:进入命令模式完成替换
    :s/root/admin         将光标当前行出现的第一个root替换为admin,没有则不替换
    :s/root/admin/g      将光标当前行中的所有的root替换为admin

    :3,5 s/sbin/bin/g     将第三行至第五行之间的所有sbin替换成bin

    :% s/nologin/fault/g     将所有行的nologin都替换成fault

    002指向shell命令

    执行shell命令并不想退出编辑器,通过:{命令}来实现,

    例如:查看当前目录下文件名称

    :!ls     执行完后返回vim编辑器

  • 相关阅读:
    JS中原型链的理解
    CSS3的笔记总结
    那些牛掰的 HTML5的API(二)
    初识 HTML5(一)
    jQuery基础知识点(下)
    jQuery基础知识点(DOM操作)
    jQuery基础知识点(上)
    [译]GC专家系列2:Java 垃圾回收的监控
    [译]GC专家系列1: 理解Java垃圾回收
    [译]深入理解JVM
  • 原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/8675307.html
Copyright © 2020-2023  润新知