Vim-ähnliche Eingabe für Matlab

Vim-ähnliche Eingabe für Matlab

Mit einer .inputrcDatei kann ich in Maple vim-ähnliche Bearbeitungen durchführen. Gibt es eine Möglichkeit, in Matlab eine vim-ähnliche Zeileneingabe zu erhalten, entweder für die Befehlszeile oder die GUI?

Antwort1

Matlab verwendet keine GNU-Readlines, daher gibt es keine direkte Möglichkeit, Vim-Schlüssel über Ihre an die Matlab-Befehlszeile zu binden ~/.inputrc. Sie müssten einen Wrapper erstellen, der Ihren Vim-Code zeilenweise erfasst.Dieser SO-Linksollte Ihnen den Einstieg erleichtern.

Antwort2

Im Matlab-Editor kenne ich den vim-ähnlichen Modus nicht.

Sie können Vim jedoch zum Bearbeiten von Dateien und Hervorheben der Syntax verwenden:

  1. Sie können Vim unter Windows verwenden und es vonhttp://www.vim.org/download.phpoder Cygwin verwenden und das richtige Paket installieren. Um die Matlab-Syntaxhervorhebung zu verwenden, laden Sie sie dann herunter vonhttp://www.mathworks.com/matlabcentral/fileexchange/21798-editing-matlab-files-in-vim

  2. Sie können stattdessen Emacs verwenden:http://blogs.mathworks.com/desktop/2009/09/14/matlab-emacs-integration-is-back/. Dort heißt es, dass Sie Vim verwenden können, indem Sie einfach einige Parameter in ihrer Lösung ändern.

Antwort3

Stellen Sie Ihre Bash- oder Zsh-Konsole mit in den Vim-Modus bindkey -v. Installieren Sie dann das Befehlszeilenprogramm rlwrap. Erstellen Sie dann einen schönen Alias, um Matlab mit Vim für die Befehlszeile zu starten.

alias vmatlab="rlwrap -a matlab -nodesktop -nosplash"

Um Matlab mit vim an der Konsole zu verwenden, geben Sie in einem neuen Terminal ein vmatlab:

Im Grunde funktioniert es. Ich habe vim auf der Matlab-Konsole verwendet. Ein Nebeneffekt ist jedoch, dass die Tab-Vervollständigung in Matlab durcheinander gerät. Es gibt eine Möglichkeit, dies mit rlwrap-Filtern zu umgehen, aber ich weiß nicht genug darüber, um einen zu schreiben.

Antwort4

Eine Zusammenfassung aus demWissenschaftliche Kenntnisse auffrischenPost für aktuelle Versionen von Matlab (R2016b oder höher)

Um Vim-Bindings für Matlab über die Kommandozeile zu erhalten, verwenden SieIMatlab: ein Jupyter-Kernel für Matlab.

  1. Installiere dasAnaconda-Python-Verteilung

  2. Installiere dasMatlab Engine API für Python

  3. InstallierenIMatlabselbst (Installationsanleitung unter Link)

  4. Generieren Sie eine benutzerdefinierte Konfigurationsdatei jupyter console --generate-config, die die Datei generiert jupyter_console_config, wahrscheinlich in ~/.jupyter(Linux/Mac) oder%PROGRAMDATA%\jupyter

  5. Entfernen Sie in der Konfigurationsdatei die Kommentarzeichen bzw. bearbeiten Sie die Zeilec.ZMQTerminalInteractiveShell.editing_mode = 'vi'

  6. Matlab wird dann durch den Aufruf des Befehls ausgeführtjupyter console --kernel imatlab

verwandte Informationen