Vim unterstützt keine eingebettete Shell wie emacs oder kate (wenn Sie das meinen), siehe diese stackoverflow-Frage .
David Spillet hat Recht, Sie können Ihre Vim im Gnu-Bildschirm ausführen:
$ screen vim foo.txt
Dies gibt Ihnen jedoch nur etwas, das einem Fenstermanager in einem Terminal ähnelt - SEHR nützlich, wenn Sie es über ssh oder auf einer Box ohne X verwenden, aber lokal können Sie genauso gut ein anderes Xterm öffnen und zwischen ihnen wechseln. *
Wenn Sie mit der Tatsache leben können, dass Sie die gerade bearbeitete Datei nicht sehen, während Sie sich die Ausgabe ansehen, ist der Tipp von Jack M gut, könnte jedoch kürzer sein:
:map ;e :w<cr>:!python %<cr>
Aus demselben Grund habe ich dies in meinem ~/.vimrc
:
au BufEnter * \if match( getline(1), '^\#!') == 0 | \ execute("let b:interpreter = getline(1)[2:]") | \endif fun! CallInterpreter() if exists("b:interpreter") exec ("!".b:interpreter." %") endif endfun map <F5> :call CallInterpreter()<CR>
Dadurch wird jede Datei ausgeführt, die #!
in der ersten Zeile ein Shebang ( ) enthält. Es verwendet den Interpreter, um die Datei auszuführen, sodass keine Ausführungsberechtigungen erforderlich sind.
* (Der Bildschirm verfügt über einige weitere sehr nützliche Funktionen, z. B. Kopieren und Einfügen aus der Ausgabe, Überwachen verborgener Fenster auf Aktivität / keine Aktivität, die Möglichkeit, die Sitzung von verschiedenen Terminals gleichzeitig zu verwenden, sich abmelden zu lassen und alle Programme zu verlassen Laufen - es ist ein mächtiges Werkzeug).