QuiverのVimモードを快適にする (ついでにJupyterも)
はじめに
Quiver,便利ですよね.
QuiverのVimモードで日本語入力してる時に,Escキーを押してノーマルモードにしても,jkhlで移動できなくて「ウワアアアアア!!!!!」ってストレスがマッハになることはありませんか?ぼくはあります.
ついでに,Jupyter notebookのVimプラグインで日本語入力してるときに,同様の問題があったりしませんか?ぼくはあります.
ということで,直しましょう.Karabinerで.
どゆこと?
Karabinerのprivate.xmlを編集して,EscをEsc+英数キーにマッピングすることをします.そういうことです.
こういう記事でやってることを,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のマスタースライドからいじれるかと思いきや,新しい設定を追加するボタンがないんですね.
(ここからでは編集できません)
というわけで,自分でxmlファイルを書いて,しかるべき場所に置いてやる作業が必要になります.
面倒ですよね? 僕も面倒でした.
こんな感じのxmlを書いて,それを
/Users/(ユーザ名)/Library/Group Containers/UBF8T346G9.Office/User Content/Themes/Theme Fonts
にコピーすればいけます.
別のフォントが使いたければ別のフォントを指定してやれば良いでしょう.
このイケイケなテンプレートがAvenir Nextとヒラギノ角ゴを推してたので,僕もとりあえずそれです.
zshの起動にかかる時間を短縮した
zshの起動時間
短縮しました
とりあえず
最初の起動時間がこんなかんじ
いやあ,遅いですね…
ちなみにtime (zsh -i -c exit)
とすれば計測ができます.
まずプロファイリングだ
この記事に従って設定して,ボトルネックになってる部分を確かめたところ,以下のようになりました.
画像見る限り:
- 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を使うようにしました.
非常にシンプルかつかわいいかつ必要十分なのでこれでいいと思います.
これらの設定をした結果
やったぜ.
iTunesライブラリからワードクラウド作るスクリプトを改良した
PATHがおかしい→解決した
何の気なしにwhere python
してみたら:
なんかやばいことになってる…
.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の設定画面で: これをONにすればOK!
実は
思いっきり公式サイトの一例に載ってた…↓
iTunesの曲目からワードクラウドを作る(Python)
ワードクラウドって何?
こういうのです.
iTunesライブラリからこういうのを作ると,その人の音楽の趣味がひと目で分かってとてもおもしろいですよね?
どうやって作るの?
amuellerさんが書いたword_cloudというパッケージがあるのですが,これを使うと:
- 適当な英文
- [(String, Integer)]形式のリスト
とかを入力として与えてやることで,簡単にワードクラウドが作れます.
つまり,iTunesの曲目からワードクラウドを作りたければ,iTunes Library.xml
をParseして曲名,曲数,再生回数などを取り出して,それを入力とすればいいわけですね!
parsingにはBeautifulSoupとかlxmlが使えるかと思いますが,今回はlxmlを使ってみました.
書いたコード
Gistに上げておきました(はじめてGist使いました)
予め,スクリプトと同じディレクトリにiTunes.xml
とリネームしたxmlファイルを配置しておけば,後は実行するだけで
- アーティスト名と再生回数
- アーティスト名と曲数
のワードクラウドが作れます. 注意点として,自分のスクリプトがlxmlを使っているのと,word_cloud自身がmatplotlibとImageに依存しています.
従ってこれら無しだと動きません.