svnレポジトリ以下のファイルを全検索してエディタで開くワンライナー(要 percol )
vim `svn ls -R | xargs grep -n $@ | percol | sed 's/:[^:]*$//' | sed 's/:/ +/'`
これを適当な名前で PATH の通ったディレクトリに名前つけて保存するだけ。
percol は他の類似品でも多分大丈夫。
*nix環境でC++コードを書き殴るのに最高に便利なツールを作った
C++ ファイルのコンパイル & 実行を LL系言語並に快速にするツールを開発しました
https://t.co/vFG6YPXF0Y
— にゃおきゃっと (@nyaocat) 2015, 8月 5
ファイル中にコンパイルフラグを含められるのと、そのままファイルを実行する形式でガンガン書けるので我ながら非常に便利に今のところ使えている。
ちょっとコードをテストしたいとかだと http://melpon.org/wandbox/ 使えば良いんだけど、FreeBSDではどうなるんだーSolarisではどうなるんだーとかいうのは Wandbox で書けないので。
bash の trap を複数指定する方法
bashスクリプトでシグナルハンドラを定義出来るtrap
は大変便利だが、trap
を複数回呼び出すと最後に書いたtrap
の内容で上書きされてしまう。
↓例 melpon.org
別段シグナルハンドラを複数定義したいことも普通は無いが、0 番(終了時に必ず呼ばれる)には結構指定したいものが増えがちではないだろうか。
そこで、自前で複数保持出来るtrap
を今即興で書きました
# zlib/libpng License TRAP_COMMAND_STR=() function trap() { TRAP_COMMAND_STR[$2]="${TRAP_COMMAND_STR[$2]} $1 ;" builtin trap "${TRAP_COMMAND_STR[$2]}" $2 }
どんどん;
で区切って追加することで実現している。
なお、これだとシグナルハンドラのリセットが出来ないのでまぁそういう時はbuildin trap
か自前のtrapを弄るか。
↓動作例