タグ

outlineとelispに関するIMAKADOのブックマーク (2)

  • インデントの深さを基準に折り畳み表示するマイナーモード cn-outline.el をつくりました - わからん

    現在のカーソル位置のカラム値を基準に折り畳み表示する cn-outline.el というマイナーモードを作りました。既存のアウトライン表示用のマイナーモードには org-mode, out-line-mode, hide-show がありますが、それらと比較したメリットは以下になります。 手軽 特別な記法がない デメリットは以下になります。 機能が少ない cn-outline.el は emacs の標準関数 set-selective-display を扱いやすくする ということに焦点を絞り作った簡易アウトライナーです。 set-selective-display は引数の値を基準に表示を折り畳む関数です。じつは呼び出しキーも割り当てられています。例えば、カラム値3 より大きい値から始まる行を折り畳みたい場合は、 "C-u 3 C-x $" とタイプします。試してみると、とても打ちにくい

    インデントの深さを基準に折り畳み表示するマイナーモード cn-outline.el をつくりました - わからん
  • 折り畳み表示 - (new Hatena).blog()

    emacs を使いだして困ったことの一つが、ファイルを折り畳み表示する (一覧性を高める) 方法がなかなか分からなかったことです。 Vim ではインデント単位で折り畳む設定が便利なんですが (set fdm=indent)、emacs ではどうするのか、調べることすらままならない状態でした。 ようやく "Outline minor mode" というものが使えることが分かり (折り畳み = folding という用語では見つからないわけです)、さらに以下の補助関数が出来上がりました: (defun outline-hide-body (&rest rxs) (outline-minor-mode t) (and rxs (set (make-local-variable 'outline-regexp) (join-list rxs "\\|"))) (hide-body)) (defun

    折り畳み表示 - (new Hatena).blog()
    IMAKADO
    IMAKADO 2007/12/24
    mapconcat 正規表現をわたすとFoldする関数有り
  • 1