• vi编辑命令


    1、插入命令

    命令 作用
    a 在光标后附加文本
    A 在本行行末附加文本
    i 在光标前附加文本
    I 在本行开始插入文本
    o 在光标下插入新行
    O 在光标上插入新行

    2、定位命令 

    命令 作用
    h、方向左键 左移一个字符
    j、方向下键 下移一行
    k、方向上键 上移一行
    l、方向右键 右移一个字符
    $ 移至行尾
    0(数字0) 移至行首
    命令 作用
    H 移至屏幕上端
    M 移至屏幕中央
    L 移至屏幕下端
    命令 作用
    :set nu 设置行号
    :set nonu 取消行号

    gg

    G

    到第一行

    到最后一行

    nG

    到第n行

    :n

    到第n行

    3、删除命令

    命令 作用
    x 删除光标所在处字符
    nx 删除光标所在处n个字符
    dd 删除光标所在行,ndd删除n行
    dG 删除光标所在行到文件末尾的内容
    D 删除光标所在处到行尾
    :n1,n2d 删除指定范围的行

    4、复制和剪切命令

    命令 作用
    yy、Y 复制当前行
    nyy、nY 复制当前行一下n行
    dd 剪切当前行
    ndd 剪切当前行一下n行
    p、P 粘贴在当前光标所在行下或行上

    5、替换和取消命令

    命令 作用
    r 取代光标所在处字符
    R 从光标所在处开始替换字符,按Esc结束
    u 取消上一步操作

    6、搜索和替换命令

    命令 作用
    /string 向前搜索指定字符串,搜索时忽略大小写:set ic;                        取消忽略大小写命令:set noic
    n 搜索指定字符串的下一个出现位置;小n从前往后找,大N从后往前找.
    :%s/old/new/g 全文替换指定字符串(/g表示不需要确认,globle;如果是/c表示需要确认,方可替换;)
    :n1,n2s/old/new/g 在一定范围内替换指定字符串

    7、保存退出命令

    • :wq       保存退出
    • shift + zz         保存退出 
    • ZZ        保存退出
    • :wq!      强行保存退出(只有文件的所有者或者管理员root才可以;)
    • :q       不保存退出
    • :w         仅仅做保存
    • :w /home/arcerzhang   另存为到/home/arcerzhang目录下

     8、应用实例

    • 导入文件:r 文件名
      • :r /etc/issue
    • 在vi中执行命令:!命令
      • 导入文件与在vi中执行命令一起操作:r !date,将当前的系统时间导入到当前文件中;
    • 定义快捷键:map 快捷键 触发命令
      1. 范例:
      2. map ^P I#<ESC> [命令含义解读:定义快捷键ctrl + p,当按下crtl + p键时,自动跳转到行首,并插入#注释,之后退回到命令行模式](unmap ^P,取消快捷键)
      3. map ^B 0x [命令含义解读:定义快捷键ctrl + b,当按下ctrl + b 键时,自动将行首的注释给去掉](unmap ^B取消快捷键)
      4. map ^E ijun.qing.zhang@163.com [命令含义解读:按下ctrl  + e ,在光标前面插入邮箱地址jun.qing.zhang@163.com](取消快捷键)
      5. 注意:如何按键按出^?(ctrl +v即可,比如定义快捷键ctrl + p,就是ctrl + v + p;)
    • 连续行注释
      1. :n1,n2s/^/#/g    [将第n1行至第n2行,用#进行注释;](注意:^符号与定义快捷键中的ctrl +v不同,这里可以直接使用shift + ^即可;)
      2. :n1,n2s/^#//g           [将第n1行至第n2行的注释#,进行取消;]
      3. :n1,n2s/^/\/\//g         [将第n1行至第n2行,添加注释//]
      4. :n1,n2s/^\/\///g   [将第n1行至第n2行,取消注释//]
    • 替换

        :ab sammail samlee@lampbrother.net 替换命令,当输入sammail时,自动转换成samlee@labmpbrother.net

        :unab sammail  [取消ab的定义]

     9、vim配置文件的宿主目录

    ~/.vimrc

  • 相关阅读:
    python中不可变数据类型和可变数据类型
    你分得清Python中:“索引和切片”吗?
    Python Django中一些少用却很实用的orm查询方法
    jQuery on()方法
    jquery.flexslider-min.js实现banner轮播图效果
    jQuery 树型菜单插件(Treeview)
    jQuery Growl 插件(消息提醒)
    jQuery Autocomplete 用户快速找到并从预设值列表中选择
    jQuery Accordion 插件用于创建折叠菜单
    jquery.validate.js 验证框架详解
  • 原文地址:https://www.cnblogs.com/arcer/p/2963205.html
Copyright © 2020-2023  润新知