Vim

Tsuquyomi で popup する

Vim

本記事は Vim advent calendar 21 日目の記事です。 例年は割と準備してたけど、もっとカジュアルに書いていい気がしたという完全な言い訳をして、自分の vimrc に書いてた設定をブログにコピペ。 その 1 TypeScript で変数とか関数のシグネチャーとかをポッ…

tsuquyomi を魔改造している

Vim

https://qiita.com/advent-calendar/2018/vim 22 日目の記事です。 tl;dr tsuquyomi でエラーチェックが同期で走って Vim の UI をブロックしストレスがたまるから、魔改造して非同期で動く仕組みを作った。 https://github.com/heavenshell/tsuquyomi/tree/…

gdb を使ったデバッグ

Vim

macOS での方法の忘備録。 brew なり MacPorts で入れてコード署名をする必要がある。 OS XでGDBを使う(ためにコード署名をする) taskgated を再起動するの忘れててしばらく使えなくて混乱した。 普通に pkill すれば良い。 Vim をデバッグオプション付き…

vader.vim をつかって E2E をやる

Vim

この記事は Vim Advent Calendar 2017 16日目の記事です。 「人は生まれたままの姿が一番美しい。ノーパンタイプ」に憧れるけど、風邪をひいちゃうので厚着の vimrc です。 TL;DR 日本語で vader.vim のことを書かれてるのを見たことないので書いた vader.vi…

Misspell を Vim から呼べるようにした

Vim

GitHub - heavenshell/vim-misspell: misspell for Vim.Misspell が便利だったので Vim から呼べるようにプラグイン化した*1。 直接 buffer を misspell に突っ込んだら Vim が SEGV したので channel 経由で入れたらうまくいった*2。便利。 *1:多分 ale に…

vim-noqalign を作った

同僚氏が noqalign と言うツールを作った。 今のお仕事では Python の `__init__.py` にモジュールを import する。 import だけしてるので flake8 対策として `# noqa: F401` をつけるが、これを面倒と感じた同僚氏が自動で入れるようなツールを作った。 お…

vim-prettier を作った

Vim

tl;dr GitHub - heavenshell/vim-prettier: Prettier-Eslint-Cli for Vim Prettier と言う JavaScript のフォーマッターがある。 こいつ単体ではお仕事で設定している ESlint の設定とは関係なくフォーマットするが、prettier-eslint と言うのがあり、これを…

Vim を mocha から実行する際の注意

QuickRun を利用して、 Vim から各種テストフレームワークを実行してる。 GitHub - heavenshell/vim-quickrun-hook-unittest: Quickrun hook for enable to unittest by selecting method.mocha も実行できるようにしたけど、mocha.opts に自分のプロジェク…

Python の Flake8 と Mypy のプラグイン作った

tl;dr Flake8 と Mypy のチェックが動く Vim プラグイン作った。 Flake8 のプラグインは何個あるんだって感じだが、GitHub - kevinw/pyflakes-vim: on the fly Python checking in Vim with PyFlakespyflakes-vim はとっくに deprecated だし、Python3 の ty…

FlowType のプラグイン作った

Vim

この記事は Vim アドベントカレンダー 2016 の23日目の記事です。 id:yuttie さんの comfortable-motion.vim よさそうなので入れてみたが自分の MacVim な環境では "E118: 関数の引数が多過ぎます: 128_tick" が出たので追いかけようと思います。 …と思った…

eslint と tslint を Vim から

Vim

textlint.vim を流用。GitHub - heavenshell/vim-eslint-config: Wrapper for ESLint [deprecated] GitHub - heavenshell/vim-tslint-config: Wrapper for TSLint 作った理由は textlint.vim と全く同じ。syntastic-local-eslint.vim とかは system() でパス…

最近作った Vim plugin

Vim

textlint を今のプロジェクトでは使ってて、textlint を 開いているバッファから行いたい。 先人がすでにいるし、プラグインもある。 syntastic watchdogs.vim textlint の設定ファイルを npm で管理していて、そこから読み込むというのが二つともできない。…

Vim-Pokemon 〜あなたが Vim で開いているファイルに潜んでいるポケモン〜

Vim

see Pokemon-Emacs 〜あなたが Emacs で開いているファイルに潜んでいるポケモン〜 - Thanks Driven Life TL;DR 最近は Pokemon Go が流行っているようで、正式サービス開始を待ち望まれているようです。 『Pokemon GO』は、位置情報を活用することにより、…

Vim の起動速度2

Vim

