RubyKaigi Takeout 2021 に参加して、typeprof などをフルに利用するには LSP を使えるようにしておく必要があるな、と気づきました。 思い立ったが吉日ということで、自分の vim 環境を ALE から LSP に乗り換えることにしました。 その過程で、mypy による lint を有効にするのに苦労したので、備忘録としてメモを残します。 前提 python 使い ALE は lint 用に使っていて、formatter としては使っていない flake8, isort, mypy を linter として使っている vim の plug-in manager には dein を使っている LSP を有効にする 本体である vim-lsp を使います。 細かい設定をやってくれる mattn/vim-lsp-settings も合わせて入れます。 # LSP (L
tl;dr 私は以前、NeovimでモダンなPython環境を構築するという記事を投稿しました。 上記記事の投稿から1年8ヶ月が経過し、LSPや新たなVimの機能などによりVimを取り巻く環境には次々と大きな変化が訪れていることを日々感じており、VimConf 2019に参加したことでその感覚はより強い確信へと変わりました。 以前から上記記事の内容は最新の状態に則しておらず、現状を踏まえた新しい記事を書く必要性は感じていました。 本記事を書くにあたり前記事に対して上書きすることも考えたのですが、あえて別記事にすることで、 この数年でVimの開発環境にどれほどの変化が起こったのか。 以前との対比を残すと面白いのではないか。 と思いv2として新しく本記事を書くことを決めました。 Language ServerによりPythonのインテリセンスを提供する Vimに訪れた最も大きな環境の変化として
Intro DBML (Database Markup Language) is an open-source DSL language designed to define and document database schemas and structures. It is designed to be simple, consistent and highly-readable. It also comes with command-line tool and open-source module to help you convert between DBML and SQL. Table users { id integer username varchar role varchar created_at timestamp } Table posts { id integer
vimspectorとは Vimでも、ブレークポイント張って、デバッガーのように使えるよ!っていう便利なプラグイン。 Debug Adapter Protocol (DAP)によって実現してる感じっぽいです 導入方法、使い方を軽く紹介していきます! ※node依存してる部分あるので、node動作する環境にしときましょう! 公式のスクショ! 導入方法 vimspectorのGitHubページにもろもろ書いてますが、いつも使っている、ダークパワーのdein.vimで導入してみます。 dein_lazy.toml buildに、デバッガーしたい言語用オプションを書き込みます。 参考→Language dependencies 今回は、PythonとNodeでデバッグしてみようかと思います。 ※遅延読み込み不要な方は、lazyじゃなくておkです。 [[plugins]] repo = "purem
Pythonの補完環境をjedi-vimからvim-lspに移行した話¶ VimでPython書いてますか? 長らくPythonの補完用プラグインとして davidhalter/jedi-vim を使用してきましたが、 あの mattn (@mattn_jp) さんがCollaboratorになった prabirshrestha/vim-lsp や palantir/python-language-server がいよいよ実用的になってきたので移行してみました。 とはいえ実際に使うにはまだ設定するところもちょこちょこあるので、一度まとめておこうと思います。 前提とする環境¶ Vim: 8.0以上、かつコンパイルオプションで jobs, timer, channel, lambda が有効になっている Python: 2.7もしくは3.4以降 (pyenvやAnacondaでインストールした
概要 現在に至るまで、UnitTestの実行はvim-quickrunかC-Zで戻ってからターミナル叩いてた。 現状だとVimでテスト駆動開発するのにつらみがある。 テスト用の設定を作り込むときが来たのだ。 ちな実行するのはPythonのUnitTest 現状の問題点 :QuickRun QuickRunはテスト全体実行しかできない。と思う(テストランナーではないからね) 頑張ればできるのかもしれない。 時間のかかるテストとか遅いテストだと全体実行を何度もするのはつらい。一つのメソッドだけとかサクッとやりたい。 ターミナル実行 ターミナルに戻るのはだるい。 ターミナルでクラス単位やメソッド単位のテストを実行するには、パッケージ階層を打たなきゃいけない。つらい。 QuickFixでRedに飛びたいよね。ターミナルのエラー見る→Vim戻る→ターミナルにエラー見に戻るとか愚行だよね。 :make
本来、DM200には印刷できないワープロのような機能しかないのですが、これによってかなりの自由度を獲得できたことになります。 ※Caps Lockはポメラ側でもLinux側でもCtrlに変更できます 上記のページの通りにインストールを済ませると、SDカード上のDebian Linuxが起動できるようになります。Linuxの動作の安定感は実験レベルを超えて実用的です。 ※Caps Lockはポメラ側でもLinux側でもCtrlに変更できます SDカード上のDebian Linuxが起動できても依然標準のポメラの機能の素晴らしさは際立っているため、両者を連携して使う感じになる(同時に使えるのでなく、両者を起動し分ける)のですが、それが何とも楽しい。 工夫の余地のある文具が欲しいという人の目には、このDebian Linux on DM200は魅力的に映るかもしれません。 今回は、そんなDebi
ほんと100回は brew uninstall neovim; brew install neovim/neovim/neovim しました。…50回、いや少なくとも10回はやりました。 環境 Neovim: 0.1.7 Denite.nvim: (バージョンはよくわかりません) Python: 3.6.0 pip: 9.0.1 Homebrew: 1.1.0 Mac OS X: 10.9.5 こんな感じです。必要情報かわかりませんがiTerm2 + zshで作業しました。 経緯 以前HomebrewでインストールしたNeovimにDenite.nvimを入れてみたのですが、 :echo has(‘python3’)が1にならず、使えませんでした。もちろん pip3 install neovim や brew doctor といった対処はしました。 解決策 以下において、~/.cache/
経緯 転職してPythonメインの会社で働いてます エディタハラスメントはなくなってVim使ってもいい会社です VimでPythonをゴリゴリかける環境を作ろう 追記 以前この記事を書いてからそこそこ経ちました。 いまだに、たまにイイねとかが飛んできて、ありがたい気持ちとともに、 記事作成当時とはだいぶvimrcも代わり、内容が古いままで申し訳ないなと思い追記をさせて頂きました。 各プラグインの設定も記載したので参考にしていただければ幸いです。 なお一通り設定するとこうなります。 必須 会社に入ってからvimの設定をすべてneovim用に書き直しました。 今環境構築するならサクサク動くneovimでやってやりましょう。 vim8のプラグイン対応状況が変わり、deoplete以外であればvim8で動きます。 しかし私はdeopleteが使いたいのでneovimです。 neovim 0.2.0
注意:NeoVimとかneocompleteとか NeoVimの開発進行に伴い、多くのshougoware(neoシリーズ)も開発が終了して、闇の力をまとったなんかになっていってるっぽいです。 僕はNeoVim関係の情報をキャッチアップできていませんが、各プラグインに関してはREADMEやdocを読んでいって自己判断をやっていきましょう。 賛否あるでしょうが、Pycharm(IDEA)のような優れたPython用IDEがある現代においては、エディタのカスタマイズを全く行わないというのは生産性を犠牲にする行為であると筆者は考えています。 とはいえツールのセットアップというものはめんどくさいものです。IDEですら設定すべき箇所は多数あります。 今のところPython用Vimカスタマイズの設定例として個人的に満足するものがなかったのでブログにまとめておこうと思います。 Vim初心者だとわからない
# -*- coding: utf-8 -*- # vim:fenc=utf-8 EE def foo(): EE hoge() ~ 通常 /tmp/z.py unix │ utf-8 │ python 100% LN 5:1 /tmp/z.py|4 col 1 error| E302 expected 2 blank lines, found 0 [pep8] /tmp/z.py|5 col 1 warning| W191 indentation contains tabs [pep8] /tmp/z.py|5 error| W802 undefined name "hoge" [pyflakes] Quickfix W802 undefined name "hoge" [pyflakes]
<a href="http://archive.today/O7GbF"> <img style="width:300px;height:200px;background-color:white" src="https://archive.is/O7GbF/cd5655f3e849e99db8717553f1e4db9d4ca35bbb/scr.png"><br> え?君せっかく Python のバージョン管理に pyenv 使ってるのに Vim の補完はシステムライブラリ参照してるの? - Λlis…<br> アーカイブされた 2014年5月21日 03:54:59 UTC </a> {{cite web | title = え?君せっかく Python のバージョン管理に pyenv 使ってるのに Vim の補完はシステムライブラリ参照してるの? - Λlis… | url = htt
Kaoriyaを使うことに関しては、上記サイトを読んでおくと勉強になります。 Vundleの設定 rubyのBundleみたいな感じで簡単にGit上のVimプラグインを導入するためのプラグインです。 「NeoBundleを使うべき」みたいな記述をとても多く見つけるので、NeoBundleを使ったほうが良いかもしれませんが、まだVundleで事足りる程度しか使いこなせていないため、とりあえずVundleを導入しています。 インストールは~/.vim/bundleというディレクトリを作成し、上記サイトよりダウンロードしたファイルを~/.vim/bundle/vundleに保存します。 ~/.vimrcというファイルを作成し、下記のように記述します。 set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " let Vundle manage Vundl
B! 120 0 0 0 Python用の環境設定について最近更新したので経過メモ。 特にVimのプラグインとかについて。 外部コマンド Vim シンタックスハイライト等 インデント 補完 畳み込み 外部コマンド 文法チェックをしたり pep8 に準拠するような作法に整えたりするために Pythonスクリプトをチェックするコマンドとしては pytest が便利です。 pytest本体ではpep8までチェックできませんが、 pytest-pep8 も入れる事でpep8についてまでチェックできる様になります。 $ pip install pytest-pep8 で必要な物を全てインストールしてくれます(pep8やpytest等)。 使い方は $ py.test --pep8 target.py 等と、.pyファイルを与えるかディレクトリを与えると そのディレクトリ内の.pyファイル全てをチェッ
はじめに 今までテストを書くどころかデバッガを使ったことがなかったのですが、id:Kesinさんの↓の記事を読んで、このままではマズイと思ったので勉強しました。 研究のプログラミングにおける悲劇を無くすためのGitとテスト デバッガ Pythonには標準でpdbというデバッガが付いてるらしい。 pdb — Python デバッガ Pythonのpdbモジュールでデバッグする こちらによると、 使い方はいろいろあるみたいだけど、とりあえず set_trace は便利なのですぐにでも使ってみるべき。pdb.set_trace() でデバッグ用の対話シェルが実行される。 とのこと。他のサイトでもプログラムの気になる所にpdb.set_trace()を埋め込んで使っていました。 import pdb pdb.set_trace() 使い方 PyCon JP 2012 hands-on セッション/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く