Best Practices zum Schreiben von Python in Vim

高洛峰
Freigeben: 2017-02-09 10:56:11
Original
1610 Leute haben es durchsucht

Lass uns zuerst ein Bild posten:

用 Vim 写 Python 的最佳实践

Für einige kleine Python-Projekte ist die Verwendung von vim eine gute Wahl. Der Inhalt dieses Artikels wurde aus meinen Antworten auf Zhihu zusammengestellt. Was ist die beste Vorgehensweise zum Schreiben von Python in Vim? , der folgende Inhalt ist eine Ergänzung zu Zhihus alten Antworten, insbesondere zu einigen, die sich hauptsächlich auf vim8 konzentrieren. Wenn Sie mehr Inhalt wünschen, können Sie sich einige von Zhihus Antworten auf diese Frage ansehen.

Syntaxprüfung

Wenn Sie vim8 verwenden, können Sie die asynchrone Erkennung w0rp/ale anstelle von Syntastic verwenden. Sie müssen Flycheck nicht mehr beneiden und müssen auch nicht wegen der Syntaxprüfung stecken bleiben .

Was die personalisierte Konfiguration von Ale betrifft, ist sie eigentlich etwas „pingelig“. Im Allgemeinen sollte die Verwendung der Standardkonfiguration ausreichen, aber ich mag ausgefallene Dinge, also habe ich es versucht. Die beteiligten Dinge können sehr detailliert sein. Sie können sich direkt die Syntaxprüfung von space-vim ansehen, um die allgemeine Konfiguration zu verstehen. Der Hauptzweck besteht darin, den von ale bereitgestellten Statuszeileninhalt erneut zu extrahieren und anzuzeigen. Liegt kein Syntaxfehler vor, wird dieser nicht in der Statuszeile angezeigt. Liegt eine Warnung oder ein Fehler vor, kann dies durch unterschiedliche Farben unterschieden werden.

用 Vim 写 Python 的最佳实践

Was das Warn- oder Fehlerzeichen an der Seite betrifft, mag ich es sauberer und nutze einfach die Vordergrundfarbe, um es zu unterscheiden. Manchmal sieht es wie Flecken darauf aus. , ich glaube nicht, dass es gut aussieht.

用 Vim 写 Python 的最佳实践

用 Vim 写 Python 的最佳实践

Syntaxverbesserung

Vims integrierte Hervorhebung für Python ist etwas schwach, selbst self wird nicht hervorgehoben me Up, dies kann durch python-mode/python-mode verbessert werden:

    hi pythonSelf            ctermfg=174 guifg=#6094DB cterm=bold gui=bold
Nach dem Login kopieren

Weitere Informationen finden Sie in space-vim hier: Python-Ebene

in Syntax/python of python -mode In .vim können Sie eine detailliertere Hervorhebungsgruppe sehen als in der mit vim gelieferten Syntax/python.vim. Es sollte nicht schwierig sein, jeden Inhalt zu verstehen. Ändern Sie einfach den Hervorhebungsstil entsprechend der Farbtabelle. Dies ist die Terminal-256-Farbvergleichstabelle. 256 Terminal-Farben und ihr 24-Bit-Äquivalent (oder ähnliches). Dies ist die GUI-Farbvergleichstabelle. Vollständiges HTML-True-Color-Diagramm.

Der Vorteil davon besteht darin, dass der gewünschte Effekt vollständig anpassbar ist, es hat jedoch auch Nachteile, da es möglicherweise nicht für alle Vim-Themen geeignet ist. Wenn Sie das Thema wechseln, passen diese an Python angepassten Highlights möglicherweise ein wenig nicht. Selbst wenn wir nur die beliebten Vim-Themen zählen, gibt es wahrscheinlich zweistellige Töne, einige sind warme Töne, einige sind hauptsächlich blau und einige sind hauptsächlich rot. Es dürfte nicht einfach sein, einige vielseitige Farben zu finden. Es kann jedoch sein, dass es nur wenige Themen gibt, die jedem gefallen, also wählen Sie selbst aus ...

Tatsächlich ist der Python-Modus eine Art Meisterwerk, einschließlich vieler Funktionen der Verwendung von vim zum Schreiben von Python, wenn Sie sind interessiert Sie können versuchen, damit „die Welt mit einem Zug zu erobern“. Allerdings gefällt mir im Moment nur dieser Teil.

Codeformatierung

Dies kann über google/yapf erfolgen. Nach der Installation von yapf kann <LocalLeader>= die aktuelle Datei wie folgt formatieren:

autocmd FileType python nnoremap <LocalLeader>= :0,$!yapf<CR>
Nach dem Login kopieren

Autovervollständigung

Das liegt daran, dass ich hauptsächlich vim verwende. Das eigentliche Backend verwendet das bereits erwähnte jedi-vim. Wenn Sie ycmd nicht mögen, können Sie es mit deoplete.nvim versuchen >

importieren, um verschiedene

Importe zu sortieren. Scheint das nicht etwas chaotisch zu sein? Verwenden Sie timothycrosley/isort, um es zu organisieren:

autocmd FileType python nnoremap <LocalLeader>i :!isort %<CR><CR>
Nach dem Login kopieren
Ein-Klick-Bedienung

Dies kann durch skywind3000/asyncrun.vim erweitert werden, ersetzen Sie einfach das vorherige

durch ! In Tatsächlich gibt es noch einige kleine Punkte zu beachten: AsyncRun!

Die Ein-Klick-Bedienung vieler Leute sieht möglicherweise so aus:

...
exec "!g++ % -o %<"
exec "!time ./%<"
...
Nach dem Login kopieren
Sie können das obige

direkt durch ! ersetzen ? Die Antwort ist nein. Wenn Sie den vorherigen Effekt erzielen möchten, sollte es so sein: AsyncRun!

exec "AsyncRun! g++ -stdc++11 % -o %<; time ./%<"
Nach dem Login kopieren
Verwenden Sie Semikolons, um mehrere Befehle zu verknüpfen (Linux) oder &, um mehrere Befehle zu verknüpfen (Windows). , können Sie hier sehen.

Die spezifische und vollständige vim-Konfiguration finden Sie hier: >>> (Wenn Sie denken, dass das Schreiben gut ist, können Sie zu Github gehen und ihm einen Stern geben
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage