Vim で Python を記述するためのベスト プラクティス
最初に写真を投稿しましょう:
一部の小規模な Python プロジェクトでは、vim を使用するのが良い選択です。この記事の内容は、Zhihu での私の回答をまとめたものです。Vim で Python を書くためのベスト プラクティスは何ですか? 、以下の内容は Zhihu の古い回答の補足であり、特に主に vim8 に焦点を当てたものです。さらに内容が必要な場合は、この質問に対する Zhihu の回答の一部を確認してください。
構文チェック
vim8 を使用している場合は、構文の代わりに非同期検出 w0rp/ale を使用できます。もうフライチェックを羨望する必要はなく、構文チェックのために行き詰まる必要もありません。
エールのこの部分のカスタマイズ設定に関しては、実はちょっと「こだわり」があるのですが、基本的にはデフォルトで十分なのですが、派手なものが好きなので試してみました。関連する内容は非常に詳細である場合があります。一般的な構成を理解するには、space-vim: syntax-checking を直接参照してください。主な目的は、ale が提供する statusline コンテンツを再抽出して表示することです。構文エラーがない場合はステータスラインに表示されませんが、警告やエラーがある場合は色で区別できます。
側面の警告やエラーの標識については、私はもっときれいにしたいので、前景色を使って区別するだけですが、時々斑点のように見えて、見た目が良くありません。
構文の強化
Python 用の vim の組み込みの強調表示は少し弱く、self でさえ点灯しません。これは python-mode/python-mode:
hi pythonSelf ctermfg=174 guifg=#6094DB cterm=bold gui=bold
を通じて強化できます。詳細については、space-vim: python レイヤーを参照してください
python-mode の syntax/python.vim では、vim 付属の syntax/python.vim よりも詳細なハイライトグループを確認できます。それぞれの内容を理解したら、カラーテーブルに従ってハイライトスタイルを変更するだけです。これは、端末 256 の色比較チャートです。 256 端末の色とその 24 ビット相当物 (または同様のもの) です。これは、GUI の色比較チャートです。 完全な HTML True Color チャートです。
これの利点は、必要な効果を完全にカスタマイズできることですが、すべての vim テーマに適しているわけではないため、欠点もあります。テーマを切り替えると、これらの Python でカスタマイズされたハイライトが少し合わなくなる可能性があります。人気のある vim テーマだけを数えても、おそらく 2 桁あります。いくつかは寒色系で、あるものは青で、あるものは主に赤です。汎用性の高い色を見つけるのは簡単ではありません。ただし、誰もが好むテーマは少数である可能性があるので、自分で選択してください...
実際、python-mode は、vim を使用して Python を記述するための多くの機能を含むちょっとしたコレクションです。興味がある方は、 「一手で世界征服」を試してみましょう。ただし、今のところ私が気に入っているのはこの部分だけです。
コードのフォーマット
これは、google/yapf を介して行うことができます。yapf をインストールした後、次の <LocalLeader>=
のように、現在のファイルをフォーマットできます: <LocalLeader>=
就能对当前文件进行格式化:
autocmd FileType python nnoremap <LocalLeader>= :0,$!yapf<CR>
自动补全
这一点因为我主要还是使用 vim, 因此用的 YouCompleteMe, 实际后端用的是已经提到的 jedi-vim. 如果不喜欢 ycmd, 使用 neovim 的可以尝试使用 deoplete.nvim .
import 整理
各种 import 是不是显得有点乱?使用 timothycrosley/isort 整理一下吧:
autocmd FileType python nnoremap <LocalLeader>i :!isort %<CR><CR>
一键运行
这个可以通过 skywind3000/asyncrun.vim 来增强, 把之前的 !
换成 AsyncRun!
就好了. 其实还是有些小小的注意点:
很多人的一键运行可能大概长这样:
... exec "!g++ % -o %<" exec "!time ./%<" ...
可以直接把上面的 !
换成 AsyncRun!
exec "AsyncRun! g++ -stdc++11 % -o %<; time ./%<"
rrreee
ワンクリック操作🎜これは skywind3000/asyncrun.vim を通じて強化できます。前の !
を AsyncRun!
に置き換えます。実際には、注意すべき小さな点がまだいくつかあります: 🎜🎜 多くの人のワンクリック実行は次のようになります: 🎜rrreee🎜 上記の !
を AsyncRun! に直接置き換えることができます。コード>?答えはノーです。前の効果を実現したい場合は、次のようにする必要があります: 🎜rrreee🎜 複数のコマンドをリンクするにはセミコロンを使用するか (Linux)、複数のコマンドをリンクするには & を使用します (Windows)。 🎜🎜具体的で完全な vim 構成はここにあります: >>> space-vim (この文章が良いと思われる場合は、github にアクセスしてスターを付けることができます。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

MINIOオブジェクトストレージ:CENTOSシステムの下での高性能展開Minioは、Amazons3と互換性のあるGO言語に基づいて開発された高性能の分散オブジェクトストレージシステムです。 Java、Python、JavaScript、Goなど、さまざまなクライアント言語をサポートしています。この記事では、CentosシステムへのMinioのインストールと互換性を簡単に紹介します。 Centosバージョンの互換性Minioは、Centos7.9を含むがこれらに限定されない複数のCentosバージョンで検証されています。

Pytorchの分散トレーニングでは、Centosシステムでトレーニングには次の手順が必要です。Pytorchのインストール:PythonとPipがCentosシステムにインストールされていることです。 CUDAバージョンに応じて、Pytorchの公式Webサイトから適切なインストールコマンドを入手してください。 CPUのみのトレーニングには、次のコマンドを使用できます。PipinstalltorchtorchtorchvisionTorchaudioGPUサポートが必要な場合は、CUDAとCUDNNの対応するバージョンがインストールされ、インストールに対応するPytorchバージョンを使用してください。分散環境構成:分散トレーニングには、通常、複数のマシンまたは単一マシンの複数GPUが必要です。場所

PytorchをCentosシステムにインストールする場合、適切なバージョンを慎重に選択し、次の重要な要因を検討する必要があります。1。システム環境互換性:オペレーティングシステム:Centos7以上を使用することをお勧めします。 Cuda and Cudnn:PytorchバージョンとCudaバージョンは密接に関連しています。たとえば、pytorch1.9.0にはcuda11.1が必要ですが、pytorch2.0.1にはcuda11.3が必要です。 CUDNNバージョンは、CUDAバージョンとも一致する必要があります。 Pytorchバージョンを選択する前に、互換性のあるCUDAおよびCUDNNバージョンがインストールされていることを確認してください。 Pythonバージョン:Pytorch公式支店

PytorchをCentosの最新バージョンに更新すると、次の手順に従うことができます。方法1:PIPでPIPを更新する:最初にPIPが最新バージョンであることを確認します。これは、PIPの古いバージョンがPytorchの最新バージョンを適切にインストールできない可能性があるためです。 pipinstall- upgradepipアンインストール古いバージョンのpytorch(インストールの場合):pipuninstorchtorchtorchvisiontorchaudioインストール最新
