Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用vim作为matlab的默认编辑器_Matlab_Vim - Fatal编程技术网

使用vim作为matlab的默认编辑器

使用vim作为matlab的默认编辑器,matlab,vim,Matlab,Vim,我想使用gvim作为Matlab的标准编辑器。它过去在Linux上工作,但现在我被迫使用windows,我似乎不知道如何设置编辑器,以便在gvim中的新选项卡中打开文件 在首选项中有一个字段,允许传递指向首选文本编辑器的命令。这是可行的,但是当我尝试提供额外的选项时,事情就失败了,在我的例子中,就是--remote tab silent“告诉gvim在新选项卡中打开正在运行的实例中的文件。更具体地说,matlab首选项中的以下行起作用: C:\pathtovim\gvim.exe 而这个失败了

我想使用gvim作为Matlab的标准编辑器。它过去在Linux上工作,但现在我被迫使用windows,我似乎不知道如何设置编辑器,以便在gvim中的新选项卡中打开文件

在首选项中有一个字段,允许传递指向首选文本编辑器的命令。这是可行的,但是当我尝试提供额外的选项时,事情就失败了,在我的例子中,就是--remote tab silent“告诉gvim在新选项卡中打开正在运行的实例中的文件。更具体地说,matlab首选项中的以下行起作用:

C:\pathtovim\gvim.exe
而这个失败了

C:\pathtovim\gvim.exe--远程选项卡静默

命令行将打开,并显示以下错误消息(我自己的德语翻译):

我的猜测是,它与附加引号有关,我不知道为什么命令会使用引号,即使在字段中我没有使用引号。直接在命令行中键入时,以下命令有效:

"C:\pathtovim\gvim.exe"
C:\pathtovim\gvim.exe --remote-tab-silent file.m
这一次失败了:

"C:\pathtovim\gvim.exe --remote-tab-silent file.m"

我真的很感激任何帮助!谢谢

我找不到一个好方法通过MATLAB设置来破解它;看起来MATLAB愚蠢地期望文本编辑器只将文件名作为参数

我认为最好的选择是创建一个.bat脚本,它只需将接收到的任何参数传递给Vim,插入
--remote tab silent

即,创建包含以下内容的.bat文件:

"C:\pathtovim\gvim.exe" --remote-tab-silent %*

然后设置MATLAB首选项以调用.bat文件而不是Vim。

似乎MATLAB使用
start
(因为它打开了DOS框)打开编辑器,并将整个字符串作为程序名传递。从Windows开发人员的角度来看,这是一件合乎逻辑的事情(否则您如何捕获
程序文件
,而不会因为文件名中的空格错误而打扰用户?此外,编辑器是通过GUI配置的,对吗?)。在Linux思维中,这是一个严重缺乏可定制性的问题,MathWorks因为没有考虑命令行参数而显得愚蠢:)我感觉到了你的痛苦,我已经将我的Windows7的每个方面都Linux化了;用Ben的批处理文件破解。
"C:\pathtovim\gvim.exe" --remote-tab-silent %*