Android StudioのEmacsキーマップのundo

MacにAndroid Studioを再インストールしてキーマップをEmacsに設定したところ Control + Shift + _ でUndoが効きませんでした。

Add Keyboard Shortcut画面を開いて Control + Shift + _ と入力してみると、画面には

0608a

のように、3種類が表示されてしまいました。なぜか _ が – になっています。キーマップが間違っているのでしょうか。もとのEmacsに戻したら、こんどは

0608b

になってしまいました。でも Control + Shift + _ でundoできる、と思ったら再起動後は Control + Shift + – じゃないとundoできなくなるし。

再インストールするまでは有効だったのですが何ででしょうね。とりあえず ⌘Z でも設定しておこうかな。

Mac「このアプリケーションで開く」が遅くなった

Finderからファイルを選択して「このアプリケーションで開く」の表示に時間がかかるようになってしまいました。
毎回のように「取得中…」が表示されてしまいます。しばらくすると一覧が表示されるのですが、この待ち時間だとストレスがたまるのは間違いありません。

0501

解決策ははっきりしませんが、とりあえずLaunchServicesデータベースをリセットしてみることにしました。
「このアプリケーションで開く」で表示されるアプリケーション名が重複したりするときの解決法ですが、試してみることにしました。

方法はターミナルから以下の長い1行のコマンドを入力するだけ。

/System/Library/Frameworks/CoreServices.framework/Frameworks/
LaunchServices.framework/Support/lsregister -kill -r -domain local
-domain system -domain user

そしたらFinderを再起動。

killall Finder

わたしの場合はXtraFinderを使っているので、それも起動しました。
とりあえずこれで、「取得中…」は表示されなくなりました。

ちなみに、

~/Library/Preferences/com.apple.LaunchServices.plist

を削除して再起動してもいいようですし、編集する方法もあるようです。

Command + Spaceでの入力切り替えを無効にする

Macで普段使っているのはUS配列のキーボードです。ここでの日本語入力切り替えはShift+Spaceにしています。

でも、Command+Spadeで入力が切り替わるをそのままにしていたら、Illustratorの表示拡大のキー配列とかち合ってしまいました。

このところIllustratorを毎日使うのでこれはうっとうしい。なので、無効にすることにしました。もちろん入力切り替えのほうです。

これにはシステム環境設定からキーボードを選んで、ショートカットの項目を表示させます。

ここから左側の入力ソースを選ぶと

前の入力ソースを選択
入力メニューの次のソースを選択

にチェックが入っているので、このチェックをはずしてしまえば、オッケーです。

1113

MacでWifiキーボードがつながらないからPRAMをクリア

このところクラムシェルモードで使っているMacBook AirにWifiキーボードがつながらくなってきました。何度も電源ボタンを押してもなかなかつながりません。

他の機種でもこういうことがあります。

とりあえずPRAMをクリアすることで解決できる場合があるので試してみました。

Command + Option + P + Rを押しながら起動します(というより起動してグレーの画面になる前に押すというのが正しいのかな)。

起動音が鳴っても押し続けて2回めの起動音が鳴るまで押し続けます。

これで接続されればいいのですがダメでした。

とりあえず普通に再起動してみたら無事接続されていました。

1105

PRAMクリアはWifiがつながらないときに試す方法の一つのようです。

DayOneのjournalをバックアップで復元

DayOneのデータをまちがって削除してしまいました。
うっかりiCloudの書類とデータを削除してしまったために、中にあったDayOneのjournal.dayoneも削除されてしまいました。

大事なデータがあるわけではないのですが、記録がなくなってしまうのは喪失感があります。

たしかバックアップがあったはず。DayOneのPreferencesを見るとちゃんとBackup項目がありました。

これを見るとわたしの場合

~/Library/Containers/com.dayoneapp.dayone/Data/Library/Application Support/Backup

にあるようです。

1030a

DayOneのサポートページに手順がありました。この通りに進めればいいようです。

まず、PreferencesのSyncタブに表示されている現在の設定を覚えておきます。

その後、Backupタブを開いて、「Show Backups Folder in Finder」を押します。

するとBackupフォルダが開いてバックアップファイルが表示されます。単にバックアップのフォルダを開くだけでした。

このフォルダには定期的にバックアップされているjournalのzipファイルがあるので、ここから必要なファイルを選びました。私の場合はバックアップの中で最新のものです。

