zoukankan      html  css  js  c++  java
  • 【转】VI 命令详解

    一般模式:光标移动

    h 或 ->     光标向左移动一个字符
    l 或 <-     光标向右移动一个字符
    k 或 上方向键    光标向上移动一个字符
    j 或 下方向键    光标向下移动一个字符
    Ctrl+f     屏幕向前翻动一页
    Ctrl+b     屏幕向后翻动一页
    Ctrl+d     屏幕向前翻动半页
    Ctrl+u     屏幕向后翻动半页
    +     光标移动到非空格符的下一列
    -     光标移动到非空格符的上一列
    0     (数字0)移动到这一行的第一个字符处
    $     移动到这一行的最后一个字符处
    H     光标移动到这个屏幕最上方的那一行
    M     光标移动到这个屏幕中央的那一行
    L     光标移动到这个屏幕最下方的那一行
    G     移动到这个文件的最后一行
    nG    移动到这个文件的第n行。
    n     光标向下移动n行

    一般模式:查找与替换
     
    /str     在光标之后查找一个str字符串。n for next
    ?str     在光标之前查找一个str字符串。n for next
    :n1,n2s/str1/str2/g       在第n1与n2行之间查找str1这个字符串,并将该字符串替换为str2
    :%s/str1/str2             全文查找str1这个字符串,并将每行最左边的第一处str1替换为str2
    :%s/str1/str2/g          全文查找str1这个字符串,并将每处str1替换为str2
    :1,$s/str1/str2/g         从第一行到最后一行查找str1字符串,并将该字符串替换为str2
    :1,$s/str1/str2/gc        从第一行到最后一行查找str1字符串,并将该字符串替换为str2,且在替换前显示提示符让用户确认(confirm)
     
     
    一般模式:删除、复制与粘贴
     
    x,X    x为向后删除一个字符,X为向前删除一个字符
    nx     向后删除n个字符
    dd     删除光标所在的那一整行  
    ndd    删除光标所在列的向下n列,例如,2dd则是删除2列
    d1G    删除光标所在行到文件首行的所有数据
    dG     删除光标所在行到文件尾的所有数据
    yy     复制光标所在行
    nyy    复制光标所在列的向下n列,例如,2yy则是复制2行
    y1G    复制光标所在列到第一列的所有数据
    yG     复制光标所在列到最后一列的所有数据
    p,P    p为复制的数据粘贴在光标下一行,P为粘贴在光标上一行
    J      将光标所在行与下一行的数据连接成一行
    u      恢复前一个动作
    xp     当前字符与后边的字符互换
    ddp    当前行与下一行互换
     

    编辑模式:

    .             重复上一动作

    i,I           插入:在当前光标所在处插入输入的文字,已存在的字符会向后退
    a,A           添加:由当前光标所在处的下一个字符开始输入,已存在的字符会向后退
    o,O           插入新的一行:从光标所在处的下一行行首开始输入字符
    r,R           替换:r会替换光标所指的那一个字符;R会一直替换光标所指的文字,直到按下Esc为止
    Esc           退出编辑模式,回到一般模式

     

    命令行模式:

    :w      将编辑的数据写入硬盘文件中
    :w!     若文件属性为只读,强制写入该文件
    :e!     重新编辑当前文件(之前的编辑将不会保存)
    :q      退出vi
    :q!     若曾修改过文件,又不想保存,使用!为强制退出不保存文件
    :wq     保存后退出,若为:wq!,则为强制保存后退出
    :x      保存后退出,文件若无变化则不写
    :w[filename]    将编辑数据保存为另一个文件
    :r[filename]    将filename这个文件内容加到光标所在行的后面
    :set nu      显示行号
    :set nonu    取消显示行号
    n1,n2w[filename]   将n1到n2的内容保存为filename这个文件

  • 相关阅读:
    Phaser中很多对象都有一个anchor属性
    prelaod场景,用来显示资源加载进度
    Eclipse rap 富客户端开发总结(11) : rcp/rap与spring ibatis集成
    Eclipse rap 富客户端开发总结(10) : Rap不同系统间的差异和处理方式
    Eclipse rap 富客户端开发总结(9) : rap上传与下载
    Eclipse rap 富客户端开发总结(8) : 发布到tomcat后解决rap编码和字符集的问题
    Eclipse rap 富客户端开发总结(7) : 如何修改rap的样式
    Eclipse rap 富客户端开发总结(6) : 如何发布rap到tomcat
    Eclipse rap 富客户端开发总结(5): RAP国际化之路
    Eclipse rap 富客户端开发总结(4):如何搭建 rap 中文开发环境
  • 原文地址:https://www.cnblogs.com/shihujiang/p/2396383.html
Copyright © 2011-2022 走看看