VimConf 2016 お出かけメモ
2016.11.05 (Sat) に実施されたVimConf2016に参加してきました。
VimConf
VimConfは、Vimのユーザーやプラグイン開発者、本体のコア部分の開発貢献者など
Vimに関わるすべての人のための、国際会議です。
http://vimconf.vim-jp.org/2016/
年々参加者が増え、今回は100名近く集まったようです。
さらに、今回は欠席者が少なめとの噂。良い事ですね。
vim-jp » Vimのユーザーと開発者を結ぶコミュニティサイトのメンバーを中心に様々な協力者の方々ともに運営されています。
会場は毎度おなじみの 株式会社ミクシィ さんが提供してくださいました。
運営、発表、そして興味を持ってくださる皆様に感謝。
また来年も無事開催されますように!
ざっくり
- みなさん素晴らしい発表だった。
- t9mdさんの円を使った操作の説明が特に印象に残った。
- golang関連の発表多かった。
- 時間配分難しい
- #vimconf2016 hashtag on Twitterトレンド入りするぐらい大盛況!
- 録画もあるので見逃した方もぜひどうぞ https://www.youtube.com/watch?v=5CnewLJi0b0
- 自分用適当メモをベースなので正確さとか怪しい......
発表
Introduction to Vim 8.0
k-takataさん
vimとvim-jpの歴史的なお話。本日の発表スライドです。 https://t.co/ZCcGaM7ZWh #vimconf2016
— K.Takata (@k_takata) 2016年11月5日
日本の方々の貢献力がどんどん伸びてる!
Q: 投げた中で一番面白かったパッチは?
A: DirectWrite, スペルチェックから日本語除外
Vim as the MAIN text editor
bird_nitrynさん
VSコードからVimへ移行なお話。さっきのスライド公開しましたー。 #vimconf2016 / Vim as the MAIN text editor #vimconf2016 https://t.co/FWGx91zJwU
— Ryo.Nitami 🐔 (@bird_nitryn) 2016年11月5日
とにかく使う!
Q: Vimへ移行のモチベーションは何?
A: 開発環境的な都合があって
Q: 移行するとき避けた方が良いバットプラクティスは?
A: レベルが違いすぎるvimrcではなく同じレベル位のvimrc読むと良い?
Q: 移行して一番テンションがあがった機能/プラグインは?
A: vimfiler, hjklで直感的にフォルダ移動が出来る
Denite.nvim ~The next generation of unite~
Shougoさん
uniteの進化系のお話。一応説明しておくと、マークダウンファイルは下書き用でプレゼンファイルを最初作る予定だったんですが、denite.nvim の開発で力つきたのでマークダウンファイルでそのまま行くことにしました。#vimconf2016
— 暗黒美夢王(deoplete dev) (@ShougoMatsu) 2016年11月5日
python3化で速度大幅アップ!
Q: Vim8以降対応の理由は新機能の非同期I/Oを使っているから?
A:ノー。もう少し前のwindowid辺りがあれば動く?機能の安定具合とキリの良さで8にした。
Q: プラグインで大量のメモリ使うと重くなるって本当? (重くなるのでpythonに移行して早くした的な話に対して)
A: Vimで本来想定していないようなの規模でメモリ使った。Vim scriptでやるには複雑になりすぎた。処理をVimの外に移して改善したので取りあえずあまり気にしない?
Go、C、Pythonのためのdeoplete.nvimのソースの紹介と、Neovim専用にpure Goでvim-goをスクラッチした話
zcheeさん
自分で作成したdeopleteソースとgolangでvim-go作っているお話。資料です!!https://t.co/KMw7bOzeUqhttps://t.co/XzvUaT416ahttps://t.co/FW0OC1jAl9https://t.co/4lh6abxQrahttps://t.co/t9GwSlQwFe#vimconf2016
— zchee / tʃí / ちー (@_zchee_) 2016年11月5日
好評とのこと。
40秒で質問しな! (時間がないので休憩時間に個別にどうぞ的な)
Q: vim-go動いているプロセスにアタッチする機能ある?
A: まだない。帰ったらやります。
エディタの壁を越えるGoの開発ツールの文化と作成法
tenntennさん
vimとgolang相性良いよ的なお話。先程の発表資料です。https://t.co/gvWinm4AZ7 #vimconf2016
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2016年11月5日
golangの開発ツール群便利!
Q: (完全にgolangな質問だけど)vim-goに欲しい機能とか、よく使っているコマンド教えてほしい。
A: xxx(良くわからなかった...)が遅い
A-A: 使ってもらえるなら半年位でxxxより早くします!
A: gofmt(ごーふむと と読むらしい)の -s(ソースコード簡略化) を goimportに欲しい
A-A: ありがとうございます、参考にします。
Q: golangと他所とのやり取りのフォーマットって何か良いものある?取りあえずはjsonはあるけれど...
A: 個人的にはjsonで良いかなと。
vim-mode-plus for Atom editor
t9mdさん
vim-modeをフォークして自分用に進化させていったお話。発表資料です。 https://t.co/Ygw3uOBXQf #vimconf2016
— t9md (@t9md) 2016年11月5日
vimは小指に優しい。
7stepチュートリアルと入力が完了しているか、というお話がとても分かりやすい。
カーソル移動しないテキストオブジェクト良いなあ。
Vimの日本語ドキュメント
MURAOKA Taroさん
日本語ドキュメントの管理の歴史的なお話。私の #vimconf2016 での発表資料を修正・公開しました。https://t.co/hIromOPwlU
— MURAOKA Taro (@kaoriya) 2016年11月6日
手と目が足りない!さらに言えば知恵も(整形済みのテキストのうまい翻訳管理)
ぜひ貢献を!
vim-jpちょっと怖い人もいるけれど話すといい人が多いよ
宣伝: C91 木曜 29み ququ. 何か出す (エプロンという案もあったらしい)
Q: rubyの翻訳がクラウドでどうこう
A: 考えたけど諦めた。ドキュメントに何らかのマークアップほしい...
Q: Chalice うんぬん (vim用2chブラウザ)
A: 起動時間かれこれ2年越えた。限られた環境であれこれの訓練にはなった。
Vim script parser written in Go
haya14busaさん
Vim script のパーサをgolangへ移植したお話。発表資料です #vimconf2016 / “Vim script parser written in Go - Google スライド” (1 user) https://t.co/1uYvQijRoJ
— はやぶさ (@haya14busa) 2016年11月5日
早い! Vim script 48sec -> golang 0.25sec
僕の友達を紹介するよ
aiya000さん
おすすめプラグイン紹介のお話。発表資料です!https://t.co/A1dK7GKj6P#vimconf2016
— Haskell使おうbot (@aiya_000) 2016年11月5日
IDEは便利ツールとしてバックグラウンド待機!
aref-web.vim使ってみてね!
Best practices for building Vim plugins
thincaさん
プラグイン作成のベストプラクティスのお話。発表資料になります。 https://t.co/jrqvLiV3jV #vimconf2016
— thinca (@thinca) 2016年11月5日
残念ながら最後の発表です、それでは聞いてください
名前やキーバインド、共用スペースは気をつけて使おう!
そこはおまえのものじゃない!
アイトラッキッキングする子を購入してみた
2年ぐらい放置してしまっているけど、気にせず再利用。資源?は大切にしないとね。
到着までどんな感じだったかというメモのみ。今回は動かないよー
The EyeTribe
http://theeyetribe.com/
お手軽な価格で入手できる設置型のアイトラッキング装置です。
簡単な特徴
お値段
全体で$114.00, 14,000円ほど。
- 本体 $99
- 送料 $15
到着まで
安い方の Priority Delivery: $15.00を指定して注文したら2週間ぐらいで到着。
輸送期間より、発送までの時間が長かった。
- 3/25(水) 注文
- 4/1(水) 発送したよーとのメール、以下郵便局のトラッキング
- 4/2(木) 国際交換局から発送
- 4/4(土) 国際交換局に到着、国内に到着!
- 4/4(土) 通関手続中、土曜日って関税通るのかなあ...
- 4/5(日) 国際交換局から発送、問題なかったらしい
- 4/6(月) 到着!
SDKのダウンロード
商品の発送後、注文リストのページよりSDKがダウンロード出来るようになった。
発送されるまでは、ダウンロードのリンクをクリックすると注文リストのページに飛ばされるけれど何も無い...
Win/Macのsdkそれぞれがダウンロードできます。
ハードは同じらしいので?Android版のSDKダウンロードもここに生えるのかもしれない
購入のところにAndroidかWin/macの選択があるのがあやしーところ。
プチトラブル
町名書き忘れた...
郵便番号と番地は書いてあったので無事到達。
なんで番地は書いたのに町名忘れたのだろう...
ともかく書き忘れ/間違いが無いようにもっと気をつけないと、と感じた瞬間でした
久々に書いたので結構適当。久々でなくても適当だけれども...
CentOS6.3でchef-soloを試してみた
こんな感じになりました
sudo yum install git -y mkdir workspace cd workspace git clone git://github.com/wiredool/chef-repo.git cd chef-repo git submodule init git submodule update sudo sh run-chef-solo.sh
実行するとApacheとかインストールされます。
よくわかっていないので、おかしなところがあるかも知れなません。
実際に利用してみる時は、もっと良さげなところを参考にしましょう。
思ったより簡単にできた
Ruby準備面倒そうだ、とか思っていました。
が、shなインストールスクリプト1つでバイナリ降ってきたのであっさり完了。便利なものですね。
途中の変なところでハマって、案外時間を取られたのが悲しかったです。
作業内容
実行したい作業のかたまりをこの辺の書く。
repo/site-cookbooks/hoge/recipes/default.rb
あるいは、誰かが作ったものを貰ってくる。
[submodule "cookbooks/man"] path = cookbooks/man url = git://github.com/opscode-cookbooks/man.git
準備した中で実行したいものの一覧をjsonに書く。
{ "run_list": [ "hoge", "man" ] }
あとは実行するだけ。
sudo chef-solo -c 設定ファイル -j jsonファイル
試した環境とか
AzureのCentOS6.3なVMにて。
利用したファイルはこのあたり。
https://github.com/wiredool/chef-repo
参考サイト
chef-soloとgitでCentOSの環境構築をらくらく自動化
http://kohkimakimoto.hatenablog.com/entry/2013/02/15/121741
chef-soloを使ってサーバ設定を自動化して楽をしよう! 〜chef-soloの使い方〜
http://blog.engineer.adways.net/archives/17808773.html
ハマった内容
sudo curl -L https://www.opscode.com/chef/install.sh | bash
で、権限がないよ的な。
正しくはこう。
権限が必要なのは「拾う」部分ではなくて「インストール」ですものね……
curl -L https://www.opscode.com/chef/install.sh | sudo bash
vimでスペルを確認する
Vim Advent Calendar 2012の12日目の記事です。
昨日は@ujmさんによるvimshellとujihisa.vim#3でした。
今回はスペルの確認に便利な機能を少しだけ紹介します。
spell
入力済みのアルファベット列を確認する場合は、vimスペルチェックの仕組みを利用してみます。
使い方は簡単で、boolな設定をonにするだけでコードが色付きます(間違いがある場合)
:setlocal spell
停止する場合は
:setlocal nospell
です。
gVimでは波線が付いたりします。
表示が気に入らない場合は
:hi SpellBad ctermbg=9
のような感じで変更できます。
表示だけでなく、修正を補助する仕組みも持っています。
]s でスペルチェックにかかった次へ単語へ
[s で前の単語へ移動できます。
単語の上で z= とすると、正しい単語の候補を教えてくれます。
表示できるだけ候補を出してくれるので、vimの縦幅が大きいと選択肢が増えます。(が、おそらく上のいくつかで十分です)
spellまわりの機能について、詳しくはヘルプの spell を参照してみてください。
さて、これで入力済みのアルファベット列はきれいになりました。
Excitetranslate
次は、英語でどんな単語だっけ?、と困ったときに便利な翻訳プラグインの紹介です。
今回は、mattnさんが作成したexcitetranslate-vimを利用してみます。
https://github.com/mattn/excitetranslate-vim
neobundleなどの管理系のプラグインを使っているならvimrcに
NeoBundle 'mattn/excitetranslate-vim'
を追加して、
:NeoBundleInstall
を実行すると使えるようになります。
windowsの場合はcurlのバイナリを拾ってきて実行ファイルをPATHに追加する必要があるかもしれません。
let $CURLPATH = '\path\to\curl-7.28.1-ssl-sspi-zlib-static-bin-w32' . ';' let $PATH = expand($CURLPATH) . $PATH
あとは確認したい単語を入力して
:ExciteTranslate
ヴィジュアルモード等で範囲を指定しての翻訳や、日本語から英語だけでなく、英語から日本語に翻訳することもできます。
さらに、英語/日本語を自動で認識してくれるためとても便利です。
次回は
まだまだ便利な機能がある様な気もしますが今回はここまでです。
次回のVim Advent Calendar 2012の13日目は @ne_sachirou さんです。
楽しみですね。
PR
今回spell機能にお世話になるきっかけとなった vimrc読書会 というものが、毎週土曜日 23:00ごろからオンライン上で行われています。
途中参加/途中離脱も自由ですので興味を持たれましたら是非覗いてみてください。
TokyoVim#10 参加メモ
ないよう
もくもくとvimに関する作業をする会。
おとなりがやけに賑やかで、集まりによってこうも違うのだなあと。
やったこと
最近さぼり気味だったプラグインの更新など。
Unite経由のNeoBundleInstallで日本語化けたー、と呟いたところ、作者のShougoさんからさくっと修正のご連絡が飛んで来た。相変わらず早い!
小さな部分は自分で修正して貢献できるようになりたい。
やろうと思っていたこと
ぷちプラグインというかキーマップ作り。
^V
他の作業で終ってしまったため、手をつけず。いつか挑戦するかもしれない。
ピザ
x4 多い!といいつつも、もくもくと食してあっという間に消滅。みんなはやい。
ハトクラ
気になっていたボードゲーム系なカードゲーム。ドミニオン系統らしい。ドミニオンも名前だけしか知らないけれど。
詳しくは http://hatokura.flipflops.jp/about
2回ほど参加させて貰ってルールは理解したつもり。
まだまだ分からないことも多いけれど楽しかった。かーどげーむばんざい。
最後に
何らかの形で関わっていた皆様、お疲れ様でした&ありがとうございました!
vim の:filetype は ややこしい
:filetype関連の話題を見かけたので自分的な理解をめもめもしてみます。
おかしな所がありましたら見なかったことにしたり、あるいはご指摘いただけると助かります。
とりあえず困ったときは次のようにすると良いかなーと思っています。
" .vimrc 始めの辺りに書く " 一旦ファイルタイプ関連を無効化する filetype off filetype plugin indent off " いろいろ " .vimrc 最後の辺りに書く " ファイルタイプ関連を有効にする filetype plugin indent on
特に
filetype off
を書き忘れてしまうと、システムのvimrcやexample_vimrc経由で意図せず :filetype on
されていた場合に、ファイルタイプの検出がうまく動作しません。
on/offの書き方が少し違うのでややこしいなあと感じます。
それと、多重読み込み防止*1はありがたいのですが、そのおかげで必要なものが読み込まれないというのは悲しいなと感じています。
以下ファイルタイプ関連のコマンドとか
現状の確認
:filetype
ファイルタイプの自動検出、ファイルタイプ用の プラグインとインデント設定 を自動読み込みそれぞれの on/off を表示する。
:verbose :setlocal filetype?
現在開いているバッファのファイルタイプを表示する。
:verbose を付けなくてもファイルタイプを確認できますが、付けた場合は どこで設定されたのか も分かるので便利です。
有効にする
:filetype on
ファイルを開いたとき、ファイルタイプを自動検出するようになる。
最初に実行した時点で登録済みの検出方法が有効になる*2。
実行後に登録された検出方法は利用されない。
また、on になっている場合はもう一度 :filetype on
しても何も起こらない。
:filetype plugin on
ファイルタイプが変更されたとき、ファイルタイプ用のプラグインを自動読み込みするようになる。
:filetype indent on
ファイルタイプが変更されたとき、ファイルタイプ用のインデント設定を自動読み込みするようになる。
このとき :filetype on も適用される。
:filetype plugin indent on
:filetype plugin on
と :filetype indent on
を行った状態になる。
ファイルタイプの自動検出、ファイルタイプ用の プラグインとインデント設定 を自動読み込みするようになる。
無効にする
:filetype off
ファイルタイプの自動検出をしないようになる。
有効になっていた検出方法は無効化される。
:filetype plugin off
ファイルタイプ用のプラグインを自動読み込みしないようになる。
:filetype indent off
ファイルタイプ用のインデント設定を自動読み込みしないようになる。
:filetype plugin indent off
:filetype plugin off
と :filetype indent off
を行った状態になる。
ファイルタイプ用の プラグインとインデント設定 を自動読み込みしないようになる。
ファイルタイプの自動検出についての設定は変化しない。
そのほか
:filetype detect
現在開いているバッファのファイルタイプを自動検出する。
:setlocal filetype=SET_FILE_TYPE
現在開いているバッファのファイルタイプをSET_FILE_TYPEに設定する。
:setfiletype SET_FILE_TYPE
現在開いているバッファのファイルタイプをSET_FILE_TYPEに設定する。
このコマンドの内部では:setlocal filetype=SET_FILE_TYPE
+色々をしている。
補完も利用できるので、こちらを使った方が良いのかもしれない。
関連ファイルとか
yokohama.vim #3 の旅
第4回目(最初は#0)の yokohama.vim に行って来ました。
http://atnd.org/events/28602
なんらかのかたちで関わった皆様、お疲れ様でした&ありがとうございました。
quickrun.vim の詳解
最初は id:thinca さんによる発表
拡張性が重視されており、設定を書くことで色々出来るとのこと。
設定が無い部分はfiletypとかを見て汎用的なものを使ってくれるので便利です。
最近調整中のhook機能は割り込み箇所全体で1つの設定を持っていて、hook間での連携がしやすいようになっているようです。
発表の際に利用したスクリプトは、当日のうちに vim-showtime としてgithubで公開されました。
gentooなる世界でプロジェクタを利用するのは何やら大変な模様です。
vi(m)を教える仕事をした話
次は id:guyon さんによる発表
viを教えることになり、vimを教えるように交渉したとのこと。
まずは素のvimを利用して貰い、こんな方法もあるよ、と少しずつ誘導?したそうです。
利用者の中にはvimを気に入ってくれた方がいたりと好評だったそうです。
教えた方々には vimmer ということを公表はしてないのだとか。
すいーつたいむ
カステラは節電うんぬんで販売自体お休みだったそうです。
代わりにドーナツをコンプリートしてきたとか。
ネタLT もてる方法
マルチユーザなLinux環境を活用して インテリジェント遠隔予測入力 をするというも
の。要root権限。
利用者はキーを押さなくても入力が完了するという。
さくせいたいむ
まずは.vimrcを整理しよう、と思ったら文字コードでハマった。
scriptencoding utf-8 な cp932 ファイルになっていて、pathの日本語が化けてました。
thincaさんに教えて貰いつつ、scriptencodingを止めて解決。ありがとうございました。
expand('hoge/ほげ') って展開失敗すると空になるのですね……
スクリプトのお手本として id:osyo-manga さんの unite-moo が紹介されていました。
残念ながら完成まで進めた方はいませんでした。
けんてい
検定のvimrc行数基準だと
- 上級者(1,000行以上) 3名
- 中級者(1,000行未満) 2名
- 初心者(500行以下) のこり(9名?)
という構成でした。
問題の解説付きで進行し、
というお話を聞けました。
いくつかの上級問題は vim 直接関係ない……。
また、次の問題へ進むときに、回答終りますか?、的な表示が出てしまうことがいくらかありました。長押し説がありましたが原因は謎です。
懇親会
ピザやキムチ、羽の生える飲み物などを囲んでわいわい、
ソフトドリンクはあまり消費しないのだなあと。