vim

素のVimでGoを書く時のテクニック

gorillavim.connpass.com にて、 外部ネットワークに繋がらない環境でvimとgoしか使えない という縛りでライブコーディングをしてきました。 実際にそういう環境があるのか?という話はさておき、そのような状況でも以下を駆使してそこそこコードが書けます。…

第1回 ゴリラ.vimが開催されました

vim

2/18(月)にゴリラ.vim #1が開催され、スタッフ兼発表者として参加してきました。 gorillavim.connpass.com スタッフになったのはvim-jpのslackでゴリラさんこと@gorilla0513さんがVimの勉強会をやろうとしているのを見かけ、これは前々から思っていた渋谷でV…

Vimの折畳に対応したtreeコマンド

golang.tokyo #21のDevQuizはGoでtreeコマンドを作成するというものでした。 treeコマンドといえば、以前Vimでファイル一覧をツリー表示するためのtree.vimというプラグインを作る時に使いました。 github.com このプラグインはディレクトリにマーカーをつけ…

Vimのexecute()と組み合わせて便利なコマンド

vim

この記事はVim Advent Calendar 2018の13日目の記事です。 先月に開催されたVimConf 2018で、Migrating plugins to standard featuresというタイトルで発表してコマンドの結果をバッファに表示する方法を紹介しました。 その中で解説しきれなかったテクニッ…

VimConf 2018に行ってきた

vim

VimConf 2018に行ってきました。 今年は@mattn_jpさんだけじゃなく、Vim作者のBramさんも発表するという超豪華Keynoteでした。 また、今年は去年以上に国際色高まるカンファレンスだったんじゃないかなと思います。 運営のみなさま、とても大変だったと思い…

リポジトリごとにGOPATHを切る環境でのvim-go

↓のようなリポジトリごとにその直下をGOPATHにする環境でGoを書く時、 . ├── github.com/daisuzu/bar │ ├── bin │ ├── pkg │ └── src │ └── bar │ └── main.go └── github.com/daisuzu/foo ├── bin ├── pkg └── src └── foo └── main.go 両方のリポジトリの…

Meguro.vim #8 に行ってきた

vim

Meguro.vim #8 で久しぶりにvimrcを整理し、不要なプラグインや設定なんかを削ったら300行くらい短くすることができた。 ついでにリファクタリングをして、次のような任意のEXコマンドの結果を新しいバッファに表示するコマンド*1を作ってみた。 (今までは特…

Vimのカバレッジを見る

vim

この記事はVim Advent Calendar 2017の2日目の記事です。 Vimのカバレッジはcoveralls.ioやcodecov.io上で見ることができますが、手元で見たくなることもあると思います。 そんな時はMakefileに書いてある通り、次のようにしてカバレッジを計測し、生成され…

VimConf 2017でコントリビューターになる話をしてきた

vim

VimConf 2017 - An international Vim Conferenceで speakerdeck.com という発表をしてきました。 最初は25分も話すことなんてあるかな?なんて思ってたら意外と良い感じの時間になりました。 少し足りなかったところを少し補足しておくと、 gitコマンド v8.0…

プレゼン資料にハイライトされたコードを貼り付ける

vim

プレゼン資料を作っててコードを綺麗に表示させたくなったんだけど、 何かをインストールしたりとかは面倒だったのでvim*1を使ってやることにした。 以下のコマンドでブラウザが開くのでコピペするだけ。 " mac :TOhtml | w | !open % " win :TOhtml | w | !…

Meguro.vim #4でプラグインを作った

vim

Meguro.vim #4で自分用の:VimFilerSimpleに代わるプラグインを作りました。 github.com vimfilerは機能が豊富でそこまで不満があったわけではないのですが、 常に全ての機能を必要としているわけではない unite.vimに依存している ので、一番使う頻度の高い …

Vimでファイルを開く方法(基本編)

vim

この記事はVim Advent Calendar 2016の4日目の記事です。 Vimでファイルを開くのに Unite.vim Denite.nvim ctrlp.vim など のプラグインを使っている人はたくさんいると思います。 これらのプラグインは大変便利なインターフェースを提供してくれているので…

VimConf 2016 に行ってきた

vim

VimConf 2016に行ってきた。 発表メモ Introduction to Vim 8.0 by Ken Takata 最近Vimに入った機能の中でjob, timer, packagesは使ったけど *1 *2 Partial, lambda, closureはまだ触っていないので試してみたい 日本人VimmerがVim本体に多くのパッチを送っ…

neocompleteとneobundleを捨てた

vim

半年ほど使っていなかったのでvimrcを整理するタイミングで完全に消すことにした。 ただ長年ツートップだったプラグインなので消すに至った経緯を軽くメモっておく。 neocomplete 今の自分にはVim標準の補完機能(ins-completion)で十分だった。 自動補完が発…

vimのjob機能を使ってプラグインを更新する

vim

