[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:01046] Re: siteinit.l で・・・



ども、みやぢです。

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
                  ̄ ̄

Index Home