Dieser Inhalt wurde in vimrc
geschrieben . vimrc
ist
:edit $MYVIMRC
Sie können es mit öffnen. Wenn Sie die Einstellungen nicht geändert haben
:vnew $HOME/_vimrc
Sie können es auch hier öffnen. Sie können die Einstellungen mit : version
überprüfen.
vimrc
help: h vimrc
Empfehlung: Alle Vim-Konfigurationsdateien sollten im Verzeichnis
$ HOME / .vim /
abgelegt werden ($ HOME / vimfiles /
unter MS-Windows). Dies erleichtert das Kopieren der Konfigurationsdatei auf ein anderes System.
Sie können $ HOME
mit: echo $ HOME
überprüfen. Wenn Sie vimrc
unter $ HOME / vimfiles
erstellen, heißt es vimrc
, aber unter $ HOME
. Wenn Sie es setzen, wird es "_vimrc" genannt.
:!python %
Der Ex-Befehl :! Hoge
führt cmd hoge
aus und weist es<F5>
zu.
autocmd BufRead,BufNewFile *.py inoremap <F5> <Esc>:w<CR>:! python %<CR>
autocmd BufRead,BufNewFile *.py nnoremap <F5> :w<CR>:! python %<CR>
Jetzt können Sie die geöffnete Datei ausführen, indem Sie
Das Ausführungsergebnis verschwindet durch Drücken von ENTER.
Ich habe es so eingestellt, dass ein neuer Puffer geöffnet wird, um das oben genannte Problem zu lösen. Wenn er jedoch nicht bereits geöffnet ist, wird er jedes Mal multipliziert, wenn ich ":! Hoge
nur ausgeführt wird, das System (hoge)
verwendet, das die Ausgabe als Zeichenfolge erhält.
"Funktion definieren
function Pyexe()
"Vorbereitung der Rückkehr nach Eingabe des Ergebnisses in den Ausgabepuffer
"Ruft die aktuelle Position des Cursors ab
:let pos=getpos(".")
"ID des aktuellen Fensters abrufen
:let cwinid=win_getid()
"Ruft den Dateinamen des Puffers des aktuellen Fensters ab
:let fileName=expand('%')
"Puffer für Ausgabe einstellen
"Legen Sie den anzuzeigenden Dateinamen fest
:let outFileName="~pyOut"
"Vorbereiten, um zu überprüfen, ob das Ausgabefenster bereits geöffnet ist
"Rufen Sie die Puffernummer ab, wenn ein Puffer für die Ausgabe vorhanden ist.Wenn es nicht existiert-1.
:let bnr=bufnr(outFileName)
"Fenster-ID des Puffers für die Ausgabe abrufen(Listenformat).Leere Liste, falls nicht vorhanden.
:let wids=win_findbuf(bnr)
"Wenn ein Puffer für die Ausgabe vorhanden ist, ändern Sie die Fenster-ID in outWindid.Machen Sie, wenn es nicht existiert.
if bnr == -1 || len(wids)==0
"Wenn es nicht existiert
"Ermöglichen, dass der Ausgabepuffer gleichzeitig geschlossen wird, wenn die Python-Datei geschlossen wird
:autocmd QuitPre <buffer> exe(':bwipeout!') g:bnr
"Teilen Sie das Fenster, um einen Puffer für die Ausgabe zu erstellen
:exe 'vertical rightbelow new' outFileName
"Setzen Sie den Puffertyp auf nofile, da der Benutzer nicht schreibt
:set buftype=nofile
"Stellen Sie den Ausgang durch einfaches Drücken von q im normalen Modus ein.
"<buffer>Die Option sollte nur auf den diesmal erstellten Ausgabepuffer angewendet werden..
:nmap <buffer> q <C-u>:bwipeout!<CR>
"Passen Sie die Fenstergröße an
:vertical resize 70
"Rufen Sie die Pufferpuffernummer für die Ausgabe ab
:let bnr=bufnr(outFileName)
else
"Wenn da
"Rufen Sie die Fenster-ID des Ausgabepuffers aus der Liste ab
:let outWinid=wids[0]
"Wechseln Sie zum Ausgabepufferfenster
:call win_gotoid(outWinid)
endif
"Ausgabe
"Gehen Sie zum Ende des Ausgabepuffers
:call setpos(bnr,"$")
"Rufen Sie cmd auf, um Python auszuführen
:let @r=system('python '.fileName)
"In den Ausgabepuffer legen
:put r
"Neubildung
:redraw!
"Zurück zur Startposition
"Gehen Sie zum Python-Dateifenster
:call win_gotoid(cwinid)
"Bewegen Sie den Cursor auf die Startposition
:call setpos(".",pos)
endfunction
Weisen Sie dies danach nur für Python
"Nur für Python-Dateien<F5>Ermöglichen Sie die Ausführung durch Drücken einer Taste
autocmd BufRead,BufNewFile *.py inoremap <F5> <Esc>:w<CR>:call Pyexe()<CR>
autocmd BufRead,BufNewFile *.py nnoremap <F5> :w<CR>:call Pyexe() <CR>
Recommended Posts