vim如何查看历史命令_vim历史命令大全

新网编辑 19 0

vim如何查看历史命令

在普通模式下敲 q:,屏幕下方会弹出历史命令窗口,上下移动光标即可浏览曾经执行过的 : 命令。 想直接搜索某条命令?进入窗口后按 / 输入关键字,回车即可高亮匹配行。 退出窗口只需再按一次 q,或按 Enter 把光标所在行重新执行。 ---

vim历史命令大全

1. 命令行历史(Command-line history)

- : 进入命令行后,/ 逐条翻阅 - Ctrl+p/Ctrl+n 同方向翻页,速度更快 - Ctrl+f 打开完整命令行窗口,可像编辑缓冲区一样修改再执行 - @: 重复上一次执行的冒号命令,省去再次输入 - q: 打开历史命令列表,支持搜索、修改、批量删除

2. 搜索历史(Search history)

- /? 进入搜索后,/ 浏览曾经搜索过的模式 - Ctrl+g/Ctrl+t 在搜索模式下快速切换上一个/下一个匹配 - / 后按 Ctrl+f 打开搜索历史窗口,支持正则改写

3. 表达式寄存器历史(Expression register)

- 在插入模式按 Ctrl+r= 后,/ 可调出曾经计算过的表达式 - 输入 histget('expr',-1) 在脚本里取最后一条表达式结果

4. 输入历史(Input history)

- 使用 input() 函数时,Vim 会自动记录用户输入,/ 可循环查看 - 通过 :call histadd('input','myValue') 手动向输入历史追加条目

5. 调试命令历史(Debug history)

- 在 :debug 模式里,debug 提示符同样支持 / 翻阅 - histget('debug',-2) 取倒数第二条调试命令,便于脚本化测试 ---

如何清空或限制历史条数

- :set history=200 把历史条数上限调到 200,默认 50 - :call histdel(':',-1) 删除最后一条命令行历史 - :call histdel('search','') 清空全部搜索历史 - 在 ~/.vimrc 中加入 ``` set history=1000 set viminfo='100,<1000,s100,h ``` 退出时自动保存 1000 条命令行历史,下次启动仍可找回 ---

历史命令的进阶玩法

模糊匹配与即时过滤

- 安装插件 cmdline-history 后,输入 : 再敲 Ctrl+h 可模糊过滤历史 - 配合 fzf:History: 命令,输入关键字实时高亮匹配,回车即执行

宏与历史联动

- 录制宏 qaq 后,@a 执行,@@ 重复 - 把宏内容输出到历史: ``` :let @a='yyGp' :call histadd(':', 'normal @a') ``` 以后 q: 就能找到 normal @a 并再次执行

跨会话持久化

- Vim 默认把历史写在 ~/.viminfo,可手动备份 - 在团队服务器上,把 viminfo 指向共享路径,实现多机同步历史 ``` set viminfo+=n~/team/.viminfo_shared ``` ---

常见疑问快速解答

**Q:为什么按 没反应?** A:检查是否在插入模式;回到普通模式再按 : 后使用方向键。 **Q:搜索历史太多,如何只保留最近 100 条?** A: ``` :set viminfo='100,<100,s100,h :call histdel('search','',-100) ``` **Q:能否把历史命令导出成脚本?** A: ``` :redir > cmds.vim :for i in range(1,histnr(':')) : echo histget(':',i) :endfor :redir END ``` 生成的 cmds.vim 可直接 :source 复现操作。 ---

一行命令速查表

``` :echo histget(':',-1) 查看上一条命令 :echo histnr(':') 当前命令行历史总数 :call histdel(':',0) 删除所有命令行历史 q: 打开历史命令窗口 :set history=1000 扩大历史容量 ```
vim如何查看历史命令_vim历史命令大全
(图片来源 *** ,侵删)

  • 评论列表

留言评论