zoukankan      html  css  js  c++  java
  • VIM操作基础命令

    VIM操作基础命令

    1 文件操作

    1.1 打开文件

      VIM 使用 –o 或 –O 选项打开多个文件,其中 –o 表示垂直并排,例如 vim -o lesson4 lesson5 lesson6。大O表示水平排列

      • 对于垂直并排的文件:使用 ctrl + w + 上、下方向,表示上、下切换文件;
      • 对于水平并排的文件:使用 ctrl + w + 左、右方向,表示左、右切换文件。
      • 退出动作是针对所有的(ALL):qa、qa!、wqa

    1.2 退出、保存文件

    按键 含义
    :w filename
    保存为filename文件名,filename为空保存当前文件
    :q
    退出编辑
    :q!
    放弃修改直接退出
    :qa、qa!、wqa 退出所以文件

    1.3 vim键入shell命令

       输入 :!ls / ,可以在切换到shell命令ls,查看root目录下文件列表

     2 光标操作

    按键 含义
    h
    j
    k
    l

    3 插入模式

    按键
    含义
    i
    在光标的前边进入插入模式
    I
    在光标所在行的行首进入插入模式
    a
    在光标的后边进入插入模式
    A
    在光标所在行的行尾进入插入模式
    o
    在光标所在行的下方插入空行并进入插入模式
    O
    在光标所在行的上方插入空行并进入插入模式
    s
    删除光标指定的字符并进入插入模式
    S
    将光标所在行清除并进入插入模式

    4 普通模式

    4.1 通用操作

    按键
    含义
    0
    将光标定位到行首的位置
    ^
    同上
    $
    将光标定位到行尾的位置
    b
    将光标定位到光标所在单词的起始处
    e
    将光标定位到光标所在单词的结尾处
    w
    将光标定位到下一个单词的起始处(注意,是光标所在单词的下一个单词噢^_^)
    gg
    将光标定位到文件的开头
    G
    将光标定位到文件的末尾
    u
    撤销最后一次修改
    U
    撤销对整行的修改
    Ctrl + r
    恢复撤销的内容
    Ctrl + g
    查看文件名等状态
    %
    匹配(),[],{}的另一部分

    4.2 删除操作

    按键
    含义
    d0
    删除光标从当前位置(不包含)到该行行首的所有字符
    d^
    同上
    d$
    删除从光标当前位置(包含)到该行行尾的所有字符
    db
    删除从光标当前位置(不包含)到单词起始处的所有字符
    de
    删除从光标当前位置(包含)到单词结尾处的所有字符
    dw
    删除从光标当前位置(包含)到下个单词起始处的所有字符
    dh
    删除光标前面一个字符
    dl
    删除光标指定的字符
    dj
    删除光标所在行以及下一行的所有字符
    dk
    删除光标所在行以及上一行的所有字符
    dd
    删除光标所在行的所有字符
    dgg
    删除光标所在行(包含)到文件开头的所有字符
    dG
    删除光标所在行(包含)到文件末尾的所有字符
    x
    删除单个字符

      可与数字进行组合,如3dj,表示删除光标下面3行

    4.3 复制、粘贴

    按键
    含义
    y
    复制命令
    yy
    复制当前行
    p
    将粘贴板内容粘贴到光标前
    P
    将粘贴板内容粘贴到光标后
    r
    替换命令,单个字符

       可与数字进行组合,如3k向上移动3行

     4.4 查找、替换

    按键 含义
    /findcontent 光标将定位到光标开始时至查找到的第一个内容处。如需查找下一个,则按下enter键,按下n键查找下一个,按下N查找上一个
    :行号
    光标跳转到某行
    :s/old/new 将光标所在行的第一个 old 替换为 new
    :%s/old/new/g 替换整个文件中每个匹配的字符串
    :%s/old/new/gc

     在替换时vim咨询弹出 (y/n/a/q/l/^E/^Y) 确认信息:

      • y 表示替换
      • n 表示不替换
      • a 表示替换所有
      • q 表示放弃替换
      • l 表示替换第一个并进入插入模式
      • ^E 表示用 Ctrl+e 来滚动屏幕
      • ^Y 表示用 Ctrl+y 来滚动屏幕
    :5,13s/old/new/g

    替换第 5 行到第 13 行之间的所有old为new

      删除空格行:非编辑状态下输入:   g/^$/d
      删除行首空格:非编辑状态下输入:  %s/^s*//g
      删除行尾空格:非编辑状态下输入:  %s/s*$//g
      VIM删除空白行: 在命令状态下输入: :g/^s*$/d
      :g 代表在全文档范围内  ^代表行的开始  s*代表空白字符  &代表行的结束  d代表删除  用//将3段代码隔开

    5 可视模式

      普通模式下按v键进入可视模式

      可视模式下使用hjkl选中行,使用“数字 + >”,向右缩进数次。其中,>表示右缩进,<表示左缩进

        

     

  • 相关阅读:
    剑指offer---二叉搜索树的第k个结点
    剑指offer---把数组排成最小的数
    剑指offer---连续子数组的最大和
    剑指offer---最小的K个数
    Navicat for MySQL(Ubuntu)过期解决方法
    Ubuntu 无法应用原保存的显示器配置
    ubuntu 18.04 install gitlab-ce
    Flask 使用过程
    python版本 3.7.4rc1 (stable) / 3.8.0b1 (pre-release) / 3.9.0a0 (in development)
    Windows10 and MySQL使用
  • 原文地址:https://www.cnblogs.com/hgwang/p/9582634.html
Copyright © 2011-2022 走看看