С файлом .inputrc
я могу делать vim-подобное редактирование в maple. Есть ли способ получить vim-подобный ввод строки в Matlab, либо для командной строки, либо для GUI?
4 ответа
Matlab не использует GNU readlines, поэтому нет прямого способа связать ключи vim с командной строкой Matlab через ваш ~/.inputrc
. Вам нужно создать оболочку, которая будет захватывать ваш код vim построчно. Эта SO ссылка должна помочь вам начать.
В редакторе Matlab я не знаю о vim-подобном режиме.
Но вы можете использовать Vim для редактирования файлов и выделения синтаксиса:
вы можете использовать Vim в Windows, загрузив его с http://www.vim.org/download.php или используя Cygwin и установив нужный пакет. Затем, чтобы использовать подсветку синтаксиса Matlab, загрузите его с http://www.mathworks.com/matlabcentral/fileexchange/21798-editing-matlab-files-in-vim
вместо этого вы можете использовать Emacs: http://blogs.mathworks.com/desktop/2009/09/14/matlab-emacs-integration-is-back/ . Там говорят, что вы можете использовать Vim, только изменяя некоторые параметры в их решении.
Установите консоль bash или zsh в режим vim с помощью bindkey -v
. Затем установите утилиту командной строки rlwrap.
Затем создайте хороший псевдоним для запуска matlab с помощью vim для его командной строки.
alias vmatlab="rlwrap -a matlab -nodesktop -nosplash"
Чтобы начать использовать matlab с vim на консоли, в новом терминале введите vmatlab
.
Это в основном работает. Я использовал vim на консоли Matlab. Но одним побочным эффектом является то, что он завершает табуляцию в Matlab. Есть способ обойти это с помощью фильтров rlwrap, но у меня недостаточно знаний о них, чтобы написать один.
Сводка из сообщения Brushing Up Science для последних версий Matlab (R2016b или новее)
Чтобы получить привязки Vim для Matlab в командной строке, используйте IMatlab: ядро Jupyter для Matlab.
Установите дистрибутив Anaconda Python
Установите Matlab Engine API для Python
Установите IMatlab сам (инструкция по установке по ссылке)
Сгенерируйте пользовательский файл
jupyter console --generate-config
, который сгенерирует файлjupyter_console_config
, вероятно, в~/.jupyter
(Linux/Mac) или%PROGRAMDATA%\jupyter
В файле конфигурации раскомментируйте / отредактируйте строку
c.ZMQTerminalInteractiveShell.editing_mode = 'vi'
Затем Matlab запускается путем вызова команды
jupyter console --kernel imatlab