Article View: fj.editor.emacs
Article #537buffer 内の位置を読み込む方法は
From: ms
Date: Thu, 08 Jul 2004 02:06
Date: Thu, 08 Jul 2004 02:06
50 lines
2676 bytes
2676 bytes
(point) は、現在のカーソルの位置を返します。これとは違って、
つぎのような関数がないでしょうか。
その関数を実行すると、それ以降キーを監視して、
* 矢印キー あるいは、C-n, C-p, C-b, C-f だったら、その矢
印キーあういは C-n, C-p, C-b, C-f をタイプしたときの通
常の動作にしたがってカーソル位置が変更される。
* それ以外のキーを押したら、そのときのカーソル位置を返す。
ちょっと自分で書いてみたのですが、不十分です。
(defun read-movement ()
(let (p (pos nil))
(setq p (read-char))
(cond
((eq p 14); C-n
(next-line 1))
((eq p 16); C-p
(next-line -1))
((eq p 6); C-f
(forward-char 1))
((eq p 2); C-b
(forward-char -1))
(t
(setq pos (point))))
pos))
(defun get-point ()
(interactive)
(let ((p nil))
(while (not p)
(setq p (read-movement)))
(message "%d" p)))
get-point が、求める関数のつもりですが、つぎの点で不十分です。
* 矢印キーには対応できていない。read-movement 関数で使用してい
る read-char ではダメ。
* ミニバッファに押したキーに関する情報がエコーされるのが嫌。
こういうときに使用する関数がすでにあれば教えてください。上に書い
たコードを直せばよいのなら、その方法を教えていただけないでしょうか。
Technical Details
Message-ID:
<uk6xf45hq.fsf@tonewin.kuciv.kyoto-u.ac.jp>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeed.news.ucla.edu!newsfeed.media.kyoto-u.ac.jp!news.media.kyoto-u.ac.jp!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Thread: ff358,3295602bb33cd8af,start X-Google-Attributes: gidff358,public X-Google-Language: Japanese,JIS Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeed.news.ucla.edu!newsfeed.media.kyoto-u.ac.jp!news.media.kyoto-u.ac.jp!not-for-mail From: ms@wr.kuciv.kyoto-u.ac.jp Newsgroups: fj.editor.emacs Subject: buffer 内の位置を読み込む方法は Date: Thu, 08 Jul 2004 11:06:41 +0900 Organization: Academic Center for Computing and Media Studies, Kyoto University, JAPAN Lines: 50 Message-ID: <uk6xf45hq.fsf@tonewin.kuciv.kyoto-u.ac.jp> NNTP-Posting-Host: wr.kuciv.kyoto-u.ac.jp Mime-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=ISO-2022-JP X-Trace: caraway.media.kyoto-u.ac.jp 1089252403 29052 130.54.249.158 (8 Jul 2004 02:06:43 GMT) X-Complaints-To: news@news.media.kyoto-u.ac.jp NNTP-Posting-Date: Thu, 8 Jul 2004 02:06:43 +0000 (UTC) User-Agent: T-gnus/6.16.2 (based on Gnus v5.10.2) (revision 02) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 Emacs/21.1 (i386-mingw-nt5.1.2600) MULE/5.0 (SAKAKI) Meadow/2.00 Beta2-dev (WOMINAHESHI) Cancel-Lock: sha1:MDWq4X76EsE6RWdlip5B/f8UUS4=