2011-03-01から1ヶ月間の記事一覧

consを使ったリスト

consはドット対というリストを作るものである。ドット対とは( 値 . 参照先 )で成り立つリストである。 仮に( a . b )というドット対があった場合、aが値でbが参照先となる。 以下に例を示す。 (cons 'a 'b) ;; ( a . b ) ① (cons 'a '(b c)) ;; (a b c) ② (c…

ドット対とリスト

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

大量のファイルをリネームする

cygwinで大量のファイルをリネームしたいなーと思い、 UNIXコマンドを調べていると、大量にリネームするコマンドは無いらしい。 (Linuxなら、renameコマンドがある。) しかし、下記のようにすれば可能 $ for i in * > do > name=`echo $i | cut -c5-10` # フ…

cygwinでWindowsプログラムを実行する方法

cygwinでWindowsプログラムを実行するのにやたらと苦労した。 以下が実行するスクリプト passwd="hogehoge" lhaplus="/cygdrive/c/Program Files/Lhaplus/Lhaplus.exe" cygstart "$lhaplus" /c:zip /p:$passwd /o:./ ./"hoge.txt" #←$lhaplusを""で囲むのを…

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

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

zipコマンドとunzipコマンド

zipでパスワードをかける場合、 zip -e hoge.zip hoge.txt #プロンプトでパスワード聞かれる zip -P hoge hoge.zip hoge.txt #hogeというパスワードで圧縮する となる。 unzipでパスワード解凍する場合 unzip hoge.zip #プロンプトでパス聞かれる unzip -P h…

(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 : 別のバッファをスクロール…

cua-modeでC-c(コピー)やC-v(貼りつけ)を禁止する

cua-modeでC-c(コピー)やC-v(貼りつけ)を禁止するには (cua-mode t) ;; C-cやC-vの乗っ取りを阻止 (setq cua-enable-cua-keys nil) を追加する リージョン選択(松山智大) — ありえるえりあ

imenu - etagsを使わないバッファ内のタグジャンプ

emacsにはimenuというバッファ内のみ検索できるタグジャンプ機能がある。 M-x imenuで、ミニバッファに飛びたい関数先を入力。補完も可能 Software Design連載記事「Emacsのトラノマキ」の原稿 — ありえるえりあ

シェルスクリプト

以下のようなシェルスクリプトがあったとする #! /bin/bash IsNull () { # 引数の個数チェック if [ $# -ne 3 ] ; then echo 引数足りん exit 2 fi # 引数が空ならエラー if [ -z $1 ] ; then echo $2 exit $3 fi } IsNull $1 引数がありません 1 # ※1 上記…

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

ディスプレイだけを今すぐにスリープさせる方法

mac

Macでディスプレイだけをスリープさせるショートカット Contorol Shift ⏏ kbdタグのCSSは 旧・Macの手書き説明書 - FC2 BLOG パスワード認証 からいただきました。

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 でコンパイルする…

作りたい物

Googleの英和・和英検索が無くなったのでそれらしきモノを作ってみたいなぁ

jQueryオブジェクト内の要素選択

jQueryオブジェクト内で要素を選択するには以下のようにする。 var tmp="<div></div>" ; tmp = $(tmp).appendTo("<p></p>").parent() ; tmp = $(tmp).find("div").attr("id" , "hoge") ; $(tmp).appendTo("#piyo") ; jQueryオブジェクトにappendTo()してparent()を呼び出すのが…

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 で最新のマ…