Mac

Finderで開いているカレントデレクトリをDiredで開く

面白そうなTipsを発見したので試してみた。

このエントリーをはてなブックマークに追加

Emacs

shell-pop.el を zsh で使うと便利

emacs24.4のlisp群をパッケージ化するために、shell-pop も入れなおしたのですが動作が怪しい。色々調べるとバージョンアップされていて設定も少し変わっていたので、init.el も書き直しました。
 
[C-t]は、shell-pop の起動・停止がトグルできるようになっていて使い終わったら exitしたのち [C-t] で隠れます。起動時はカレントディレクトリになっていますが、cd[RET] でホームディレクトリになります。便利ですね(^_^)
 

;; term
;; ---------------------------------------------
(require 'shell-pop)
(custom-set-variables
 '(shell-pop-shell-type (quote ("ansi-term" "*shell-pop-ansi-term*" (lambda nil (ansi-term shell-pop-term-shell)))))
 '(shell-pop-term-shell "/bin/zsh")
 '(shell-pop-universal-key "C-t")
 '(shell-pop-window-height 30)
 '(shell-pop-window-position "bottom"))
;; -----------------------------------------------

 
zshのインストールは、homebrew で行うのが簡単です。
 

% brew install zsh

 
zshは、terminalの現在位置を明示してくれるので僕のようなビギナーにはとても助かります。他にも優れた点はたくさんあるようなので興味のある方は、下記のサイトの記事がわかりやすいです。
 

 

15786160958_00010ab2cb_z.jpg
 
参考サイト

このエントリーをはてなブックマークに追加

Mac

capsキーをcontrolキーとして使う

emacs使いのうちでは常識みたいな設定かもしれないのですが遅まきながらやってみました。めちゃくちゃ便利です。

僕の場合、capsキーを使うことはほとんどなく、大文字入力するときは shift押しで操作する。むしろうっかり capsを押してしまっていて気づかずに、”あれれ?” になることのほうが多い。まだのかたはぜひお試しくだされ(^_^)
 
15963466131_0851423699_o.jpg

このエントリーをはてなブックマークに追加

Emacs

Emacs24.4は終了時のフレーム状態を保存できる

WEBで見つけた情報によると、emacs24.4からフレームの状態が保存できるようになったとのこと、早速 init.el にその設定を追加して試してみました。

;; desktop-save-mode
(desktop-save-mode 1)

 

僕の場合、Mac本体はシャットダウンすることなくスリープで終了します。当然ながらemacsも起動しっぱなしです。けれども設定ファイルを修正したり、新しい package lisp を試したりするときに何度も再起動せざるをえないことがあります。そんなとき改めて必要なバッファーを開くには面倒です。
 
15791539898_f8c15d1f83_o.jpg
 
僕のワークスタイルは、Macbook で safari を開き、縦置きの外部モニターで、emacsを開いているという状況です。以前はemacsを再起動すると最初は Macbook側に立ち上がるので、その都度外部モニター側へ移動させてやる必要がありましたが、desktop-save-mode を設定しておくと、自動的に外部モニターに移動します。もちろん、exitするまえに開いていた buffer もちゃんと読み込んでいます。

快適!!
 
※ 参考にした情報

このエントリーをはてなブックマークに追加

Emacs

Emacs24.4 with libmxl2 for Mavericks

バージョン24.4から同包された eww が使いたくて一度ビルドしたのですが、Libxml2 がないとerrorがでて動きません。いろいろ情報を集めてなんとか emacs24.4 with Libxml2 をビルドできたので備忘録としてまとめました。
 

Libxml2 を Mac にインストール

/usr/include 以下に Libxml2 があれば大丈夫です。
僕の場合、Mac に Mavericks をクリーンインストールしなおしたので、Xcodeはインストールしたのですが、 /usr/include のフォルダすらありませんでした。Plamo さんのブログで情報を得たので、ターミナルから

% xcode-select --install

として、command line developer tool をインストールします。 /usr/include のフォルダが出来てその中に Libmxl2 も入っています。

一連の作業は、すべてターミナルアプリで行います。
mac標準のターミナルで十分ですが、
僕の場合はフリーソフトの iterm2.app を愛用しています。
 

Emacs 24.4のアーカイブをダウンロード

作業ディレクトリへ移動して、Emacs 24.3のアーカイブをダウンロードします。特にどこでもいいのですが、僕の場合はデスクトップで作業すること多いです。

% cd ~/desktop
% wget http://ftp.gnu.org/pub/gnu/emacs/emacs-24.4.tar.xz
% tar xvf emacs-24.4.tar.xz

 

インラインパッチをダウンロード

Plamoさんのサイト からインラインパッチをダウンロードして適用します。

% wget http://plamo.linet.gr.jp/~matsuki/mac/emacs-24.4-inline.patch.bz2
% bunzip2 emacs-24.4-inline.patch.bz2
% cd emacs-24.4
% patch -p1 < ../emacs-24.4-inline.patch

 

ビルドします

make の -j2 オプションは、CPU のコア数に合わせて適宜変更してください。
(4コアなら -j4)

% ./configure --with-ns --with-xml2 --without-x 
% make -j2
% make install

無事にビルドが完了すればnextstep/Emacs.appが生成されるので/Applicationsディレクトリにコピーします。
 

このエントリーをはてなブックマークに追加

Emacs

*scratch*バッファーを消さないようにする

Emacsのなんたるかも知らずに使い始めたころ、何のために *sratch* バッファーがあるのかも知らずに、保存不要のメモテーブルとして使っていました。

その後の学習で、Emacsにとって重要な役目をしていることが解り、うっかりkill-bufferで消してしまって、やむなくEmacsを再起動するというナンセンスなことをやっていました。
そこで見つけたのが次のリンクのTips
 

このlispを導入すると、*scratch* バッファで kill-buffer した場合はバッファの内容をクリアし、*scratch* バッファの内容を名前をつけて保存したときには新しく、*scratch* バッファを作ってくれます。

 (defun my-make-scratch (&optional arg)  
(interactive)  
(progn  
;; "*scratch*" を作成して buffer-list に放り込む  
(set-buffer (get-buffer-create "*scratch*"))  
(funcall initial-major-mode)  
(erase-buffer)  
(when (and initial-scratch-message (not inhibit-startup-message))  
(insert initial-scratch-message))  
(or arg (progn (setq arg 0)  
(switch-to-buffer "*scratch*")))  
(cond ((= arg 0) (message "*scratch* is cleared up."))  
((= arg 1) (message "another *scratch* is created")))))

(add-hook 'kill-buffer-query-functions  
;; *scratch* バッファで kill-buffer したら内容を消去するだけにする  
(lambda ()  
(if (string= "*scratch*" (buffer-name))  
(progn (my-make-scratch 0) nil)  
t)))

(add-hook 'after-save-hook  
;; *scratch* バッファの内容を保存したら *scratch* バッファを新しく作る  
(lambda ()  
(unless (member (get-buffer "*scratch*") (buffer-list))  
(my-make-scratch 1))))

このエントリーをはてなブックマークに追加

Emacs

emacs の IME を便利にコントールする設定

Emacsを日本語環境でよく使う僕の場合、うっかりIME ON のままでミニバッファーへのコマンド入力や、[MIGEMO]isearch して「おいおい・・」というケースが多かったので、以下のように設定しています。

lipsを見て貰えば一目瞭然、説明の必要は無いと思います。

;; emacs 起動時は英数モードから始める  
(add-hook 'after-init-hook 'mac-change-language-to-us)

;; minibuffer 内は英数モードにする  
(add-hook 'minibuffer-setup-hook 'mac-change-language-to-us)  
(mac-translate-from-yen-to-backslash)

;; buffer 切替時、IMEの状態をアップデート  
(load "cl")  
(add-hook  
'post-command-hook  
(lexical-let ((previous-buffer nil))  
#'(lambda ()  
(unless (eq (current-buffer) previous-buffer)  
(if (bufferp previous-buffer) (mac-handle-input-method-change))  
(setq previous-buffer (current-buffer))))))

;; [migemo]isearch のとき IME を英数モードにする  
(add-hook 'isearch-mode-hook 'mac-change-language-to-us)  


このエントリーをはてなブックマークに追加

Emacs

Emacs24 Fullscreen の評価は?

まずはプリントスクリーンの比較から

 

Fullscreen

fullscreen

 
 

Normalscreen

tabbar



よく見ると、タイトルバーの部分がブラックでマスキングされてるだけ、作業面積で言えば全く変わりません。僕の場合、通常は外部モニター側をメインに作業するため、Mac本隊のメニューバーは外部モニターに表示させています。したがって、MacBook側の表示は、フルスクリーン表示でもノーマルスクリーン表示で同じ・・・なんです。

 

いいかえるとMacBook単体で使う場合に限っては、メニューバーの分だけ広くなると言うことですね。
写真でも解るようにフルスクリーンモードでは、画面の透過機能は死んでしまいます。またマルチスクリーンの場合、片側モニターの表示も死んでしまいます。なのでマルチモニター環境では余り意味の無い設定といえます。ま、不要なものが表示されない分、集中できる・・・と言った程度の効用でしょうか。

このエントリーをはてなブックマークに追加

Mac

無料で使えるオンラインストレージの活用

外付けHDDにバックアップを取るという時代は終わりつつあるようです。
一人のユーザーが MacBook / iPad / iPhone というような複数端末を使うとか、自宅 Mac / 職場 Mac というような作業環境の人も増えてきました。そうしたニーズからクラウドという発想が生まれ、昨今は、クラウドサービス戦争の時代に入りました。

そこで、ぼくが構築しているクラウド環境をご紹介したいと思います。Mac環境に特化した話の内容で申し訳ないが、異種環境であっても十分応用は可能だと思う。取り急ぎ、以下の二つの無料クラウドを導入して試して欲しい。

enter link description here

◆ Dropbox(2GB まで無料)

  • Dropbox は最もレスポンスがよく、自動的にバージョン管理もしてくれるので、設定ファイル群の管理にお勧めです。

  • 複数端末を同じ環境で使えるように以下のようなディレクトリ構成で管理しています。

     ~/.emacs.d/init.el  ← Dropbox/emacs/init.el のシンボリックリンク ~/Dropbox/emacs/      ├ init.el  ← 基本設定と分割された設定ファイルの読み込み      ├ conf    ← init.el から読み込む分割された設定ファイル群      ├ elisp    ← 他者の配布しているファイルのインストール先      └ tmp     ← backup file などの一次ファイル置き場 ~/Dropbox/howm/    ← howmファイル群 ~/Dropbox/org/     ← orgファイル群 ~/Dropbox/KyepassX/ ← パスワード管理ファイル ~/Dropbox/Public/   ← 共有ファイルフォルダー 

   

◆ SugarSync(5GB まで無料)

  • SugarSync は、パソコン側のデレクトリ構造のまま同期が取れるのでデーターバックアップに向いています。

  • ~/Documents ~/Music ~/Movies など必要なデータフォルダーを同期設定するだけ

  • 文書ファイルだけのバックアップなら、5GBあれば十分です。

◆ Flickr / Picasa (Googleアカウントで利用可)

  • 容量の大きいフォトデーターを保存します。

  • 2045ピクセル以下で管理、保存するなら、picasa が無料(容量無制限)で利用できるようなのでお勧めです。僕の場合は高解像度のまま保存したいので flickrのプロアカウント(24.95US$ 容量無制限)にしています。

  • いずれも、iPhoto同期ツールがあるようなので問題ない思うが、picasaは後発なので実績評価が少なく未知数。判断の分かれ道は、サーバーのレスポンス次第と思うが、picasaは、まだ試していないので何ともいえない。

◆ YouTube

  • 動画データーを保存します。

  • ワンファイルの容量最大2GBまで、一つの動画につき10分という制限はあるが実用上は十分。非公開や限定公開などの設定が可能なので安心して使える。

  • 現在は広告収入で運用されており、ユーザーに対しては直接課金が行われていないが将来的な保証は無い。有償化の噂もある。

◆ 外付けHDD(NAS)

  • ぼくが Mac へ移行した最大の理由が、バックアップ機能 Time Machine の信頼性です。Time Machine によるバックアップは、NAS機能を具備した外部HDDを買うのがてっとり早い。

  • 内蔵HDDにバックアップをとるのは、HDD自体がクラッシュした場合を想定すると、バックアップ本来の信頼性の点で、ほとんど無意味。不謹慎な言い方だけど、東北大震災のような状況まで想定すると、データバックアップはクラウドにしておかないと意味が無いことになる。

    • そういう意味では、NASなどを使った外部デバイスによるバックアップは、パソコンシステムが壊れたときの復元用と割り切った方が賢明。僕の場合、QNAP という NASを使っているのですが、いまいちアクセス速度が遅く、アップルの「Time Capsule」2TB が amazon で24,722円になっているので心が動いています(^_^)

    • MacのTime Machine専用という割り切りなら2TBは多すぎなんですけどね。

    • 写真や画像データーをMac本体に保存してバックアップを取るというのは、必ずいつかは保存容量の限界にぶつかります。本体はいつも軽快な環境に保っておき、容量の大きい画像ファイル群は、信頼の置けるクラウドに置くというのが、昨今のベストな選択だと僕は思います。

ps: 
emacs設定ファイル群をDropbox で管理する方法は快適且つ安心です。別途 Tips にまとめてご紹介しましょう。

このエントリーをはてなブックマークに追加

Mac

MountainLion はマウスレスで使うべし

MountainLionは、なんといってもタッチパッド機能が優れているので、はっきりいってマウスは不要です。もちろん最初は慣れが必要ですが、マウスレスに馴れてくると逆にもうマウスには戻れません。そんなマウスレス環境をより快適にするために、ぜひお勧めしたい方法を紹介します。


Mac を英語環境で使う

MountainLion から iPad や iPhone と同様の LaunchPad というデスクトップメニュー機能が採用されました。なので従来の Docメニューは常に隠しておいて画面スペースをより有効に使うことが出来ます。でも、iPad/iPhone のようにタッチパネルでは無いので、これをマウスで追っかけてクリックしてアプリを起動というのでは面白くありません。


ではマウスレスで使うにはどうするかというと、キーボード入力による絞り込み機能を利用します。画面メニューを表示させた状態でキーボードからアプリ名のスペルをタイプしていくと自動的にアプリを絞り込んでくれます。


Safari を起動させたいときは、sa の入力ぐらいで絞り込んでくれますから、あとは enter を押すだけです。馴れてくるとメニューのページを繰りながらマウスで追っかけるよりも遙かにスピーディーです。


ところがこの手法にも問題があります。Mac OS は本来、英語で構築されているのですが、日本語や他の言語でも使えるようにローカライズという翻訳機能を介して表示(日本で販売されているMacは、デフォルトが日本語設定)させています。日本語表記になっているアプリというのは、Mail:メール、Preview:プレビュー Dictionary:辞書などのたぐいですね。


当然ながら日本語表記のアプリは日本語入力でないと絞り込み出来ませんから、これではとても不便です。そこで、日本語ローカライズをやめて Macを英語モードで使うという発想が生まれるのです。英語モードで使うことでアプリ名は全て英語名表記になります。翻訳プロセスが無くなるからか、心持ち Mac の動きも軽快な感じがします。



こうすることで、LaunchPad のアプリ名はすべてアルファベット名になるので、先のキーボード入力での絞り込み機能が完結します。しかしながら、この方法にも落ちし穴があって、Illustratorなどの一部のアプリが動かなくなります。他にも英語環境では使いづらいというアプリもあるかも知れないですね。



この問題を解決してくれるのが、下記にリンクしてある Language Switcher というフリーソフトです。アプリごとにそのアプリケーションが対応している言語リソースの中から、どれかの言語を選択してアプリケーションを起動できる・・という優れものです。



TouchPad機能を拡張する

さて、マウスレスを支援するためのもう一つのお勧めは、BetterTouchTool というフリーToolです。MountainLion の標準機能 を越えた TouchPad の設定が可能になります。文章で説明しても理解するのは難しいので、実際に導入して試してみるといいです。


このアプリは、TouchPad 機能を拡張するだけでは無くて、アプリ起動などのためのキーボードシュートカットも設定できます。たとえば [⌘ + s] というキーに Sfari起動を割り当てる・・といった感じの設定ですね。右手の親指で ⌘ を押し、人差し指で s キーを押すわけです。頻繁に使う操作やアプリ起動にキーボードショートカットを設定しておくと便利です。ワンタッチで Mac を Sleep 出来るようにしておくのも便利ですよ(^_^)



僕の場合は、MacBookの横に24インチの外部モニターを並べて併用していますので、画面間の移動とかも TouchPad で操作できるように設定しています。

このエントリーをはてなブックマークに追加