[xyzzy:01046] Re: siteinit.l で・・・
- Subject: [xyzzy:01046] Re: siteinit.l で・・・
- From: MIYAJI Nobuyuki <mfm97019@xxxxxxxxxxxxxxxx>
- X-mailer: Datula version 1.09.02 on Windows 98
ども、みやぢです。
Seiya Sudaさんの<199811142355.IAA28078@xxxxxxxxxxxxxxxxxxxxxx>から
>> X680x0を5年ほど使っていましたが、68上で動作するMicroEmacsに有った機能で、是非
>> xyzzyでも使いたい機能があります。
>>
----8<---------------------8<---------------------8<---------------------8<----
>>
>> と言うようになる機能です。
>
>C-x C-t でできます。transpose-lines というやつ。
須田さん、ありがとうございます。
これです、できました。
(define-key *global-keymap* #\C-Down 'kc-line-down)
(defun kc-line-down()
(interactive)
(next-line)
(transpose-lines)
(previous-line)
)
(define-key *global-keymap* #\C-Up 'kc-line-up)
(defun kc-line-up()
(interactive)
(transpose-lines)
(previous-virtual-line 2)
)
このように定義して使っています。私的に、とても気持ちよいです。
さらに欲が出て、カーソル位置を復元したくなり、
(setq pos (current-column))
で、記憶したまではよかったのですが、
(forward-char pos)
でカーソル位置を合わせようとしてみたのですが、マルチバイト文字でとんでもない動作
をしてしまいました。(^^;
lisp/ の*.lファイルをざっと眺めてみたのですが、指定位置にキャレットをとばす方法
(Basicで言うところのLOCATE命令みたいなヤツ)が分かりません。このような動作をする
関数が有りましたら教えてください。
# もっとスマートなやり方が有ったりして・・・。
---------------------------------------
宮地 宣行 (MIYAJI Nobuyuki) ζ
mailto:mfm97019@xxxxxxxxxxxxxxxx □P
 ̄ ̄