Table des matières
Vérification de la syntaxe
amélioration de la syntaxe
Formatage du code
Auto-complétion.
Maison développement back-end Tutoriel Python Meilleures pratiques pour écrire Python dans Vim

Meilleures pratiques pour écrire Python dans Vim

Feb 09, 2017 am 10:56 AM
python vim

Publions d'abord une photo :

用 Vim 写 Python 的最佳实践

Pour certains petits projets Python, utiliser vim est un bon choix. Le contenu de cet article est compilé à partir de mes réponses sur Zhihu. Quelle est la meilleure pratique pour écrire Python dans Vim ? , le contenu suivant est un complément aux anciennes réponses de Zhihu, en particulier celles qui sont principalement axées sur vim8. Si vous souhaitez plus de contenu, vous pouvez consulter certaines des réponses de Zhihu à cette question.

Vérification de la syntaxe

Si vous utilisez vim8, vous pouvez utiliser la détection asynchrone w0rp/ale au lieu de la syntaxe. Vous n'avez plus à envier le flycheck, ni à rester bloqué à cause de la vérification de la syntaxe. .

Concernant la configuration personnalisée d'ale, elle est en fait un peu "pointilleuse". Généralement, utiliser celle par défaut devrait suffire, mais j'aime les choses sophistiquées, alors j'ai essayé. Les éléments impliqués peuvent être assez détaillés. Vous pouvez directement consulter space-vim: syntax-checking pour comprendre la configuration générale. L'objectif principal est de réextraire et d'afficher le contenu de la ligne d'état fourni par ale. S'il n'y a pas d'erreur de syntaxe, elle ne sera pas affichée dans la ligne d'état. S'il y a un avertissement ou une erreur, elle peut être distinguée par différentes couleurs.

用 Vim 写 Python 的最佳实践

Quant au signe d'avertissement ou d'erreur sur le côté, j'aime qu'il soit plus propre et j'utilise juste la couleur de premier plan pour le distinguer. Parfois, cela ressemble à des taches dessus. , je ne pense pas que ça ait l'air bien.

用 Vim 写 Python 的最佳实践

用 Vim 写 Python 的最佳实践

amélioration de la syntaxe

la mise en évidence intégrée de vim pour python est un peu faible, même self n'est pas mis en évidence pour me Up, cela peut être amélioré via python-mode/python-mode :

    hi pythonSelf            ctermfg=174 guifg=#6094DB cterm=bold gui=bold
Copier après la connexion

Pour plus de détails, vous pouvez voir space-vim ici : python layer

dans la syntaxe/python de python -mode Dans .vim, vous pouvez voir un groupe de surbrillance plus détaillé que la syntaxe/python.vim fournie avec vim. Il ne devrait pas être difficile de comprendre chaque contenu. Modifiez simplement le style de surbrillance en fonction de la table des couleurs. Il s'agit du tableau de comparaison des couleurs du terminal 256. 256 couleurs du terminal et leur équivalent 24 bits (ou similaire), il s'agit du tableau de comparaison des couleurs de l'interface graphique. Tableau de couleurs HTML complet.

L'avantage est que l'effet souhaité est entièrement personnalisable, mais il présente également des inconvénients car il peut ne pas convenir à tous les thèmes vim. Lorsque vous changez de thème, ces surlignages personnalisés par Python peuvent ne pas correspondre un peu. Même si nous ne comptons que les thèmes vim populaires, il y a probablement deux chiffres. Certains sont des tons froids, certains sont des tons chauds, certains sont principalement bleus et certains sont principalement rouges. Il ne devrait pas être facile de trouver des couleurs polyvalentes. Cependant, il se peut qu'il n'y ait que quelques thèmes que tout le monde aime, alors choisissez vous-même...

En fait, le mode python est un peu un chef-d'œuvre, comprenant de nombreuses fonctions d'utilisation de vim pour écrire du python, si vous êtes intéressé Vous pouvez essayer de l'utiliser pour "conquérir le monde d'un seul coup". Cependant, pour l'instant, je n'aime que cette partie.

Formatage du code

Cela peut être effectué via google/yapf. Après avoir installé yapf, <LocalLeader>= peut formater le fichier actuel comme suit :

autocmd FileType python nnoremap <LocalLeader>= :0,$!yapf<CR>
Copier après la connexion

Auto-complétion.

C'est parce que j'utilise principalement vim, donc j'utilise YouCompleteMe. Le backend actuel utilise le jedi-vim déjà mentionné. Si vous n'aimez pas ycmd, vous pouvez essayer neovim. >

import pour trier diverses

importations Cela ne semble-t-il pas un peu compliqué ? Utilisez timothycrosley/isort pour l'organiser :

autocmd FileType python nnoremap <LocalLeader>i :!isort %<CR><CR>
Copier après la connexion
Opération en un clic

Cela peut être amélioré par skywind3000/asyncrun.vim, remplacez simplement le

précédent par ! Dans en fait, il y a encore quelques petits points à noter : AsyncRun!

L'opération en un clic de nombreuses personnes peut ressembler à ceci :

...
exec "!g++ % -o %<"
exec "!time ./%<"
...
Copier après la connexion
Vous pouvez directement remplacer ce qui précède

par ! ? La réponse est non. Si vous souhaitez obtenir l'effet précédent, cela devrait être comme ceci : AsyncRun!

exec "AsyncRun! g++ -stdc++11 % -o %<; time ./%<"
Copier après la connexion
Utilisez des points-virgules pour lier plusieurs commandes (linux) ou & pour lier plusieurs commandes (windows). , vous pouvez voir ici .

La configuration spécifique et complète de vim est ici : >>> space-vim (Si vous pensez que l'écriture est bonne, vous pouvez aller sur github et lui donner une étoile.
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quels sont les avantages et les inconvénients des modèles ? Quels sont les avantages et les inconvénients des modèles ? May 08, 2024 pm 03:51 PM

Quels sont les avantages et les inconvénients des modèles ?

Comment télécharger Deepseek Xiaomi Comment télécharger Deepseek Xiaomi Feb 19, 2025 pm 05:27 PM

Comment télécharger Deepseek Xiaomi

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Jul 01, 2024 am 07:22 AM

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3 Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3 May 06, 2024 pm 03:52 PM

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM May 06, 2024 pm 04:43 PM

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM

Un guide complet sur le débogage et l'analyse des fonctions Golang Un guide complet sur le débogage et l'analyse des fonctions Golang May 06, 2024 pm 02:00 PM

Un guide complet sur le débogage et l'analyse des fonctions Golang

Comment lui demandez-vous Deepseek Comment lui demandez-vous Deepseek Feb 19, 2025 pm 04:42 PM

Comment lui demandez-vous Deepseek

Comment enregistrer la fonction d'évaluation Comment enregistrer la fonction d'évaluation May 07, 2024 am 01:09 AM

Comment enregistrer la fonction d'évaluation

See all articles