In meiner .vimrc
Datei Ich habe Senden Eingang die folgende Zeile enthält:zu Embedded Terminal in vim
autocmd vimenter * botright term
Das bedeutet, dass, wann immer Vim startet, wird es einen Terminal an den rechten unteren öffnen. Ich möchte eine Schlüsselzuordnung erstellen, die vim einen gegebenen, dynamisch generierten Befehl am Terminal ausführen lässt. Zum Beispiel habe ich die folgenden meiner .vimrc
Datei hinzugefügt:
nmap <leader><leader> <C-w><C-w>python my_python_file.py<CR><C-w><C-w>
Also, wenn ich eine Datei bin der Bearbeitung my_py_file.py
, genannt kann ich drücken <leader><leader>
und Vim erste Fenster ändern (Wechsel in den Embedded-Terminal) und geben Sie der Befehl
python my_python_file.py
so, dass die Datei in python laufen wird, und schließlich zurück in das andere Fenster ändern, damit ich weiter bearbeiten kann. Das funktioniert! Aber ich möchte, dass es für beliebige Dateien funktioniert, nicht nur für Dateien mit dem Namen my_python_file.py
. Wie kann dies erreicht werden?
Ich habe über die Verwendung von expand('%:p')
gedacht, um den vollständigen Pfad der aktuellen Datei zu erhalten, aber ich konnte diese Zeichenfolge nicht als Eingabe an das eingebettete Terminalfenster übergeben. Ich habe versucht, eine Funktion zu schreiben, um dies zu erreichen, aber ohne Erfolg.
Haben Sie 'term_sendkeys()' untersucht? Das könnte erreichen, was Sie wollen. Wenn Sie eine Lösung finden, posten Sie sie als Antwort, das interessiert mich auch. – L3viathan