在 Vim 里实现实时刷新有不同的场景,下面针对不同情况介绍相应的实时刷新方法:
1. 实时刷新文件内容
若文件在 Vim 外部被修改了,你可以在 Vim 里实时刷新以显示最新内容。以下是具体操作:
- 手动刷新:在 Vim 的命令模式下(按下
Esc
键确保处于命令模式),输入:e
或者:edit
并回车,这样 Vim 会重新读取文件内容并更新显示。 - 自动刷新:你可以通过设置
autoread
选项让 Vim 自动检测文件的外部更改并刷新内容。在 Vim 命令模式下输入:set autoread
即可开启该功能。若要让这个设置在每次启动 Vim 时都生效,可将set autoread
这行代码添加到你的~/.vimrc
配置文件中。示例如下:
echo "set autoread" >> ~/.vimrc
2. 实时预览代码效果(如 HTML、Markdown 等)
对于 HTML、Markdown 这类文件,你可能希望实时看到代码修改后的渲染效果,可借助插件或外部工具来达成:
HTML 文件
- 使用浏览器同步工具:像
Live Server
这种工具就很实用,它能在你修改 HTML 文件时自动刷新浏览器。在 VS Code 里有Live Server
插件,如果你习惯用 Vim 编辑代码,同时在 VS Code 里打开项目文件夹,开启Live Server
后,每次保存 HTML 文件,浏览器就会自动刷新显示最新内容。 - 使用浏览器开发者工具:大部分现代浏览器都自带开发者工具,你可以在浏览器里打开 HTML 文件,然后开启开发者工具的自动刷新功能。以 Chrome 浏览器为例,在开发者工具的
Network
面板中勾选Disable cache
选项,当你在 Vim 里修改并保存 HTML 文件后,刷新浏览器就能看到最新效果。
Markdown 文件
- 使用 Markdown 预览插件:在 Vim 里可以安装 Markdown 预览插件,例如
vim-instant-markdown
。安装此插件后,在 Vim 中编辑 Markdown 文件时就能实时预览渲染效果。一般来说,插件会在 Vim 窗口的一侧或者新窗口中显示预览内容。 - 使用外部 Markdown 编辑器:有一些支持实时预览的 Markdown 编辑器,如 Typora、Obsidian 等。你可以在 Vim 里编辑 Markdown 文件,同时在这些编辑器中打开相同文件,它们会自动检测文件更改并实时刷新预览。
3. 实时刷新终端输出(针对 Vim 内的终端)
如果你在 Vim 里使用内置终端(通过 :terminal
命令打开)运行命令或脚本,想要实时看到输出更新,可以这样做:
- 确保输出无缓冲:某些命令或脚本的输出可能会被缓冲,导致不能实时显示。你可以使用
stdbuf
命令来禁用缓冲。例如,运行 Python 脚本时可以这样:
:terminal stdbuf -oL python your_script.py
这里的 -oL
选项表示对标准输出禁用缓冲。
- 刷新终端窗口:如果输出没有实时更新,你可以尝试在 Vim 命令模式下按下
Ctrl + L
来刷新终端窗口。