このファイルをダブルクリックして解凍するとJournal_dayoneフォルダができるので、Journal.dayoneにリネームします。
(拡張子の追加のワーニングが出るので「追加」を選択します。)

Journal.dayoneをダブルクリックすると確認が表示されるので「OK」します。

1030b

これでバックアップが反映されます。全部のデータを読み込むには意外と時間がかかりました。

この読み込んだデータを現在のjournalとして保存するには、もう一度Preferencesから設定します。

Syncタブを開くとData FileがCustom locationになっているので、iCloudかDropboxか、このままLocal locationを使うか設定します。

わたしはDropboxにしました。これで復元は無事終了です。

ところで、わたしのバックアップは11日前のものが最新でした。
設定ではEvery 2 daysとなっているし、それ以前のバックアップは2日おきなのですが、どうなってしまったのか分かりません。よく見ると7日間開いているバックアップも他にあったりします。ちょっと不安ですね。

gvのキーバインディング

gvは、たぶんとってもマイナーなPSプレビューワでしょう。

このgvのページ移動に関するキーバインディングをまとめてみました。。PSプレビューワといっても、Ghostscriptのフロントエンドです。

Linux専用マシンのときは無意識に使っていた機能なんですが、ViertualBox上のLinuxで操作したり、Mac用gvを使うようになってからいつのまにかキーバインディングを忘れてしまいました。

わたしのGhostscriptのフォント設定は、ほんとうのフォントではなくて、ほとんど代替フォントを表示するようにしているので、gvでの表示はあくまでもはみ出しを見たり、罫線やアミカケの配置の確認用になっています。

そこに必要なのはページ移動くらいなんですが、ページを前後して見たいのにいちいちマウスを使うのは効率が悪い。

そこでgnuのページを参考に、ページ移動のみ調べてみました。

説明されているキーバインディングを実際に使ってみると、Mac用のgvとVirtualBoxのLinuxのgvとは微妙に異なっています。もしかすると自分の環境設定が原因かもしれませんが。

前のページ

複数のバインディングがあります。

Shift + ↑

b

Ctrl + bShift + bも同じ (Mac版のみ)

Space

次のページ

複数のバインディングがあります。

Shift + ↓

f

Ctrl + fShift + f も同じ (Mac版のみ)

Ctrl + Space (Mac版は無効)

5ページ分戻る

Ctrl + ←

5ページ分進む

Ctrl + →

gnuのページには「Home」「End」キーがあって、ファイルの先頭や末尾にジャンプできるようですが、わたしのキーボードにはないので、チェックしませんでした。

Emacs.appの再インストール

先日、homebrewのリンクが切れてしまったので再インストールしたのですが、Emacs.appがなくなってしまいました。

ほんとだったら、/usr/local/Cellar/emacs/24.3/ の中にあるはずなのですが見当たりません。

そういえばcocoaオプションを付けなかったと思い出して、いったん削除してから再インストールしてみました。

$ brew uninstall emacs
$ brew install --cocoa emacs

ところがこれでもEmacs.appは存在しません。brewはインストールするときに /Library/Cacshes/Homebrewに必要なファイルをダウンロードしてから、これを元にビルドするようなのです。

もしかしたら、cocoaオプションを付けずにインストールした場合はEmacs.appが含まれない状態のファイルをキャッシュして、それをもとに再インストールしようとするからEmacs.appが含まれないのかな?

というわけで、キャッシュを削除してからインストールしてみることにしました。

$ ls /Library/Caches/Homebrew/ema*
/Library/Caches/Homebrew/emacs--patch-173ce253e0d8920e0aa7b1464d5635f6902c98e7.diff
/Library/Caches/Homebrew/emacs--patch-cb4cc4940efa1a43a5d36ec7b989b90834b7442b.patch
/Library/Caches/Homebrew/emacs-24.3.tar.gz

と3つのファイルがあるので、これを削除します。

$ rm /Library/Caches/Homebrew/ema*

で、新しくemacsをインストールすると、キャッシュがないのでファイルをダウンロードしてからインストールが始まります。もちろんcocoaオプションを付けてみました。

$ brew install --cocoa emacs
==> Downloading http://ftpmirror.gnu.org/emacs/emacs-24.3.tar.gz
...

この他にも必要なパッチなどを当ててからビルドされます。もういちど /usr/local/Cellar/emacs/24.3 を見ると無事Emacs.appが生成されていました。

