vim编辑器

(一)vim编辑器

  • 文本编辑器:纯文本,ASCII text;Unicode;不含有html,或者word文档中的那种格式化标签等元数据
  • 文本编辑器种类
    • 行编辑器:sed
    • 全屏编辑器:nano,vi,vim
  • vi:Visual Interface
  • vim:Vi IMproved
    • 模式化的编辑器
      • 编辑模式/命令模式
      • 输入模式
      • 末行模式
        • 内置的命令行接口
    • 打开文件
      • 如果本地不存在该文件,则创建该文件
      • vim [OPTIONS] [file...]
      • 光标自动处在第一行的行首
      • +#:打开文件后,自动让光标处在第#行的行首,例如:vim +5 fstab
      • +/PATTERN:打开文件后,直接让光标处在第一个被PATTERN匹配的行的行首,例如:vim +/if functions
      • +:自动处在尾行行首,例如:vim + fstab
    • 模式转换
      • 编辑模式:默认模式
      • 编辑模式-->输入模式:
        • i:insert,在光标所在处输入
        • a:append,在光标所在处的后方输入
        • o:在光标所在处的下方新增一行,光标处在行首
        • I:大写i表示在光标所在行的行首插入
        • A:在光标所在行的行尾插入
        • O:在光标所在处的上方新增一行,光标处于行首
      • 输入模式-->编辑模式:
        • ESC键
      • 编辑模式-->末行模式:
        • :键
      • 末行模式-->编辑模式:
        • 连续按两次ESC键
      • 无法从输入模式到末行模式
    • 关闭文件
      • 在编辑模式下,连续按两次大写Z,则保存并退出
      • 在末行模式下
        • q:退出,文件必须没有被修改过
        • q!:强制退出,不保存此前的编辑
        • wq:保存并退出,两个命令可以分别写
        • x:保存并退出
        • w FILENAME:另存为
    • 光标跳转
      • 字符间跳转
        • h:向左一个字符
        • l:向右一个字符
        • j:向下一个字符
        • k:向上一个字符
        • #COMMAND:跳转#个字符
      • 单词间跳转
        • w:下一个单词的词首
        • b:当前或前一个单词的词首
        • e:当前或下一个单词的词尾
        • #COMMAND:跳转#个单词
      • 行首行尾跳转
        • ^:跳转至行首的第一个非空白字符
        • 0:跳转至绝对行首(不包括tab键??)
        • $:跳转至绝对行尾
      • 行间跳转
        • #G:跳转至第#行的行首
        • 1G,gg:跳转至第一行
        • G:跳转至最后一行
      • 句间跳转
        • ):跳转至下一句
        • (:跳转至前一句
        • #COMMAND:跳转#句
      • 段间跳转
        • }:跳转至下一段
        • {:跳转至前一段
        • #COMMAND:跳转#段
    • 翻屏操作
      • ctrl+f:向文件尾部翻一屏
      • ctrl+b:向文件首部翻一屏
      • ctrl+d:向文件尾部翻半屏
      • ctrl+u:向文件首部翻半屏
      • enter:按行向后翻
    • Vim的编辑命令
      • 字符编辑
        • x:删除光标所在处的字符
        • #x:删除光标所在处及后面的总共#个字符
        • xp:交换光标所在处的字符及后面字符的位置
      • 替换命令
        • rCHAR:替换光标所在处的字符为CHAR字符
      • 删除命令
        • d:可结合光标跳转命令,实现范围删除
          • d$:删除光标所在处至行尾的内容
          • d^:删除光标所在处至行首的内容
          • dw,de,db,......
          • #COMMAND:删除#个,例如:3dw
          • dd:删除光标所在行的一整行,同样支持#dd,例如:3dd表示删除3行
        • 删除的内容被保存在缓冲区里,最后一次的删除内容可以用来粘贴
      • 粘贴命令
        • p:缓存区中的内容如果为整行,则粘贴在当前光标所在行的下方;否则,粘贴在当前光标所在处的后方
        • P:缓存区中的内容如果为整行,则粘贴在当前光标所在行的上方;否则,粘贴在当前光标所在处的前方
      • 复制命令
        • y:工作行为相似于d命令
        • yy:复制整行
      • 改变命令
        • c:先执行删除操作,和d命令一样,然后立即从编辑模式转入输入模式
    • 可视化模式
      • v:按字符选定
      • V:按行选定
      • 结合编辑命令使用:d,c,y
    • 撤销操作
      • u:一般可以撤销最近的50次操作
      • #u:撤销此前的#个操作
    • 恢复此前的撤销
      • ctrl+r
    • 重复前一次操作
      • .
    • vimtutor命令可以打开vim的教程

注:右下角显示的“100,2-9   14%”表示第100页,第2个有效字符,第9个绝对字符,内容的14%;(一个tab字符表示8个绝对字符)

原文地址:https://www.cnblogs.com/jacky1982/p/7636320.html