QuiverのVimモードを快適にする (ついでにJupyterも)

はじめに

Quiver,便利ですよね.

QuiverのVimモードで日本語入力してる時に,Escキーを押してノーマルモードにしても,jkhlで移動できなくて「ウワアアアアア!!!!!」ってストレスがマッハになることはありませんか?ぼくはあります.

ついでに,Jupyter notebookのVimプラグインで日本語入力してるときに,同様の問題があったりしませんか?ぼくはあります.

ということで,直しましょう.Karabinerで.

どゆこと?

Karabinerのprivate.xmlを編集して,EscをEsc+英数キーにマッピングすることをします.そういうことです.

dackdive.hateblo.jp

こういう記事でやってることを,QuiverとかChromeにも適用しようというわけです.

実際に書いたprivate.xmlがこちら:

<?xml version="1.0"?>
<root>
    <appdef>
        <appname>QUIVER</appname>
        <equal>com.happenapps.Quiver</equal>
    </appdef>
    <appdef>
        <appname>CHROME</appname>
        <equal>com.google.Chrome</equal>
    </appdef>
    <list>
        <item>
            <name>LeaveInsMode with EISUU(Quiver)</name>
            <identifier>private.app_quiver_esc_with_eisuu</identifier>
            <only>QUIVER,CHROME</only>
            <autogen>__KeyToKey__ KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen>
            <autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, VK_CONTROL, KeyCode::BRACKET_LEFT, VK_CONTROL, KeyCode::JIS_EISUU</autogen>
        </item>
    </list>
</root>

これでおわり!

Office 2016なPowerPointのマスタースライドとかフォント周りのメモ

概要

アルファベットにはAvenir Nextを使いたいけど,日本語にはヒラギノ角ゴを使いたい

そんなあなたのためのメモ

やり方

普通にPowerPointのマスタースライドからいじれるかと思いきや,新しい設定を追加するボタンがないんですね.

f:id:h_nitoliam:20160322213405p:plain

(ここからでは編集できません)

というわけで,自分でxmlファイルを書いて,しかるべき場所に置いてやる作業が必要になります.

面倒ですよね? 僕も面倒でした.

PowerPoint用のフォントxml

こんな感じのxmlを書いて,それを

/Users/(ユーザ名)/Library/Group Containers/UBF8T346G9.Office/User Content/Themes/Theme Fonts

にコピーすればいけます.

別のフォントが使いたければ別のフォントを指定してやれば良いでしょう.

sanographix.github.io

このイケイケなテンプレートがAvenir Nextとヒラギノ角ゴを推してたので,僕もとりあえずそれです.

zshの起動にかかる時間を短縮した

zshの起動時間

短縮しました

とりあえず

最初の起動時間がこんなかんじ

gyazo.com

いやあ,遅いですね…

ちなみにtime (zsh -i -c exit)とすれば計測ができます.

まずプロファイリングだ

yukidarake.hateblo.jp

この記事に従って設定して,ボトルネックになってる部分を確かめたところ,以下のようになりました.

gyazo.com

画像見る限り:

  • Virtualenvwrapper
  • compinit
  • zplug

が時間を食ってるらしいということがわかりました.

それでは直していきましょう.

Virtualenvwrapper

公式サイトを眺めたところ,lazy loadingを設定すれば起動時間を短縮できるらしいので,そのようにしました.

具体的には: source /usr/local/bin/virtualenvwrapper.shの代わりにsource /usr/local/bin/virtualenvwrapper_lazy.shを設定しました.

この設定を使う場合,起動時にのみ仮想環境名の補完が効かないなどの問題が出てくるらしいですが,仕方ないですね.

compinit

compinit -cを設定しました.

zplug

これはzplugが悪いというよりも,zplugでロードしているoh-my-zshのthemeが悪いと思われます.

なので,oh-my-zshを完全に諦めて,新しいthemeを使うようにしました.

github.com

非常にシンプルかつかわいいかつ必要十分なのでこれでいいと思います.

これらの設定をした結果

gyazo.com

やったぜ.

iTunesライブラリからワードクラウド作るスクリプトを改良した

parse_iTunes_XML.py · GitHub

Podcastの例外処理を書くのを忘れていて,Podcastの配信者の名前がワードクラウドに表示されてしまうのを直しました.

PATHがおかしい→解決した

何の気なしにwhere pythonしてみたら: f:id:h_nitoliam:20160208180512p:plain

なんかやばいことになってる…

.zshrcを確認してみたら

# sudo用のpathを設定
typeset -xT SUDO_PATH sudo_path
typeset -U sudo_path
sudo_path=({/usr/local,/usr,}/sbin(N-/))
path=(~/bin(N-/) /usr/local/bin(N-/) ${path})
export PATH

こういういかにもやばそうな箇所があったので,消したら解決しました. 重複pathを防ぐための設定まわりでやらかしていたと思われます.

なぜかはわかりませんごめんなさい.

ネットで拾った設定のコピペは本当によくないですね.

Finderでもjkhlが使いたい! ならKarabinerだ.

Finderでもjkhlで移動したい

使いたいときってありますよね? それ,Karabinerでできますよ.

Karabinerの設定画面で: f:id:h_nitoliam:20160122164448p:plain これをONにすればOK!

実は

思いっきり公式サイトの一例に載ってた…↓

便利な既存の設定の一例 - Karabiner - OS X用のソフトウェア

iTunesの曲目からワードクラウドを作る(Python)

ワードクラウドって何?

こういうのです.

f:id:h_nitoliam:20160109131631p:plainf:id:h_nitoliam:20160109131634p:plain

iTunesライブラリからこういうのを作ると,その人の音楽の趣味がひと目で分かってとてもおもしろいですよね?

どうやって作るの?

amuellerさんが書いたword_cloudというパッケージがあるのですが,これを使うと:

  • 適当な英文
  • [(String, Integer)]形式のリスト

とかを入力として与えてやることで,簡単にワードクラウドが作れます.

github.com

つまり,iTunesの曲目からワードクラウドを作りたければ,iTunes Library.xmlをParseして曲名,曲数,再生回数などを取り出して,それを入力とすればいいわけですね!

parsingにはBeautifulSoupとかlxmlが使えるかと思いますが,今回はlxmlを使ってみました.

書いたコード

Gistに上げておきました(はじめてGist使いました)

予め,スクリプトと同じディレクトリにiTunes.xmlとリネームしたxmlファイルを配置しておけば,後は実行するだけで

  • アーティスト名と再生回数
  • アーティスト名と曲数

のワードクラウドが作れます. 注意点として,自分のスクリプトがlxmlを使っているのと,word_cloud自身がmatplotlibとImageに依存しています.

従ってこれら無しだと動きません.

あと,フォントとしておもいっきりヒラギノを指定してます.Windowsの人は注意です.