Использование vim в качестве редактора по умолчанию для matlab

#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.