VIM - EX 命令行 - 查看历史记录

  1. 概述

    1. VIM EX命令 与 搜索 历史
  2. 背景

    1. 初学 VIM 时候遇到的窘境

      1. 退出 VIM 失败
        1. 刚开始学的退出方法, 是 :q
        2. 结果手一滑, 打成了 q:
        3. VIM 没有退出, 并且出现了一个没见过的窗口
      2. 等熟练使用 VIM 之后, 那个一不留神打开的窗口, 我就再也没见过了
        1. 慢慢地, 那个窗口被我遗忘了...
    2. EX 命令行

      1. 后来, 慢慢开始使用 EX 命令行
      2. 虽然 ctrl + n/p 可以查看曾经输入过的命令, 但还是有些不方便
        1. 如果有个更加友好的历史记录, 就好了...
        2. 其实, 这个是真的存在的
  3. 环境

    1. OS
      1. win10
    2. shell
      1. mintty-2.9.4

1. EX 命令行历史

  1. 概述
    1. EX 命令行历史

1. 打开

  1. 前提

    1. 标准模式
  2. 操作

    q + :
    
  3. 结果

    1. 在 vim 底部, 出现一个窗口
    2. 窗口里, 是 当前用户 所有 EX 命令的历史记录
  4. 文件位置

    # 这个文件里, 其实有很多的 信息, 这个以后再说
    ~/.viminfo
    

2. 退出

  1. 前提

    1. 打开 EX 命令行历史
  2. 操作方式1

    1. 操作

      # 直接退出
      :q
      
    2. 结果

      1. 返回之前的窗口
      2. 依然是 标准模式
  3. 操作方式2

    1. 操作

      1. 将光标移动到最后一行
      2. 直接敲回车
      
    2. 结果

      1. 返回之前的窗口
      2. 依然是 标准模式

3. 移动

  1. 前提

    1. 打开 EX 命令行历史
  2. 操作

    1. 就和 普通vim 窗口一样操作即可
      1. 上下移动
      2. 左右移动
      3. : 跳行
      4. //?查询内容
    2. 具体操作, 我就略了
  3. 结果

    1. 正常移动

4. 编辑

  1. 前提

    1. 打开 EX 命令行历史
  2. 操作

    1. 常规编辑
  3. 结果

    1. 无法保存
  4. 注意

    1. 不推荐通过修改 .viminfo 来修改历史记录

5. 执行

  1. 前提

    1. 打开 EX 命令行历史
  2. 操作

    跳转到需要 重复的命令 的位置
    敲一下回车
    
  3. 结果

    1. 命令被重新执行一次

6. 好处

  1. 历史给我们的好处
    1. 操作记录
      1. 让我们知道自己干过什么事
    2. 方便执行
      1. 重复的命令, 可以不用手打
    3. 脚本支持
      1. 文本化的历史, 可以经过提炼, 获得脚本, 反复执行

2. 搜索历史

  1. 概述

    1. 搜索也是有类似历史功能
  2. 搜索

    1. 标准模式下的 / 和 ?

1. 打开

  1. 前提

    1. 标准模式
  2. 操作

    q + /
    q + ?
    
  3. 结果

    1. 在 vim 底部, 出现一个窗口
    2. 窗口里, 是 当前用户 所有 搜索的历史记录
  4. 文件位置

    # 还是在这里
    ~/.viminfo
    

2. 退出

  1. 前提

    1. 打开 搜索历史
  2. 操作方式1

    1. 操作

      # 直接退出
      :q
      
    2. 结果

      1. 返回之前的窗口
      2. 依然是 标准模式
  3. 操作方式2

    1. 操作

      1. 将光标移动到最后一行
      2. 直接敲回车
      
    2. 结果

      1. 返回之前的窗口
      2. 依然是 标准模式

3. 移动

    1. 同 EX 命令行历史

4. 编辑

    1. 同 EX 命令行历史

5. 操作

  1. 前提

    1. 打开 搜索历史
  2. 操作

    1. 将光标移动到 需要搜索 的记录
    2. 直接敲回车
    
  3. 区别

    1. / 进入, 是 向后搜索
    2. ? 进入, 是 先前搜索

3. 其他

  1. 问题
    1. 容量
      1. 我目前不知道, 最大能有多大...

ps

  1. ref

    1. Vim 小技巧:卧槽我是怎么把命令行历史记录列表按出来的
      1. 灵感的来源跟我一样
      2. 挺巧的哈
  2. 后续

    1. .viminfo 有很多内容, 回头整理一下

      1. 内容
      2. 相关操作
    2. 这次误打误撞, 触发了一个叫做 记录中 的状态

      1. 查了下发现居然是 宏录制?
        1. 卧槽? 奇怪的知识又要增长了?
posted @ 2020-04-27 16:09  轩辕拾銉  阅读(3181)  评论(0编辑  收藏  举报