2013/03/27

「Finderで開く」が効かないときの対処法

Mountain Lion では、ときどき「Finderで開く」が効かなくなることがあります。

下記をターミナルで実行すると治ります。

$sudo killall -KILL appleeventsd

Spotlight の検索結果を Cmd + 右クリックして、ファイルの場所を Finder で開く場合にも有効です。

ターミナルが苦手な場合は、アクティビティモニタから「appleeventsd」を停止させてもいいです。

参考リンク

2013/03/25

iPhone の距離表示を miles → km にする

iPhone を英語(US)の設定で使っていると、Mapsなどでの距離表示は、当然ですがマイル表示(miles)になります。

「マイルで言われてもわからんし」ってときは、下記のようにカナダにすると km 表示にできます。

Settings > General > International > Region Format > Canada

こうすると、時刻フォーマットは英語圏のままで、距離表示だけを miles → km になります。 通貨単位は未確認です。

2013/03/22

Emacs のモードラインを平面化する

EmacsをGUIで起動すると、モードラインは縁がついて3Dっぽくなります。 しかし、最近のGUIは平面的なものが多いので、Emacsのモードラインも平面的にしてみます。

(set-face-attribute 'mode-line          nil :box nil)
(set-face-attribute 'mode-line-inactive nil :box nil)

3D(デフォルト) 3D(デフォルト)

平面化 平面化

powerlineには平面的なモードラインが似合いそうな気がします。

Emacs のタイトルバーにバッファ名かファイル名を表示する

タイトルバーにカレントバッファのバッファ名かファイル名を表示します。

カレントバッファがファイルを開いていたらファイル名を、そうでなかったらバッファ名を表示します。

(setq frame-title-format
      (if (buffer-file-name)
          (format "%%f - Emacs")
        (format "%%b - Emacs")))

%%b とかは、モードラインの書式に似ているので、M-x apropos mode-line-format で調べると分かります。

なんか、.emacsを紛失するたんびに書いているような気もしますが…。

2013/03/14

ブログに関連する記事を Outbrain で表示してみる

ブログに関連する記事を表示するブログパーツ LinkWithin を使っていたのですが、ブログを引越しするとなぜか表示されなくなったので、Outbrain を試しています。

LinkWithinとは違い、Outbrain は ユーザー登録しないと使えませんが、細かい設定ができたりアクセス履歴を見れたりします。

ただ、肝心の「関連する記事をピックアップする機能」が LinkWithinよりも下手な気がします。日本語向けの最適化が甘いのかもしれませんが、もう少し様子を見てみたいと思います。

2013/03/11

Emacs から Mac の Quick look を使う

(defun quicklook-file (path)
  (interactive)
  (defvar cur nil)
  (defvar old nil)
  (setq old cur)
  (setq cur (start-process "ql-file" nil "qlmanage" "-p" path))
  (when old (delete-process old)))

こんなのを書いてみたんですが、ちょっとビミョーでした。

Dired で v 押したときにプレビューできるように、こんなふうに(↓)してみましたが…。

(defun dired-view-file-quicklook ()
  (interactive)
  (let ((file (dired-get-file-for-visit)))
    (if (file-directory-p file)
        (or (and (cdr dired-subdir-alist)
                 (dired-goto-subdir file))
            (dired file))
      (save-selected-window
        (quicklook-file file))
      )))

(define-key dired-mode-map (kbd "v") 'dired-view-file-quicklook)

毎回プロセスを起動しているので遅いです。Quicklookデーモンにテキストを送信するようなことができたらいいと思ったのですが、見当たりませんでした。

まあ、Quicklook 自体がビミョーってのもあるんですけど。

2013/03/09

Emacsでフォントを拡大・縮小

最近の Emacs には text-scale-increase というのが、標準で入っているようです。

とりあえず、C-M-= 等で拡大できるようにしておきました。

(global-set-key (kbd "C-M-=") 'text-scale-increase)
(global-set-key (kbd "C-M--") 'text-scale-decrease)
(global-set-key (kbd "C-M-0") '(lambda () (interactive) (text-scale-set 0)))

2013/03/08

cycle-buffer.el は古いらしい

cycle-buffer.el を長年使っていたのですが、ココによるとどうやら obsolete なようです。2004年というと、9年前ですね。いいかげん気づけよって話しですが(^^;

で、今は bs.el というバッファ切り替え全般を受け持つモジュールが標準で入っていて、この中に cycle-buffer に似たような機能があります。

cycle-buffer.el で scratch バッファを表示候補に入れたかったのですが、これも bs.el を使えば簡単でした。

(global-set-key [(f11)] 'bs-cycle-previous)
(global-set-key [(f12)] 'bs-cycle-next)
(setq bs-cycle-configuration-name "files-and-scratch")  ; *scratch*バッファも表示候補に入れる

紛らわしいですが、cyclebuffer.elも同様に obsolete ですね。

recentf のキーマップを変更する

recentf のキーマップを変えたくて、

(eval-after-load "recentf"
  '(progn
     (define-key recentf-dialog-mode-map "j" 'next-line)
        :

(recentf-mode 1)

としました。

最初は習慣的に下のようにしたのですが、うまくいかず数日悩みました。

(eval-after-load "recentf"
  '(lambda ()                   ; <---- ついラムダを書いてしまう…
     (define-key recentf-dialog-mode-map "j" 'next-line)
        :

2013/03/03

グローバルな .gitignore

グローバルに無視する ~/.gitignore_global というのがあることに今日気づきました。

Ignoring files

とりあえず、上記ページにある ~/.gitignore_global をコピペして下記を実行します。

$git config --global core.excludesfile ~/.gitignore_global

git でリポジトリを管理するときに無視したいファイルは .gitignore に書きますが、Mac で git を使ってると毎回 .gitignore に .DS_Store を書くのはめんどくさいなどと思っていました。

しかし、そもそもそんなことをする必要はなかったようです。

Safari のリロードボタン

何も言わず、ウィンドウの右上のあたりを見てみましょう。

safari's reload button

Safari のリロードボタンは、上図のように オムニバー(URL入れるところ)の にあります。 Mac、iPad、iPhone ともに同じ位置のようです。

2013/03/02

いまさら Aquamacs を使ってみる

エディタ探しの旅を絶賛放浪中です。

aquamacs monokai

Aquamacs、インストールしてはみたものの Emacs と ふつうの Macアプリのどっちつかずな感じがして一度は捨てました。

しかし、

  • MacVimっぽいタブがついていたり
  • Cmd + cCmd + v で他のアプリとコピペできたり
  • Cmd + =Cmd + - でカレントバッファのフォントを拡大縮小できたり

といいところもありまして、とくに日本語の文章を書いているときなどは、ふつうのエディタっぽい挙動になるので助かります。 ひょっとするとディスコンかもしれないのですが、もう一度使い込んでみることにします。実は、こういう中途半端な感じも便利なんではないかと思ったりしてきました。

リージョンをカット(切り取り)するつもりで、Cmd + w を押してウィンドウを閉じてしまうことが多いので、下記のようにしています。

(defadvice close-window (around close-window-adv activate)
  (if (region-active-p) (call-interactively 'kill-ring-save)
    (if (y-or-n-p-with-timeout "really close? " 2 nil) ad-do-it
      (message ""))))

これで、

  • リージョンが選択中は カット(kill-ring-save)
  • そうでないときは ウィンドウ閉じ(時限確認つき)

という Fool Proof 満開の動作になります。

とりあえず、いまの .emacs.el はココにでも上げときますが vimpulse 前提なので要注意です。

ちなみに、上にあるスクリーンショットは Monokai っぽい color-theme-almost-monokai.el というテーマをちょこっと変更して使っています。

Mac のスクリーンショットの撮り方 (まとめ)

画面キャプチャの方法です。

  • 全画面
    Cmd + Shift + 3
  • 範囲選択
    Cmd + Shift + 4 の後、マウスをドラッグ
  • ウィンドウ(影付き)
    Cmd + Shift + 4 の後、スペース の後、ウィンドウをクリック
  • ウィンドウ(影なし)
    Cmd + Shift + 4 の後、スペース の後、Option + ウィンドウをクリック

ちなみに、上記の Cmd + Shift の部分を、さらに Ctrl 同時押しにすれば、クリップボードへの保存になります。

つまり、

  • Cmd + Shift:デスクトップにファイルとして保存
  • Cmd + Shift + Ctrl:クリップボードに保存

です。

参考リンク