前回 Vim の packadd を使って、起動速度改善をした。 その後 MacVim Kaoriya に Timer 機能が追加されたバージョンが出たので、Timer に置き換えた。.vimrc は以下みたいな感じで定義。 let s:plugins = [ \ 'vim-l9', \ 'vim-fuzzyfinder', \ 'vim-fuzzyfi…

Jedi.vim と Vim の起動速度

Vim

あるいは、いかにして Vim の起動速度を取り戻したか。 いつのころか Vim の起動速度が遅くなった。 正確に言うと、Python のファイルを起動する際に遅い。 とりあえず起動時に何が遅いかプロファイルを取ってみた。 954.157 614.589 614.589: sourcing /Use…

Kotoha の Vim plugin を作った

Vim

アニメの名言を簡単に引用できるChrome extension『Kotoha』作りました - Konifar's WIP window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createEl…

html なファイルを開いて行挿入をすると意図しないコマンドが実行される

Vim

GitHub の vim-jp に issue として登録したら速攻で問題の場所を教えてもらった。 filetype indent on を設定し行挿入を行うと意図してないコマンドが実行される · Issue #614 · vim-jp/issues · GitHub これの何が困るかって言うと、今まで F に FizzyFinde…

Vim で Golang を書く時の補完の設定

Golang 付属(最近 vim-jp でもホストされるようになった) Vim の設定で C-x C-o で補完候補を選べる。 neocomplecache や neocomplete を使えばなにも気にしなくて良いのかもしれないけど、Golang の場合、補完のリストを出すのが遅い。 なので、. を打つ度…

最近の日報の作り方

Vim

3 月末に常駐が終わって自社に戻ったのを機に日報という物の書き方を以下の様に変えた。 1. memolist.vim でメールで送る件名で新規に作成 2. sonictemplate-vim で定型文と Markdown のテンプレートを挿入 3. 何か作業を行ったら Markdown で記述 4. 一日の…

QuickRun.vim で Python のテストを実行した際にモジュールが読み込まれない現象

メモ。 環境: Python2.7.4, MacVim Kaoriya 7.4.22, QuickRun.vim QuickRun-Unittest, vim-virtualenv Flask を使ってこんなコードを書いてた。app.py # -*- coding: utf-8 -*- from flask import Flask from flaskext.kvsession import KVSessionExtension…

jedi.vim の popup_select_first が効かない

Vim

jedi.vim がバージョンアップして補完候補が常に選択されるという現象にあたった。 let g:jedi#popup_select_first = 0 という設定で解除できるとの事が正しく動作していない。 報告したけどあんまり良い感触じゃないっぽい。 g:jedi#popup_select_first = 0…

jedi.vim

jedi.vim に Pull Request した - Memo で Pull Request して dev ブランチに取り込んで貰った物が jedi が 0.7 になって他の変更と共に master にマージされた。 jedi.vim の設定値もいくつか変更があった模様。 変更前 変更後 g:jedi#get_definition_comma…

jedi.vim に Pull Request した

jedi.vim をアップデートしたら以下の様な警告が表示された。 jedi-vim/jedi/jedi/api.py:209: DeprecationWarning: Use completions instead. warnings.warn("Use completions instead.", DeprecationWarning)補完自体は出来るが警告が気になったのでソース…

検索時のハイライト

Vim

/ とかで検索時にデフォルトじゃハイライトされていて、どの行にいまカーソルがあるのか分かりにくい。 / とか * とかの検索の場合は でビジュアルモードで現在行を視認するという方法もある。 これが、:%s/foo/bar/gc の様な場合で、foo が沢山ある場合、今…

Vim で Unicode エスケープシーケンスを変換

Vim で JSON 文字列なファイルを以下のようなコマンドを使って整形するとする。 :%!python -m json.tool綺麗にインデントが出て嬉しいけど、そこにマルチバイトな文字列があれば Unicode エスケープシーケンスにして変換してくれる。 Unicode エスケープシー…

vim-jp.org に tips というコンテンツを追加した

Vim

Vim を使っていてこんな情報どっかにまとまってないかなとか、そういう情報へのポインタが欲しかったので、vim-jp に tips というコンテンツを作ってみて、どうですか? と言う意味もこめて Pull Request した。 # 速攻でマージされたw 意図としては情報への…

unbundle.vim その後

Vim

作者さんと何度かやりとりして最終的には filetype plugin indent on の前に filetype plugin indent off を追加したから試してみてと言われて試したらあっさり動いた。 出した Pull Request は結果的にリジェクトされた訳だけど、無駄なコードを入れるより…

Unbundle.vim が有効にならないパターン

Vim

Unbundle.vim は filetype を見て、filetype に一致したプラグインを読み込んでくれる。 詳しくは [twitter:@mattn_jp] さんのブログ参照。 Big Sky :: pathogen やめた。 しばらく使っていて、次のような現象が発生した。 MacVim Kaoriya の GUI を使ってい…

unbundle.vim + Kaoriya 版 の Vim でエラーが出る場合の対処方法

Vim

Unbundle と Kaoriya 版の Vim を使って、初回起動時に以下のコマンドを入力するとエラーになる。 :set ft=python function <SNR>98_VerifyEncoding の処理中にエラーが検出されました: 行 6: E32: ファイル名がありません E32: ファイル名がありません E32: ファ</snr>…

Jedi.vim の preview 画面を消す方法

Jedi.vim の最新を入れたら補完時にプレビュー画面を出すようになった。 メソッドの説明が出て便利なんだけど、出す事によって補完候補の選択が耐えられないくらい遅くなる。 補完の候補の選択(C-n や C-p)で表示する内容を動的に切り替えてるんだからそりゃ…