typeof Diary

VimとかJSとか。

Osaka.vim #3に参加した話

ついに第3回が開催されました。
参加者がほぼ顔なじみになってきた感があります。良いことです。 新しい顔も是非・・・(追記w)

今回はもくもく会でした。

やったこと

地名から緯度経度取得する謎コマンドを弄りました。

6月ぐらいにwebapiを使って、GoogleAPI叩いて、
地名から緯度経度を取得してechoするだけの謎コマンドを作りました。

名前もまんま、:GetLonLat
引数に地名入れると、その地名の緯度経度が取れるだけです。

単純。
そして、何に使うのか分からない...。

がしかし、地図系のプログラムを書いていると、
例えば、ここにマーカーを打ちたい!とか、
ここからここまでpolyline引きたい!みたいなことが良くあります。

そんな時に、いちいちGoogle先生に「東京 緯度経度」なんて聞くのは面倒です。

段々、「あれ、意外と使うぞこれ」と、謎コマンドの意識が変化してきました。

改良点

今までただ単にechoするだけだったので、
insertモードとかに入ると、表示が消えてしまっていて、なかなか不便してました。

  • echomsgに変えて、:messageで後からでも見れるように

次。
表示が残るようになったのは良いけど、それをいちいち手打ちするのは不便。

Vimscript力はまるでないので、ヘルプと睨めっこしながらやってみました。
これで良いのが分かりませんが、一応こんな感じ。

let lonlat = dict.Lon . ', ' . dict.Lat
call setreg(v:register, lonlat)

ここまでのイメージ。

f:id:lisia:20141026114908g:plain

ラスト。
:messageで引いてきたの見れるようになったし、いちいち打たなくてもよくなった。
だけど、別のとこの緯度経度がほしい時に、また取得しなきゃならない。
不便!!!

過去に引いたやつは何らかの形で参照できたら...

  • はじめてのunite-source

unite-sourceの書き方を写経していました。

参考記事

この辺りを参考に。
引いてきたやつを、とりあえずtxtファイルに追記してて、
readfileしてるだけなんですけど...
もっと良さげな履歴管理方法を考えないとと思います。

未完ですが、こんなイメージ。

f:id:lisia:20141026115725g:plain

wordに地名 / Lon: Lat: で表示しておいて、実際に挿入されるのが、Lon,Latの値だけとか、
できるんでしょうか。

てか、そうしたいです。

以上!!!
地図系アプリのお供に、是非。みたいにできたら良いですが、なかなか難しいものです。

まとめとか感想

前回#2から、全くvimrcも触らず、lingrにも顔を出さず、読書会にも参加せず、
Vim活がまるでできてませんでした。

全てはあいつのせいです。
基本情報技術者とかいう、あれのせいです。

という感じで、久々にVim活できて楽しかったです。
ちょっとした進捗ですけど、なんとなく、こうしたい・ああした方が…!
と、少しずつVimscript書いて、改良する楽しさ、作る楽しさが分かってきたのも大きかったです。

あ、helpと睨めっこも良いですが、せっかくの勉強会の場なんだから、
質問すれば良かった感がかなりあります。。。

次回もよろしくお願いします!!

おまけ

実は、Vimの勉強会というのは見せかけで、ハードの勉強会なんですよ(大嘘)

なぜかはじまる、Kinesisの分解の図。

f:id:lisia:20141026115510j:plain

Kinesisにトラックパッド移植したら便利。