配置Sublime Text作为Matlab的编辑器
最近使用Matlab时发现它自带的编辑器不太好用,特别是在不同平台切换时会出现编码错误。
例如Matlab 2014a,在Ubuntu平台采用UTF-8编码,但在Windows平台采用的却是GBK编码。这样在不同平台切换时就会产生乱码。虽然Matlab自带的编辑器也能在一定程度上解决这个问题,但没有Sublime方便。
因此,我打算使用Sublime来作为Matlab的编辑器。经过网上搜索和自我摸索,最终实现了Sublime编辑+Matlab命令行(terminal)运行的开发环境搭建。
前期准备
- Matlab 2014a (Windows或Linux平台,这里以Win10和Ubuntu 16.04为例)。有关安装过程这里不再赘述。
- Sublime Text 3
配置过程
1. 新建Build System
在Sublime中选择Tools -> Build System -> New Build System
,系统会创建一个JSON文件,根据不同系统输入以下内容:
Win10
{ "cmd": ["E:/Softwares/MATLAB/R2014a/bin/matlab.exe", "-nodesktop", "-nosplash", "-r", "\"run('$file')\""], "selector": "source.m", "working_dir": "${project_path:${folder}}" }
Ubuntu 16.04
{ "cmd": ["gnome-terminal -x bash -c \"matlab -nosplash -nodesktop -r ${file_base_name}; exec bash\""], "selector":"source.m", "shell":"true", "working_dir": "$file_path" }
要注意cmd
中对应的安装路径,这里给的路径是我的电脑中的配置。其中,matlab -nosplash -nodesktop -r ${file_base_name}
表示启动matlab,并运行某个.m文件。-nosplash
表示不加载启动界面;-nodesktop
表示不加载GUI界面;-r
表示运行Matlab命令行(MATLAB_command);file_base_name
表示文件名,但不包含文件扩展名,如.m等。
【注】 这一步中有关Ubuntu的配置和网上一些教程有所区别,网上教程大多是没有gnome-terminal
命令的。我这里希望以命令行方式启动Matlab。我在实践中发现,Sublime的Build Results没有交互功能,只能显示运行结果。在Win10中Build时能自动打开Matlab命令行程序进行交互,但在Ubuntu中却没有打开命令行,所以在前面添加了启动终端(terminal)的相关命令,用于进行交互。
2. 保存新建的Build System
命名并保存这个JSON文件到默认目录(这个JSON文件的名字将成为新的Build System的名字,出现在Build菜单中)
3. 通过Sublime启动MATLAB_command进行编译
设置完成。此时随便编辑一个.m文件,在Build System下选择刚新建的配置,点击Tools -> Build
或者使用快捷键Ctrl+B
,这时Sublime就会打开MATLAB_command并编译当前文件。
值得注意的是,每次Build都会产生一个新的命令行界面,相当于每次都重新启动了一次MATLAB_command,很耗费时间。所以建议在MATLAB_command启动后,每次修改了程序,先在Sublime中保存,然后在已有的控制台窗口输入脚本名进行编译。