一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux 中如何使用 vim 调用外部 Shell 命令

时间:2026-08-28 11:26:49 编辑:袖梨 来源:一聚教程网

Vim 中可调用外部 Shell 命令::!命令执行并查看输出;:read!命令将结果插入文件;:shell进入交互式子 Shell;Vim 8+ 支持 :terminal 内置终端,支持分屏与模式切换。

在 Vim 中调用外部 Shell 命令,不需要退出编辑器就能完成系统操作,比如统计文件、检查语法、临时调试或保存只读文件。关键在于区分几种常用方式,按需求选择。

执行一次命令并查看输出

在命令模式(按 Esc 确保退出插入状态)下输入:

:!命令

例如:

:!ls -l —— 列出当前目录详细信息

:!wc % —— 统计当前文件的行数、字数、字符数(% 代表当前文件名)

执行后会短暂跳转到终端显示结果,按 Enter 即可返回 Vim。

把命令输出插入到文件中

:read! 把结果直接加进文本:

:read!date —— 在光标所在行下方插入当前日期

:read!ps aux | grep vim —— 插入匹配的进程信息

也可指定位置:

:2read!uname -r —— 在第 2 行之后插入内核版本

:$read!df -h —— 在文件末尾插入磁盘使用情况

进入交互式 Shell 环境

输入:

:shell

会新开一个子 Shell,你可运行多条命令、cd 切换目录、编辑其他文件等;输入 exit 或按 Ctrl+D 返回 Vim。

注意:该 Shell 与 Vim 共享环境变量,但不继承 Vim 的缓冲区修改。

Vim 8+ 支持内置终端窗口

如果 Vim 编译时启用了 +terminal(可用 :version 查看),推荐用:

:terminal —— 水平分屏打开终端

:vertical terminal —— 垂直分屏打开终端

在终端里按 Ctrl- Ctrl-N 可切回正常模式操作窗口,i 键返回输入模式继续执行命令。

不复杂但容易忽略:所有带感叹号(!)的命令都绕过 Vim 安全限制,能执行任意 Shell 命令;保存只读文件时,常用 :w !sudo tee % > /dev/null 配合 sudo 完成强制写入。

热门栏目