タグ

ブックマーク / rubikitch.hatenadiary.org (7)

  • そろそろEmacsのウィンドウについて一言いっとくか - http://rubikitch.com/に移転しました

    Emacsはひとつの窓(ふつうの意味の「ウィンドウ」、Emacs用語の「フレーム」)の中に複数の表示領域(Emacs用語の「ウィンドウ」)を持つことができる。そして、ヘルプ等を表示させる場合はEmacsが勝手に画面を分割して別のウィンドウに表示させる。まぁ、Emacsを使ってるならみんな経験してることだ。 ワイドディスプレイが台頭する中、フレームの横幅はどんどん長くなっている。Emacs22までだと強制的に上下分割されてとても使いづらかった。Emacs23になったら横幅にあわせて、上下分割か左右分割か判断してくれるようになった。横幅が広いと左右分割してくれる。表示行数が減らないのでこれは嬉しい。画面の有効活用だ。 Emacs22で左右分割させたいならば、M-x install-elisp-from-emacswiki display-buffer-for-wide-screen.elしてく

    そろそろEmacsのウィンドウについて一言いっとくか - http://rubikitch.com/に移転しました
  • 集中力5倍!小よく大を制するミニマリストEmacs - http://rubikitch.com/に移転しました

    この記事は Emacs Advent Calendar jp: 2011 の11日目です. 昨日はta2_o2p さん、明日は id:handlename さんです。 去年、一昨年とインストーラ系を連続して紹介してきましたが、 今年はうってかわって身近な例を取り上げたいと思います。 僕は最近、Windows XPのネットブックを 使っていることが多いです。 あれだけ忌み嫌っていたWindowsの方が自宅の Linuxマシンよりも稼働率が高いのです。 数年前の自分が聞いたらびっくりしてることでしょう。 この前はネットブックにEmacsをインストール する話をしましたが、今回は小さい画面で Emacsを使うノウハウをお送りします。 最近はパソコンといえばノートパソコンが普通の ようなので、これからする話は役立つと思います。 とにかく、小さいパソコンでEmacsを使う場合、 最大の問題点となるの

    集中力5倍!小よく大を制するミニマリストEmacs - http://rubikitch.com/に移転しました
  • 続・Emacsで連番を挿入する方法 - http://rubikitch.com/に移転しました

    久々のEmacsネタ。 歴史は繰り返すものです。 今はブラウザでなんでもできてしまう時代、かつてのEmacsを彷彿とさせます。 だが、ブラウザがEmacsに決定的に劣っているのは、『速さが足りない』ことだと思ってます。 フレーム、フラッシュなどマウス前提のIFなので、素早い動作が難しいです。 対して、Emacsはテキスト入力のスペシャリスト。 テキスト入力が関わる場面があれば、そこに必ずEmacsの活躍があります。 dabbrev、yasnippetなど、入力に不可欠なツールが無数に存在するからです。 さてさて… 2年前に書いた記事 では、外部コマンドやloopを使ってEmacsで連番を入力する方法を紹介しました。 しかし、めんどいですね。 なので、Emacs Lispで書きました。 M-x duplicate-this-line-forward 直前の行をコピーする直前の行と同じ行を作成

    続・Emacsで連番を挿入する方法 - http://rubikitch.com/に移転しました
  • 同じコマンドを連続実行することで挙動を変える(行頭→先頭など) sequential-command.el をリリース - http://rubikitch.com/に移転しました

    たとえばEmacsでC-aを押したら行頭に飛ぶ。しかし、行頭でC-aを押してもすでに行頭なので意味がない。C-aは特等席なんだからもっと働かせてやろうと思わないか?もう一度C-aを押したらバッファの先頭に飛ぶとかできれば、遊んでいるキーの有効活用ができる。少なくとも俺にとってはM-<よりもC-a C-aの方が負担がかからない。 そこで、sequential-command.elの登場だ。これは同じコマンドを連続的に実行したときに挙動を変えるフレームワークとなっている。そして、sequential-command-config.el はそれを使った具体的なコマンドを集めている。 M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/sequential-command.el M-x install-elisp htt

    同じコマンドを連続実行することで挙動を変える(行頭→先頭など) sequential-command.el をリリース - http://rubikitch.com/に移転しました
  • yasnippet.elを256倍にパワーアップ!連続展開と条件分岐テンプレートを使おう - http://rubikitch.com/に移転しました

    動機yasnippetの展開機能はなかなか強力ですが、「次の」テンプレート展開の準備や条件分岐ができない弱点があります。 連続展開の例は、プログラミングにおけるドメイン特化言語を記述する場合です。 この場合は、パターンが決まっているので、次のテンプレート展開の準備をするテンプレートを記述すればすんなり記述できるのです。 そして、テンプレート展開後に、次のテンプレートを展開していきます。 条件分岐テンプレートの例は、新規ファイル作成時に文章のテンプレートを選んで展開するケースです。 僕のブログの場合、「自作Emacs Lispリリーステンプレート」、「Emacs Lispを使ってみたテンプレート」、「EmacsのTipsテンプレート」などがあります。 記憶力のいい人ならば、テンプレート名を覚えて普通に展開すると思います。 僕の場合はテンプレート名はおろか、テンプレートを作ったこと自体忘れてし

    yasnippet.elを256倍にパワーアップ!連続展開と条件分岐テンプレートを使おう - http://rubikitch.com/に移転しました
  • デバッグの第一歩!Emacs Lisp関数をトレースする方法 - http://rubikitch.com/に移転しました

    Emacs Lispのデバッグをしているとき、特定の関数呼び出しをトレースしたいことがあります。 関数呼び出しのトレースとは、呼び出した関数の引数の値と、返り値をチェックすることです。 もちろん、関数が呼び出されたかどうかもわかります。 トレースの実現にはadvice機能を使っています。 M-x trace-functionでトレースするM-x trace-functionは、特定の関数をトレースします。 このコマンドは、トレース対象関数と出力バッファを聞いてきます。 出力バッファはデフォルトで*trace-output*なので、そのままにしておくのが無難です。 複数の関数をトレースする際に出力がごちゃごちゃになるのが嫌ならば別のバッファ名にしておけばいいです。 その後でトレース対象関数を呼び出したら、トレース結果を表示します。 M-x trace-function-backgroundで

    デバッグの第一歩!Emacs Lisp関数をトレースする方法 - http://rubikitch.com/に移転しました
  • Ctrl+中指か薬指を使うキー操作が多いEmacsで指の負担を軽くする方法 - http://rubikitch.com/に移転しました

    http://d.hatena.ne.jp/kotorikotoriko/20081103/1225687600 Emacsを使っていると、Ctrlを押しながらうんぬんというのがとても多い。だから指が疲れてしまうという話をよく聞く。俺は10年以上使っているのだが、幸い今のところ指が疲れるということはない。というか、逆に左手小指が異常に鍛えられている気すらする。これはさておき、俺は俺なりに指の負担を軽減する方策を取っている。 skk + スティッキーシフト SKKを使っているとどうしてもShiftを押しまくることになる。これはスティッキーシフトでShiftを押さないようにしている。CamelCaseな変数名を使うJavaプログラマにもおすすめかも。 SKK + スティッキーシフト = 最強 - http://rubikitch.com/に移転しました view-modeを活用する あとは、極

    Ctrl+中指か薬指を使うキー操作が多いEmacsで指の負担を軽くする方法 - http://rubikitch.com/に移転しました
  • 1