You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改VIM未指定打开文件时默认启动页的显示文字

自定义Vim无文件启动时的默认首页内容

Vim默认的无参数启动欢迎文本是直接编译在二进制文件里的,没有公开的配置项可以直接修改对应内容,不需要改源码重编译,通过Vim自带的自动命令拦截启动场景就能实现自定义替换,是最通用、兼容性最好的方案。

实现逻辑

  • 监听Vim启动完成的VimEnter事件
  • 判断启动时是否传入了文件参数(argc()返回0就是无文件直接启动的场景)
  • 命中场景后清空默认欢迎缓冲区的内容,写入你自定义的提示文本,设置缓冲区属性避免误编辑

可直接复用的配置代码

把下面这段代码加入你的自定义vimrc配置即可,注释位置替换成你要展示的自定义命令改动说明:

" 替换无参数启动时的默认欢迎页
autocmd VimEnter * if !argc() |
  \  %delete _ |
  \  call setline(1, [
        \ '             自定义VIM配置分发包',
        \ '              适配Vim 7.4+ 版本',
        \ '',
        \ '================ 自定义命令改动提示 ================',
        \ '  插入模式下按 jj                快速退回普通模式',
        \ '  普通模式下按 <leader>w         快速保存当前文件',
        \ '  普通模式下按 <leader>ff        快速查找文件',
        \ '  普通模式下按 <leader>q         快速退出当前窗口',
        \ '====================================================',
        \ '',
        \ 'type  :q<Enter>               退出Vim',
        \ 'type  :help<Enter>  or  <F1>  查看官方帮助',
        \ 'type  :help version7<Enter>   查看版本信息',
        \ ]) |
  \  normal gg |
  \  setlocal nomodifiable bufhidden=wipe buftype=nofile |
\ endif

可选调整

  • 如果不想完全删除默认欢迎文本,只想在原有内容后面追加你的自定义提示,删掉配置里的%delete _ |这行,把setline(1, [])换成call append(line('$'), [你的自定义行内容])即可
  • setline里的每一行字符串对应启动页显示的一行内容,你可以根据自己实际改的命令自由调整排版和内容
  • 配置里最后一行setlocal的参数是把欢迎页设为不可修改的特殊缓冲区,不会生成空的swap文件,和Vim默认欢迎页的行为保持一致

内容的提问来源于stack exchange,提问作者Better_call_B4RB4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.20 16:15:51