2ヶ月以上経ってるけど一応前回の続き。 ~/.vim/pack/bundle/opt/配下にインストールされているプラグインを更新するには、 ls -d ~/.vim/pack/bundle/opt/* | xargs -I{} git -C {} pull --ff --ff-only でやってしまうのが手っ取り早いんだけど、あえてvim…

vim pluginのbackground loading

vim

最近vimに追加されたpackages、timerを使ってvimが起動した後にプラグインの読み込みができたらどうだろう? と思ったのでやってみました。 以下のような設定をvimrcに追加してvimを起動するとvimが立ち上がってからプラグインが読み込まれます。 " vim起動後…

VimのCTRL-X補完について

vim

この記事はVim Advent Calendar 2015の5日目の記事です。 Vimで補完といえばShougoさんのプラグインneocompleteが有名ですが、プラグインを使わなくてもCTRL-X サブモードで補完を行うことが可能です。 この機能はブログや書籍などでたびたび紹介されてはい…

macvim-kaoriya or macvimをビルドする(2015/08)

vim

vim 7.4.774で追加された v:completed_item をmacvim-kaoriyaで使いたくなったけど今日の時点だとまだバージョン7.4.769なので使えない... Homebrewからインストールできるらしいけど手元の環境ではエラーが出たのでコンソールからビルドしてみる。 2015/08/…

neocompleteのomniソースからneosnippetのスニペットを生成する

vim

前回のTokyoVimで作ったアレをプラグイン化しました。 daisuzu/miosnippet.vimgithub.com プラグイン名は語感と強引なこじつけです。 クーポンなんかはありません。 関数の戻り値をスニペットに含める機能や スニペットを展開した時に型を消す機能とか を実…

TokyoVim#24に行ってきた

vim

TokyoVim#24 (2015/03/21 13:00〜)tokyovim.connpass.com 今日のTokyoVimではneocompleteのomniソースから関数のシグネチャのスニペットを生成するVim scriptを作ってみました。 今のところ対応しているのは go(gocomplete) python(jedi) のみです。 使い方…

vital-smtpを作った

vim

Vim Advent Calendar 2014の7日目の記事です。 昨日は@katono123さんのVim script + Lua で rogue.vim を作った話でした。 以前unite-notmuchというメールを閲覧するプラグインを作ったのですが、 メールを送信する機能がないため、これと組み合わせて使うメ…

VimConf 2014に行ってきて

vim

改めて思ったのは、若手の勢いがすごいということ。 今回の発表者は多分ほとんどが自分と同年代かそれ以下だったはず。 参加者も懇親会でちょこちょこと話した感じだと若い/ビギナーな人が多かったし、 (凡人の自分と比べても仕方がないんだけど)みんな才能…

autorepeat.vim作った

vim

犬Vimmerはf拡張プラグインを作る*1 ↓ 自分も犬Vimmerだ ↓ けどf系って実はあまり使っていない... ↓ ひとまずfにこだわらず横移動プラグインを考えてみよう ↓ 1キーで自動的にカーソル移動が始まって好きなタイミングで止める、とかどうだろう? ↓ autorepeat…

Vimでメールを読む

vim

前回のTokyoVim#19でunite-notmuchというプラグインを作りました。 このプラグインはnotmuchというコンソール上で動作するメールリーダーを使い、 Uniteのインターフェースから メールの表示 メールの検索 メールの未読/既読の切替 をすることができます。 …

TokyoVim#19に行ってきます

vim

今日はTokyoVim#19です。 ゴールデンウィークで鈍ったVim力を鍛え直しましょう。今年のゴールデンウィークは去年よりたくさん休んでしまい、 なんとその間にメールが4000通近くもたまってしまいました。普段メーラーはWindows上のThunderbirdを使っています…

TokyoVim#17に行ってきた

vim

久しぶりにTokyoVimに行ってきました。 今回は#17でした。内容はいつも通りのもくもく会。 今まで何かと忙しくて去年作ったままほったらかしになっていた translategoogle.vimをようやく修正することができました。 まず直したのは:TranslateGoogleCmdのオプ…

ssh先のVimでSphinxドキュメント編集中にプレビューをしたくなった

Windowsのgvimなら:QuickRunコマンドだけでビルドしてFirefoxで開くところまでやってくれるように設定してあるんだけど、コンソールだとテキストブラウザしか使えない...ふとPythonのSimpleHTTPServerを思い出したので_build/htmlディレクトリで :let s = vi…

Vimから翻訳をしたい

vim

というわけでLet's translategoogle.vim!このプラグインをインストールすると以下のコマンドが使えるようになります。 :TranslateGoogle :TranslateGoogleCmd :TranslateGoogleを実行すると翻訳用のバッファが開き、beforeバッファに入力した内容が翻訳され…

Fabricで最新のVimをバラまく

vim

Vim Advent Calendar 2013の8日目の記事です。 昨日は@mattn_jpさんのVim script は人々の生活を豊かにしなければならないッ!でした。 以下のような開発環境で作業をするとき、ちょっとした編集なら特に困ることもないのですが、 バリバリとコードを書くと…

VimConf2013に行ってきた

vim

昨日(11/16)はVimConf2013に参加してきました 発表内容 How to suggest new features for Vim(by @kaoriya) Vimは単なるテキストエディタなので新機能を取り込んでもらうにはストーリー作りが大事 Evil is Justice.(by @esehara) Emacsの機能を使いたいけどV…