zoukankan      html  css  js  c++  java
  • vim常见操作命令

    打开多文件
    vim file1 file2
    :open/:e 不关闭vim打开文件

    分帧窗口
    :new 新窗口
    :sp 横向
    :vsp 纵向
    ctrl+w窗口切换
    :tabc 关闭当前窗口
    :tabo 关闭所有窗口
    :ctrl+w + 纵向扩大(行数增加)
    :ctrl+w - 纵向缩小 (行数减少)

    文件间切换
    Ctrl+6—下一个文件
    :bn—下一个文件
    :bp—上一个文件

    在多个个文件之间复制
    ctrl+v进入可视模式
    "+y/"*y复制
    "+p/"*p粘贴

    复制
    yy 复制行
    nyy 复制n行
    yw 复制字
    :10,100 copy 200 复制第10行到第100行的内容并粘贴到200行
    打开一个文件,在该文件下复制几行到另一个文件(如到test.txt),会覆盖test.txt中的内容
    10,100w!test.txt, 注:复制第10行到100行的内容到test.txt中,并覆盖test.txt中的内容
    在该文件下复制几行到另一个文件,但不会覆盖原内容,即追加
    10,100w!>>test.txt, 注:复制10行到100行的内容追加到test.txt的结尾。

    粘贴
    p/P 粘贴

    剪切/删除
    dd 删除行
    dw删除字
    d$当前到行尾
    d^当前到行首
    3dd ,即从当前行+下两行被剪切了
    1,10 m 20 剪切1-10行到20行

    查找
    /key 从当前光标位置开始向后查找key
    ?key 从当前光标位置开始向前查找key
    /<key>,?<key> 精确匹配查找key
    n,N 查找到key后,n跳到后一个位置,N跳到前一个位置

    替换
    s/要被取代的字串/新的字串/ 只替换一次
    s/要被取代的字串/新的字串/g 替换当前行
    %s/要被取代的字串/新的字串/g 批量替换
    n,/要被取代的字串/新的字串/g 替换n行到最后一行
    n,ms/要被取代的字串/新的字串/g 从n行替换到m行
    注意:/可以用#表示,这样字符串中的/就不需要转义了

    文件浏览
    :Ex 开启目录浏览器,可以浏览当前目录下的所有文件,并可以选择
    :Sex 水平分割当前窗口,并在一个窗口中开启目录浏览器
    :files/:ls 显示当前buffer情况
    :qa 或 qa! 在打开多文档的情况下离开 vim。a 即 all 的意思。

    vim与shell切换
    :sh/:shell 可以在不关闭vi的情况下切换到shell命令行
    ctrl+d/:exit 从shell回到vi

    多标签
    tabnew filename 增加一个标签
    :tabc 关闭当前的tab
    :tabo 关闭所有其他的tab
    :tabs 查看所有打开的tab
    :tabp 前一个
    :tabn 后一个

    光标定位快捷键
    到指定行 :行号,行号G
    到文件头 1G
    到文件尾 G
    左下上右 h,j,k,l
    下一个字 w,上一个字 b
    到行首 ^
    到行尾 $
    行尾插入 A,添加空行 o

    保存,退出
    保存文件 :w
    关闭文件 :q
    保存并关闭文件 :wq
    不保存强制关闭文件 :q!
    关闭所有文件退出 :qa

    移屏
    下翻页 Ctrl-f
    上翻页 Ctrl-b
    下翻行 Ctrl-e
    上翻行 Ctrl-y

  • 相关阅读:
    java实现万年历
    XCTF 逆向 re1-100
    iOS多线程开发之GCD
    Hexo Next统计文章访问量
    Name/Value 配對和物件
    Mac系统Git生成ssh公钥
    《大话数据结构》三
    C++指针和引用
    英语语法讲解第一课句子成分-表语
    String-mainipulation7
  • 原文地址:https://www.cnblogs.com/wish123/p/4150026.html
Copyright © 2011-2022 走看看