Sublime Text如何配合Vagrant使用_Sublime配合Vagrant使用实战

轻墨君_6881

轻墨君_6881

2026-04-06

508人浏览

原创

sublime text 可通过本地挂载、sftp 插件或 sshfs 编辑 vagrant 文件,关键在解决 vagrantfile 语法识别、sftp 端口动态变化及文件同步问题:需手动设 ruby 语法、固定 ssh 端口或解析 vagrant ssh-config、正确配置 synced_folder 并确保 guest additions 正常。

sublime text如何配合vagrant使用_sublime配合vagrant使用实战

Sublime Text 本身不支持直接编辑 Vagrant 虚拟机里的文件,但可以通过本地挂载、SFTP 插件或 SSHFS 等方式实现“类本地编辑”体验。关键不是“能不能连”,而是选对路径——多数人卡在端口动态变化、语法识别失败、或文件同步不生效这三处。

让 Sublime 正确识别 Vagrantfile 为 Ruby 文件

Vagrantfile 没有扩展名,Sublime 默认用 Plain Text 语法高亮,导致 config.vm.network 这类 DSL 写法全无颜色、无缩进提示、也无自动补全。这不是 bug,是 Sublime 的文件类型判定逻辑所致。

  • 在 Vagrantfile 第一行顶部添加注释:# -*- mode: ruby -*-(注意空格和星号位置)
  • 或在文件末尾加:# vim: set ft=ruby :(部分旧版 Sublime 仍识别 vim modeline)
  • 更可靠的方式:右键文件标签 → Set Syntax → Ruby,然后点击 View → Syntax → Open all with current extension as… → Ruby
  • 如果使用的是 Sublime Text 4,建议同时安装 Ruby 官方语法包(通过 Package Control 搜索安装),它比内置 Ruby 语法支持更多 Vagrant DSL 关键字

用 SFTP 插件连接 Vagrant 虚拟机时端口总变怎么办

SFTP 插件配置里硬写 "port": "2222" 是常见错误——Vagrant 默认用随机端口映射 SSH(除非你显式固定)。每次 vagrant reload 或换机器,端口都可能不同,导致 SFTP 配置失效。

GAIPPT
GAIPPT

GAIPPT是一款用于上传 PPT 后进行 AI 美化排版和智能生成的演示文稿工具。

下载
  • 最稳妥做法:在 Vagrantfile 中固定 SSH 端口,例如添加:
    config.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh"
  • 或者用 vagrant ssh-config 命令实时生成 SFTP 配置片段,复制其中的 Port 和 IdentityFile 字段填入 sftp-config.json
  • 别依赖 host: "127.0.0.1" ——多虚拟机并行时容易连错;改用 host: "127.0.0.1" + port 组合,或直接用 vagrant ssh-config 输出的 HostName(如 127.0.0.1 或 localhost)
  • 私钥路径必须用绝对路径,且权限为 600;Windows 用户注意斜杠方向:"ssh_key_file": "C:/Users/xxx/.vagrant/machines/default/virtualbox/private_key"

本地编辑 + 自动同步到 Vagrant 虚拟机的轻量方案

不用 SFTP,也不用 rsync 脚本,Vagrant 原生共享文件夹机制就能满足大部分场景——前提是目录映射配置正确,且 Sublime 编辑的是宿主机上的源码目录。

  • 确认 Vagrantfile 中有类似配置:
    config.vm.synced_folder "./src", "/var/www"
    (注意第一个路径是相对当前 Vagrantfile 的本地路径)
  • 在 Sublime 中打开的是 ./src 目录,不是虚拟机里的 /var/www ——编辑保存后,文件会由 VirtualBox Guest Additions 自动同步过去
  • 如果修改没立刻生效,检查虚拟机是否已运行:vagrant status;再确认 Guest Additions 是否装好:vagrant plugin list 应含 vagrant-vbguest,否则共享文件夹会退化为只读或失败
  • 避免在虚拟机内用 vim 或 nano 直接改共享目录下的文件——可能触发文件锁或 inode 不一致,造成 Sublime 显示“文件已被修改”弹窗

真正麻烦的从来不是连接本身,而是同步时机与文件状态感知:Sublime 不知道你刚 vagrant reload 重置了环境,也不会主动刷新远程文件时间戳。所以编辑前先确认 vagrant status 是 running,编辑后若页面无反应,优先 vagrant reload 而不是反复重启服务。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Linux安装Ruby语言详细教程
Linux安装Ruby语言详细教程

本专题整合了Linux安装配置Ruby相关教程,阅读专题下面的文章了解更多详细操作。

2026.04.02

112

9

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2015

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

2902

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

996

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3259

7

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.07

357

5

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3099

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

2658

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1448

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程