Emacs

query-replace-regexpの置換する文字に改行を指定したい場合

とある日、query-replace-regexpで、「,」を「\n」に置換したくなった。しかし、置換する文字に\nを指定しても、そのまま"\n"と置換されてしまう。そこで、調べたところ、 Query replace regexp hoge with : C-qC-jと入力すれば改行が置換される。似たような…

*scratch*バッファをkillしてしまった場合

誤って、*scratch*バッファをkillしてしまった場合は、 C-x b *scratch*で復活させる事ができる。

grepとfind-tagのジャンプ先を読み取り専用にする

コードを読むことが多いので、grepとfind-tagのジャンプ先を読み取り専用にする。 ;; 読み取り専用にする関数 (defun file-read-only-hook () (toggle-read-only 1)) ;; grepのジャンプ先を読み取り専用にする。 ;; 正確には、next-error後に、読み取り専用…

defadvice

関数の挙動を変更するのにdefadviceが便利 GNU Emacs Lispリファレンスマニュアル: 16. Emacs Lisp関数のアドバイス = (car emacs-advent-calendar-2010) ;=>defadvice - ぺっくブログミラー@peccul (defun foo (x) (+ x 1)) (defadvice foo (before my-f…

org-modeキーバインド

index Emacs org-modeを使ってみる: (5) TODOリスト - 屯遁のパズルとプログラミングの日記

ドット対とリスト

ドット対とリストがどのような物か consセル、ドット対、リスト - バリケンのRuby日記 - Rubyist Lisp 一夜漬け -- 2.リスト を読んだ。 なんとなくわかった気がする。 /* ドット対 */ struct LIST { int data; struct LIST* next; }; が↑で、リストはこれに…

emacsでの正規表現に無い機能

emacsの正規表現では、{}のシンタックスが無い。つまり、 {m} : m回にマッチ {m,} : m回以上にマッチ {m , n} : m回以上n回以下にマッチが無い。 これは不便だ。

(end-of-buffer)と(goto-char (point-max))

emacsのバッファの最後に移動するには (goto-char (point-max)) (end-of-buffer) があるが、Lispプログラム内では (goto-char (point-max)) を使用しないとならないらしい。end-of-bufferでは警告が出る。GNU Emacs Lispリファレンスマニュアル: 29. バッフ…

emacsで時刻計算

emacsで日付計算するときに必要になりそうだったのでメモ (setq time (decode-time (current-time))) ;; timeに現在時刻をデコードしてセット (setf (elt time 3) (+ (elt time 3) 1)) ;; 日付を明日にする (decode-time (apply 'encode-time time)) ;; 明日…

よく忘れるemacsキーバインドまとめ

よく忘れるemacsキーバインドまとめ ファイル操作: C-l : カーソルを真ん中に持ってくる(再描画) C-o : 空行を挿入 C-u C-s : isearch 正規表現検索 C-x C-r : 読み込み専用で開く C-x C-w : 名前をつけて保存 M-% : 置換 C-M-v : 別のバッファをスクロール…

emacsいろいろ

改行したときに自動でインデント (global-set-key "\C-m" 'newline-and-indent) 新規のバッファを作る C-x b buffer RET bufferという名前のバッファを選択または作成する (switch-to-buffer)。 C-x 4 b buffer RET 同様だが、別のウィンドウでbufferを選…

日報を自動作成する以下略

結局以下のように落ち着いた。Mac版 #! /bin/sh fpath=${1:-~/日報/} #日報のファイルパス cd $fpath format_date=${2:-"%Y_%m_%d"} #日付フォーマット today=`date +"${format_date}"`".txt" #今日の日付 例:2011_02_28 previous_day=`ls -t *.txt | head -…

emacsのshell-modeで文字化け

emacsのshell-modeで文字化けし、今までeshellを使用していたが、eshellではcygwinの関係でシェルスクリプトが実行できないため、shellの文字化けを修正することにした。以下を.emacsに追加することで修正できる。 ;; shellの文字化けを回避 (add-hook 'shel…

emacsで選択範囲をコメントアウト

emacsで選択範囲をコメントアウトするには M-x comment-region を実行します。 いちいちM-xするのもめんどくさいので (global-set-key "\C-c\C-c" 'comment-region) を.emacsに追加すると C-c C-cで選択範囲をコメントアウトできるようになります。(追記あり…

emacsにanythingを導入した時に出る警告

問題 emacsでanythingを使用するときに reference to free variable `org-directory が出ることがある。(ていうか出る) 原因 anything-config.elのorg-directoryという変数が宣言される前に参照されるという警告らしい。 対策 対策としては、これを参照し…

emacsで日付を挿入するショートカットキーを作る

http://d.hatena.ne.jp/yanma_4/20080319/1205857151 上記で簡単に作れる。 自分は日付だけでいいので下記のようにしてる ;; 時間挿入 (defun my-get-date-gen (form) (insert (format-time-string form))) (defun my-get-date() (interactive) (my-get-date…

emacsでrequireを使うときの注意点

emacsでrequireしたときにエラーが出ることがある。 そのような場合は、requireするファイル(hoge.el)に (provide 'hoge) を記述する必要がある。

emacsで自動保存

emacsで自動保存するには Emacsでファイルの自動保存 (auto-save-buffers) からauto-save-buffers.elを追加すればよい。しかし、注意点があり、保存される際はutf-8が選択されており、utf-8以外のファイルの場合、保存する度に保存する文字コードを聞いてく…

cua-modeで矩形選択

矩形選択って正直読めないよねそんな事よりemacsで矩形選択がすごい簡単にできるのを発見しました。 その名はcua-mode。 Carbon Emacsには標準で入ってた。早速使ってみたが使い方は簡単。 M-x cua-mode を実行してC-を押すだけ。後は使っていくうちに便利さ…

emacsで単純整形

emacsで単純に整形するには C-c C-qを押す

emacsで縦線を表示する

emacsで縦線を表示するには、col-highlight.elを使う col-highlightを使うにはvline.elが必要 ;; column-highlight (require 'col-highlight) ;; col-highlightの色を変える (custom-set-faces '(col-highlight((t (:background "lightgray"))))) そしてemac…

Carbon emacs設定ファイル

CarbonEmacsでの設定ファイルです。設定ファイルも大きくなってきたし分割してロードパスに追加したほうが良さそうな感じがするな。

emacsで設定ファイルをロードする

emacsで設定ファイルをロードするには (load-file "~/.emacs.d/myconfig.el") または (setq load-path (cons "~/.emacs.d/myconfig.el" load-path)) (require 'myconfig) を.emacsに追加すればOK。 コンパイルの仕方 M-x byte-compile-file でコンパイルする…

emacsのコマンドを作成してみた

emacsで設定ファイルを開くのにfind-fileするのがめんどくさいのでコマンドにしてみた。emacsでコマンドにするのは簡単 ;; emacsのコンフィグファイルを開く (defun open-config-file() (interactive) ←これ必須 (find-file "~/.emacs.el") (end-of-buffer))…

emacsでキーボードマクロを使う

emacsでキーボードマクロの使い方が載っていたのでコピペ。こりゃ便利 http://what-linux.seesaa.net/article/140000192.html キーボードマクロの操作方法 C-x ( でマクロ記録開始 任意のコマンドやキー操作を行う C-x ) でマクロ記録終了 C-x e で最新のマ…

isearchでキルバッファを貼り付け

isearchでキルバッファを貼り付けるにはisearch上でM-yをするだけ

emacsのisearchでC-hで削除できない

emacsのisearchでC-hで削除できないと思って、調べてみたらどうも ;; C-hをBackSpaceキーに変更 (keyboard-translate ?\C-h ?\C-?) (global-set-key "\C-h" nil) じゃないとできないようだ。 (global-set-key "\C-h" 'delete-backward-char) 有名なこちらの…

emacsの設定メモ

自分のemacsの設定。使用しているemacsはNTEmacs

emacsで折り返さない

下記をinit.el(.emacs)に追加する ;; 折り返さない (setq truncate-lines t) ;; 折り返さないためにはこの変数をtにする必要がある (setq truncate-partial-width-windows t)

.emacs(init.el)を再起動せずに反映させる

M-x eval-buffer または M-x load-file RET ~/.emacs.d/init.el