その後、/Applicationフォルダにリンクを張るために、以下を実行しました。

$ brew linkapps
Linking /usr/local/Cellar/emacs/24.3/Emacs.app
...

Emacs以外のリンクはすでに貼られますが、問題ないでしょう。

これで無事Emacs.appが使えるようになりました。

それにしても、SublimeTextをインストールしたときは、Emacsはもう使わないかと思ってたんですけどね。結局、手放せず。これからも共存しながら使っていきそうです。

homebrewのcoreutilsの入れなおし

いまごろMarvericksにしたMacを使ってみたらターミナルの表示がおかしい。lsでカラーになるように設定したはずなのですが、カラーどころかaliasにしているalias ls='ls -F'も効いてないようす。

調べてみたら.bashrcの中で呼び出している/usr/local/bin/gdircolorsがありません(これがあればaliasも設定するようになっています)。

/usr/local/optを見ると、homebewを使ってインストールされているはずなのにシンボリックリンクが無くなっているformulaもいくつかあります。brew doctorとしても問題はないのですが。

ひとつひとつシンボリックリンクを貼り直し始めて気づいたのですが、/usr/local/binの中にはcoreutilsがインストールしたglsなどのgで始まるコマンドのシンボリックリンクがゴッソリと消えてしまっていました。

ほんとだったら、こんな感じのリンクが消えてなくなりました。

1001

これを手動で直すのも面倒くさいし、適当にスクリプト書けばいいんだろうけど、ほんとうにそれだけで動くのかも分からないので、結局いったんuninstallして入れなおすことにしました。

$ brew uninstall coreutils
$ brew install coreutils

でオッケーです。その他のいくつかのformulaも同様にして無事復元しました。

lsでファイルタイプごとに色付け出来る機能と、「ls /usr/bin -l」のように後からオプションを指定できる機能は、デフォルトのlsにはなく(BSDタイプだからかな)gls系統にしかないようです。

MetanotaはSimplenoteに同期したファイルの動作が遅い?

ちょっとでも長いファイルだと遅くなるらしい

MetanotaはMac用のエディタでSimplenoteとEvernoteに同期、さらにローカル保存したファイルの3種類をまとめて表示・編集することができるエディタです。

Markdown記法が使えて便利なのと、Simplenoteのデザインがほんとにシンプルで物足りないので気に入って使っていました。今は有料版を使っています。

ちなみにEvernoteとの同期は、文字だけなので同期といえるほどたいしたことは出来ません(Metanotaのサイトにも説明があります)。

でも、最近Metanotaの動作が極端に遅くなった気がします。いつも決まったファイルに箇条書きのようにメモをとっているのですが、入力がとっても遅いんです。

123456789のように数字を入力するだけで、入力し終わったあとに最後の9が表示される感じ。これはちょっとストレスになってきました。

このファイルは、3767words、436行あります。たったこれだけなんですが、トロ〜ンという感じです。

Simplenoteでもそれなりにトロ〜ン

Simplenoteで試してみましたが、Metanotaよりはましなものの、もうひとつキビキビしません。

これはSimplenoteの仕組みなのかな。たえず同期してるみたいだし。

ローカルのファイルにすることで解決、しかし

0928

Evernoteとの同期は問題外なので考えないことにして、ローカルのファイルに移して試してみることにしました。

これが大正解。キビキビ動きます。

な〜んだ。普通のエディタのようにローカルに保存すればいいんですね。ローカルの部分をDropboxかなんかにすれば共通できるかもしれない。

で、このデータはどこに保存されているのか分かりません。

Library/Application SupportにはMetanotaフォルダが見つからないんです。

ローカルデータの場所を、Dropboxに移動して共通するのを宿題することにしてとりあえずこの記事は次回に続くはずです。

Macのマルチモニタのメインの変更

Macでマルチモニタ(2台)を使っていたら、どういう訳かメインのモニタが入れ替わってしまいました。

システム環境設定からディスプレイを選んで配置を開くと、「メニューバーの位置を変更するには、別のディスプレイにドラッグします」という説明があるので、その通りに白いバーを隣のモニタにドラッグすれば、この問題は解決です。

0927

Mavericksはどっちにもメニューバーがあるので、一瞬?と思ったのですが、これに戸惑う自分の方がちょっとどうかな、でした。