[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: caps lock key



### 現実逃避

>>>>> at Sun, 21 Oct 2001 20:29:48 +0900
>>>>> wakky ==  <wakky@xxxxxxxxxxxxxxxxxxx> said,

wakky>  1.emacs/unix 使いの方々は、HHK のようなキーボードを使っているはずだ。
wakky>  2.HHK キーボードには、caps lock がない。
wakky>  3.emacs には、大文字/小文字変換のマクロが充実しているようだ。
wakky>  4.ということは emacs 使いは、caps lock を全く使わないに違いない

まぁそれはそれとして...


> それよりも,大文字を連続して入力するという場面が思い浮かばないの
> ですが,どういう場面があるのでしょうか?
wakky> 私の仕事の大部分が、C言語のプログラムで、#define している定数等を
wakky> 大文字で書くためなんです。

気持ちはわかりますが、SHIFTキーを押しながらでもタッチタイピングが出来る
ようになると、大抵の場合はCAPS LOCK キーを使わなくてもよくなる、というそ
れだけのことかと思います。

# 後藤は上記に加えて定常状態が変わってしまうのがいや、といった理由でCAPS
# LOCK は使わないです。手を離すと同じ状態に戻って欲しいわけです。同じ理
# 由でIMEのON/OFFも嫌いですがこればかりは仕方がないので使いますが。


wakky> 今、ポイント上の半角カナ1文字を全角カナに変換するマクロを書きたいと
wakky> 思っています。できれば、1ストロークキーで実現したいと思っています。
wakky> なので、このようなマクロは、非常に参考になります。

手元のcode です。M-Z でカーソル下が半角カナであれば全角にします。
## あんまし使ってないので微妙にヘンなところがあるかも。。。

(defun zenkaku-katakana-region (min max)
  (interactive "r")
  (save-excursion
    (goto-char min)
    (while (re-search-forward "\\ck+" max t)
      (japanese-zenkaku-region (match-beginning 0) (match-end 0)))))
    
(defun zenkaku-katakana-buffer ()
  (interactive)
  (zenkaku-katakana-region (point-min) (point-max)))

(defun zenkaku-katakana-at-point (&optional point)
  (interactive)
  (setq point (or point (point)))
  (when (looking-at "\\ck+")
    (forward-char 1)
    (backward-word 1)
    (re-search-forward "\\ck+")
    (zenkaku-katakana-region (match-beginning 0) (match-end 0))))

(global-set-key "\M-Z" 'zenkaku-katakana-at-point)

--- Regards,
 Shun-ichi Goto  <gotoh@xxxxxxxxxxx>
   R&D Group, TAIYO Corp., Tokyo, JAPAN