perl開発に便利なemacs設定

perlを本気で勉強しようと思い、emacsを使った便利な設定をwebからリストアップしてみた。 perltidy インデント整形ツール。 選択したリージョンを一気に整形してくれるので、昔誰かが作ったインデントなしのプログラム等を一気に整形してくれる。 (defun pe…

pcl-cvsモードで色設定をする方法

cvsのある環境では emacs + pcl-cvs or vc-modeを使うのが普通だと思います。というかコマンドラインでcvsやsvnにcommitやdiffするのはあほらしいです。 僕はどちらかというとvc-modeよりpcl-cvsのほうが好きでvc-modeはほとんど使っていません。(というか使…

||=演算子

最近初めてのperlを読みながらperlについて勉強しています。 =演算子の意味がよくわからなかったけどこういう事らしい。 以下の2つは同じ。 $port ||= 8000; $port = $port || 8000; つまり$portが真でないならデフォルト値で8000が代入されるありがちな処理…

zsh最強シェル入門

zsh最強シェル入門作者: 中島能和出版社/メーカー: 翔泳社発売日: 2008/12/04メディア: 単行本(ソフトカバー)購入: 7人 クリック: 163回この商品を含むブログ (50件) を見るを読んだ。 その名の通りzshの入門書であって、決して「zsh Cookbook」ではないな…

XMLからスキーマ生成

素のXMLファイルからxsdやDTDといったXMLスキーマを自動で生成するツールが欲しかったのでwebで調べてみた。 フリーで今でもメンテナンスされていそうなのはTrangというツールしか見つけられなかった。 日本語訳されたページ使い方はシンプルで以下のような…

置換に改行を入れる方法

Query-replace等で置換する時に改行を入れたい場合、普通にC-jやC-mやreturnを打っても決定になってしまう。 こういう場合はC-q C-jで改行を入れることができる。置換前 void func() { void func() { void func() { void func() {query-replaceを行う M-x qu…

分割ブラウザ

firefoxにFox Splitter (旧称:Split Browser / 分割ブラウザ) :: Add-ons for Firefoxという拡張があると会社のエース級エンジニアに教えてもらった。その名の通りブラウザを分割できる拡張です。 その人は設定がめんどいとかで使っていないらしいが自分…

関数ポインタ

c c++

関数ポインタを触ってなかったら完全に忘れてしまっていたのでメモ。以下サンプルコードの3行目で引数がint, char*で戻り値がint型の関数ポインタの別名を定義している。 main関数の1行目でFuncを宣言してprint()やprintHello()のポインタとして使うことがで…

log4cppの調査

c++

会社でlog4cppというC++のロギングライブラリを利用しているためmacで調査がてら使ってみた。log4cppはlog4jというjavaのライブラリのC++版らしく詳しく解説されたページがある。 Log4J�O�������`�ڎ� 設定ファイルを読み込んでログ出力をハンドリングできる…

shell-toggleがいい

emacs上で使えるshell環境は shell eshell shell-command などなど色々あるんだけど、表示がおかしかったりとしっくりくるものがなかなかなかったんだけど、 ansi-termというのを発見した。これはすごい。なにがすごいってemacsの中で普通にzsh,bashが動く。…

タイピング

プログラムを書くためにはコンピュータにタイピングをしなければならない。 これ、念力とかでタイピングしたい。自分のタイピングスピードは相当速いと自負しているけど、スピードなんて何の意味もないと思っている。 最近はコードを書きすぎて小指が痛い、…

emacs-w3mでローカルのhtmlファイルを表示する

仕事でhtmlを生成するperlプログラムを書いています、perlは大好きなんだけどなかなか触る機会がありませんでした。 サーバで開発している場合、生成したhtmlをterminal上のemacsからブラウザチェックできたら便利だなーと思っていたらやっぱあった。Meadow/…

boost_regexの正規表現

c++

C++で正規表現を使う必要が出てきたのでboost::regex_merge()に関して調べている。 なんでregex_replace()じゃなくて"duplicated"なregex_merge()なのか? 開発環境のboostのバージョンが1.30.2なんだからしょうがないのです。1.30.xはもうドキュメントにも…

emacsのインデントに空白を使う

emacsのオートインデントなんてスペースでもタブでもどっちでもいいと思ってたけどCVSにアップした時に字崩れするのでスペースで統一することにした。.emacsに以下を追加すればOKぽい。 ;; オートインデントでスペースを使う (setq-default indent-tabs-mode…

値渡しにconstを付ける?付けない?

c++

最近会社でプロジェクトメンバーにソースコードレビューしてもらう習慣ができました。 自分のソースコードをリーダー・後輩にレビューしてもらったんですが自分のコードを晒す事と人のコードを読む事に勝る勉強はない。それで今回は一つの指摘点にスポットを…

たのしいCocoaプログラミング 【leopard対応版】

iPhoneアプリの開発でもしてみようという事で、基本の基本Cocoaアプリケーション開発を知るために読んでみた。読んでみればわかると思うけど図の挿入が多くて文字が少なくて直感的にわかりやすい。 僕みたいに読書が苦手な人でもあっという間に読めてしまう…

Firefoxの検索バーから英単語検索

英単語の意味を調べたいときに僕は英語・語学の学習情報サイト「スペースアルク」:アルクを使うんだけど 毎回アルクのページを開いてフォーカス合わせるのが面倒くさくなってきたので 検索バーから検索する事にした。 僕はできるかぎりマウスを使いたくない…

OS移行で忘れてた事

leopardへのクリーンインストールはほぼ思い通りにいったんだけど、 微妙に忘れてて設定し直した部分のメモ。 tigerにバンドルされてたアプリケーションのインストール クリーンインストールでmacOSを入れた場合、tigerバンドルのアプリケーション が存在し…

OS移行メモ

tiger -> leopardへのクリーンインストールを行うため、 とりあえずtime capsuleにバックアップしておくか、後で入れ直すもの をまとめる。 外部HDDなどがマウントされる場所 /Volumes/デバイス名/ App http://osx.iusethis.com/iconbonanza/hakutoitoi それ…

.zshrc 20080426

export PATH=/opt/local/bin:/opt/local/sbin:$PATH export DISPLAY=:0.0 zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin \ /usr/sbin /usr/bin /sbin /bin /usr/X11R6/bin zstyle ':completion:*:default' list-colors ${(s.:…

staticな整数型定数メンバ

c++

staticな整数型定数メンバは、 コンパイラにもよるがクラス定義時に初期化できる(整数型のみ)らしい。 C++ Labyrinth Effective C++第3版 2項参考 class func { public: static const int NUM = 10; // 初期化可能 char buf[NUM]; // 配列のサイズとして使…

c++で忘れがちなキーワード

c++

あんまり使わないけど、忘れてると宣言されてた時に困るんでmemo。 explicit explicitで宣言されたコンストラクタは暗黙の型変換を許さない以下のコードでexplicitを宣言しない場合コンパイルができてしまう。 class func { private: int x_; public: explic…

カレントディレクトリにあるディレクトリを容量の小さい順にソート

$ du -d 1 | sort -n 8 ./.emacs.d 16 ./Public 24 ./.w3m 24 ./.zcompcache 72 ./Sites 80 ./cpan 264 ./.Trash 744 ./.dvdcss 960 ./lisp 2128 ./vosgym 8064 ./RandomApp 9872 ./cvs 17072 ./dev 18104 ./.cpan 37000 ./Documents 116184 ./Pictures 1198…

小技

fileの指定行部分を出力 $ sed -n '42,51p' .zshrc # 42〜51行目を出力 setopt NOTIFY setopt EQUALS setopt ALWAYS_TO_END setopt AUTO_PUSHD setopt PUSHD_IGNORE_DUPS setopt path_dirs setopt prompt_subst setopt brace_ccl setopt auto_menu コマンド…

コメントアウト

C-x r t (string-rectangle)ポイントを行頭に置く形でリージョンを作った後、C-x r t #> C-mとやると、Original sentence Original sentence ↓ #Original sentence #Original sentenceリージョンがこうなります。横幅0の矩形範囲に対して処理をしているわけ…