月別アーカイブ: 2013年1月

複数ウィンドウの高さを均一にそろえる

これも実は標準関数一発でできる。

M-x balance-windows

他にもウィンドウの幅・高さを調節する系は覚えておくと便利かも。

・enlarge-window (C-x ^)
・shrink-window
・enlarge-window-horizontally (C-x })
・shrink-window-horizontally (C-x {)
・maximize-window
・minimize-window

 

Windows上のEmacsからリモートのファイルを編集 (tramp, putty (ssh))

tramp を使うとemacs上からssh経由でリモートのファイルを編集できる。最近のemacsならデフォで入ってる。

Windowsの場合、sshのかわりにputty付属のplinkというコマンドが使える。

/plink:user@server#port:file_to_path 

この際、環境変数PATHを編集して、puttyフォルダにパスを通しておくこと。
emacs上でも環境変数をいじれる。

(setenv "PATH" (concat "C:\\Putty" ";" (getenv "PATH"))) 

さらに、

(setq-default tramp-default-method "plink")

としておけば、”plink:”部分は省略できるらしい。

参考:
WindowsのGNU EmacsでSSH接続してファイルを編集する – Fight the Future

 

alignの設定:複数回適用とか、空白処理とか

こんなにいろいろあるのか。知らなかった。
align設定用例集 – handlename’s blog

特に (repeat t) はよく使いそう。

(add-to-list 'align-rules-list
'(camma-assignment
(regexp . ",\\( *\\)")
(repeat . t)))

my @primes = (
1,2,3,5,7,
11,13,17,19,23,
29,31,37,41,43,
);



my @primes = (
1, 2, 3, 5, 7,
11, 13, 17, 19, 23,
29, 31, 37, 41, 43,
);

 ***

ちなみに私は、というかうちの会社のコーディングルールでは、
インデントはタブで、その他の文字揃え(アラインメント)はスペースで、という感じなので、
(indent-tabs-mode t) にしてると align 時にタブ文字が混ざってイヤンな感じなのですが、
↓これ使って一気に解決しました。
EmacsWiki: Smart Tabs
便利なんだけどあんまり有名じゃないのかなー。そもそもこういうルールでコーディングしてる人珍しいの…?

 

HTMLファイルが意図しない文字コードで保存される問題とか、その他文字コード関連

METAタグで「charset=”Shift_JIS”」とかなっていると、ファイルの文字コードを手動で変更しても勝手にSJISで保存されてしまう。なんでやねん。

(setq auto-coding-functions nil)

で解決。

 ***

ついでに文字コードまわりの操作備忘録

・現在開いているファイルの文字コードを変更する
→ C-x RET f

・現在開いているファイルを、文字コード指定して開きなおす
→ C-x RET r

忘れがちなので関数化しとくと楽かも。

・現在開いているファイルをUTF8として保存

(defun save-as-utf8()
(interactive)
(set-buffer-file-coding-system 'utf-8-unix)
(save-buffer))

・現在開いているファイルをUTF8として開きなおす

(defun find-file-utf8 ()
(interactive)
(let ((coding-system-for-read 'utf-8-unix)
(coding-system-for-write 'utf-8-unix))
(call-interactively 'find-alternate-file)))