タグ

ブックマーク / d.hatena.ne.jp/lurker (7)

  • 技術メモ帳 - zshで出来ている新感覚エディタzed

    zshのZLE Editorを使って作られた zedというテキストエディタがカッコいいうえに非常に便利。 zshの補完がそのまま使えたりする。 % autoload zed % zed ./test.txt 操作方法は、 変更を保存するときは、Ctrl+X Ctrl+W または Ctrl+J と入力。 破棄して終了したいときは Ctrl+C を入力すればいい。 あとはどんな bindkey をしているかによって変わるのだが 基的にemacsキーバインド 使ってみればわかるけどすごく新感覚なエディタ。 その場で編集してる感がすごくある。 ソースにも "他のシェルにはコレは出来ない" と書いてある。(いいすぎだ) # No other shell could do this. # Edit small files with the command line editor. あと、以下のような

    技術メモ帳 - zshで出来ている新感覚エディタzed
    antipop
    antipop 2006/11/30
  • 技術メモ帳: [unix]複数のファイルの名前をまとめて変更する

    複数のファイルの名前を変更する際に、 便利なコマンドというものがある。 いくつかご紹介させていただこう。 カレントディレクトリにあるファイルの名前を、 たとえば、*.html を *.htm と名前を変更するという課題に対し どのぐらいエレガントに書けるかというのを比較してみる。 まず、普通にやったらどうだろう。 おそらく、for文 をつかうことだろう。 for file in *.html do base=`basename $file .html` mv $base.html $base.htm; done; zshだともうちょっとスマートにかけて、 for file in *.html do mv $file:r.html $file:r.html; done; こんな具合。 for文 が嫌いなネット右翼のために、 xargs を使ってこの問題を解いてみよう。 ls -1 *.htm

    antipop
    antipop 2006/11/20
  • 技術メモ帳 - pgrep, pkill を使用してプロセスを殺す

    最近、会社でシェルの操作方法について教えているのだが、 pgrep / pkill / skill / pidof といった 便利なプロセス操作系コマンドを知らない人が実に多い。 プロセスを殺すというのは、よくある作業なので 今回はコレについて書いてみる。 たとえば、これらのコマンドを知らない人が、 指定した名前のプロセスを kill する手順はだいたい 以下のようなものになることだろう。 $ ps aux | grep プロセス名 | grep -v 'grep' # コマンドの出力結果から pid を目で確認 12345 ... .. hoge .. .. $ kill 12345 この作業は非常に面倒で退屈だ。 もし殺さなければならないプロセスがたくさんあったときは どうするのだろうか。 おまけに、grep コマンド自身が候補に含まれてしまう事があるのだが、 grep -v grep

  • 定期的にコマンドを実行しその出力の変化を監視する - 技術メモ帳

    以前に、watch コマンドという 指定されたコマンドを定期的に実行し、 フルスクリーンで表示してくれるコマンドがあるという事を書いた。 http://d.hatena.ne.jp/lurker/20060716/1153056030 実は、--differences とオプションを付加する事によって、 直前の出力結果との差分をハイライト表示してくれるらしい。 知らなかった。コレは便利だ。 正直 grep -o を知ったときぐらい感動した。 以下のように入力してみるとどうなるのかが わかっていただけると思う。 ちなみにこれは、1秒おきに、dateコマンドを実行するというもの。 $ watch -n 1 --differences date さらに、--differences=cumulative と付加すると 起動してからのすべての変更部分がハイライトされるようだ。 $ watch -n

  • Firebugの便利な組み込み関数 - 技術メモ帳

    id:brazil さんのブックマークで知ったのだが、 Firebugには、便利な組み込み関数が定義されているようだ。 一通りさわってみたのだが、 $x() で 任意のXPath要素が取得できるのとかに感動した。 そして、やっぱりちゃんとドキュメント読むべきだなぁと思った。 XPathから要素を取得する。 $x("/html/body/h1"); -> 要素の配列が返ってくる。 selector名から要素を取得する。(getElementsByTagName) $$("h1") -> 要素の配列 所要時間測定 console#time, console#timeEnd time ~ timeEnd で囲んだ部分の所要時間を 計測することが出来るみたいで、 以下のような関数にまとめると良さそうだ。 function bench( callback ) { var uniq_id = Date

  • 技術メモ帳 - Iframe の designMode="on" によるリッチテキストエディット

    こんな属性があるのを知らなかった。 実際には、Iframe の属性ではなさそうだが。 どうも、javascript で以下のように指定してあげる事により、 リッチなテキスト編集機能が有効になるようだ。 iframe.contentDocument.designMode = "on"; ちょっとサンプルを作ってみた。 選択範囲の色変えたり、画像貼付けたり出来ます。 http://gomibako.hahaue.com/rth.html (Firefox only) 実際に文字の状態を変化させたりしたい場合は、 同要素の execCommand メソッドを使用すればよい。 たとえば、文字を太字にしたい場合は、 以下のように指定するだけで良い。 iframe.contentDocument.execCommand("bold",false,null); 色を赤くしたければ、 iframe.con

    技術メモ帳 - Iframe の designMode="on" によるリッチテキストエディット
    antipop
    antipop 2006/10/01
    iframe.contentDocument.designMode = "on";
  • Firebug に自作関数を組み込む方法 - 技術メモ帳

    外部スクリプトをロードする関数を毎回書くのが面倒で、 Firebugの組み込み関数にしたら便利なんじゃないかと思って、 loadJS という名前で Firebug に組み込んでみた。 結論から言うと、 /chrome/content/firebug/commandLineAPI.js を編集したら、任意の関数を定義できた。 以下に、手順を書いてみる。 まず、ソースでもある Firebug拡張をダウンロードする。 http://releases.mozilla.org/pub/mozilla.org/extensions/firebug/firebug-0.4-fx+fl.xpi xpi は、実際にはただの zip ファイルなので、 unzip コマンドで解凍できる。 ./$ unzip firebug-0.4-fx+fl.xpi Archive: firebug-0.4-fx+fl.xpi

  • 1