トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

Edit

Table of Contents

 kill-line

my-kill-line は,きたさんちの siteinit.l から頂いたものだったようですが,こちらは,私が使ってる手抜き版。M-k でじっこ。

(defun kill-whole-line (&optional lines)
  (interactive "*p")
  (kill-line (cond (lines lines)
                   ((bolp) 1))))
(global-set-key #\M-k 'kill-whole-line)

 Emacs風 kill-line

カーソル位置から行末までがホワイトスペースのみの場合は,改行まで削除。*kill-whole-line* を t にすると,カーソルが行頭にある場合にも改行まで削除。

(defvar *kill-whole-line* nil)
(defun emacs-kill-line (&optional lines)
  (interactive "*p")
  (kill-line (cond (lines lines)
                   ((eobp)
                    (message "end-of-buffer")
                    (return-from emacs-kill-line nil))
                   ((or (looking-at "[ \t]*$")
                        (and *kill-whole-line* (bolp))) 1))))
(global-set-key #\C-k 'emacs-kill-line)

 フリーカーソルもどき

おあそびなマイナーモード。M-x free-cursor-modeで起動します。box-drawings-mode(罫線モード)っぽいカーソルの動きになります。

freecursor.l

設定例はこんな感じ。C-c - f でトグル。

(require "freecursor")
(define-key spec-map '(#\- #\f) 'free-cursor-mode)

;;; カーソル移動の可能な最大桁(0 なら制限無し)
(setq *free-cursor-max-column* 100)

;;; バッファに末尾で改行を入れる
(setq *free-cursor-next-line-add-newlines* t)

;;; free-cursor-mode 終了時に行末の半角スペースを削除
(setq *free-cursor-delete-eol-spaces* t)

 キルリングのデータをポップアップリストから選択して貼り付け

M-x yank-popup-list で。同じデータは 1 つにまとめられます。

(defun yank-popup-list ()
  (interactive)
  (when *kill-ring*
    (let (lst)
      (dolist (item *kill-ring*)
        (pushnew (car item) lst :test #'equal))
      (popup-list (reverse lst)
                  #'(lambda (x)
                      (insert x)
                      (refresh-screen))))))

 行揃え

ツールバーから行を揃えたり。相変わらずてきとーな。

一応,セレクションの行揃えもできたり。中央揃え機能は center-line と違って,処理結果はカーソルの桁位置に依存しません。また,indent-tabs-mode が t でも常に半角スペースで桁を揃えます。

arrange-line.l (ver.1.01)

こんなの。

最終更新時間:2005年03月09日 00時17分10秒 GMT