#matlab #vim
#matlab — математическая лаборатория #vim
Вопрос:
Я хочу использовать gvim в качестве стандартного редактора для Matlab. Раньше он работал в Linux, но теперь я вынужден использовать Windows, и я не могу понять, как настроить редактор таким образом, чтобы файлы открывались в gvim на новой вкладке.
В настройках есть поле, которое позволяет передать команду, указывающую на предпочтительный текстовый редактор. Это работает, но что-то не получается, когда я пытаюсь предоставить дополнительные параметры, в моем случае это было бы «—remote-tab-silent», чтобы сообщить gvim открыть файл в запущенном экземпляре на новой вкладке. Более конкретно, работает следующая строка в настройках matlab:
C:pathtovimgvim.exe
пока это не удается
C:pathtovimgvim.exe —remote-tab-silent
Открывается командная строка со следующим сообщением об ошибке (мой собственный перевод с немецкого):
The command ""C:pathtovimgvim.exe --remote-tab-silent"" is either spelled incorrectly or could not be found.
Я предполагаю, что это как-то связано с дополнительными кавычками, я понятия не имею, почему команда выдается с кавычками, хотя в поле, которое я указал, она отсутствует. Следующие команды работают при вводе непосредственно в командную строку:
"C:pathtovimgvim.exe"
C:pathtovimgvim.exe --remote-tab-silent file.m
и это не удается:
"C:pathtovimgvim.exe --remote-tab-silent file.m"
Я был бы очень признателен за любую помощь! Спасибо!
Комментарии:
1. Кажется, MATLAB открывает редактор с помощью
start
(поскольку он открывает окно DOS), передавая всю строку в качестве имени программы. С точки зрения разработчика Windows, это логично (как еще вы могли бы зафиксироватьProgram Files
, не беспокоя пользователя ошибками по поводу пробелов в имени файла? Кроме того, редакторы настраиваются через графический интерфейс, верно?). В мышлении Linux это серьезный недостаток настраиваемости, и MathWorks глуп, потому что не подумал о параметрах командной строки 🙂 Я чувствую вашу боль, я линуксировал каждый аспект моей Windows 7; используйте взлом пакетного файла Бена.
Ответ №1:
Я не могу найти хороший способ обойти это через настройки MATLAB; похоже, MATLAB глупо ожидает, что текстовый редактор будет принимать только имена файлов в качестве аргументов.
Я думаю, что ваш лучший вариант — создать скрипт .bat, который просто передает любые аргументы, которые он получает, в Vim, вставляя --remote-tab-silent
.
Т.е. создайте файл .bat с этим содержимым:
"C:pathtovimgvim.exe" --remote-tab-silent %*
Затем настройте свои настройки MATLAB так, чтобы вызывать файл .bat, а не Vim.