2016年8月20日土曜日

MacOS Xの入力行でカーソル直前の文字を消すキー操作

MacOS Xの入力行でカーソル直前の単語を消すキー操作をすぐに忘れてしまうので、こちらにメモします。
Option-Delete
頻繁に使えば覚えるのでしょうが、それほどの頻度でもないのがいけない感じです。

Emacsでは 
Esc-DEL
M-DEL
また、Ctrl-H
;; C-h = Backspace
(global-set-key "\C-h" 'backward-delete-char)
という設定で、backward-delete-charに設定している場合は、
Esc-Ctrl-H
M-Ctrl-H
でもカーソル直前の単語を消すことができます。

です。これはM-x describe-function backward-kill-wordとすれば、以下のように教えてくれます。

backward-kill-word is an interactive compiled Lisp
function in `simple.el'.


It is bound to <C-backspace>, M-DEL.

(backward-kill-word ARG)

Kill characters backward until encountering the
beginning of a word.

With argument ARG, do this that many times.
Bash/Readlineでは
Esc-Backspace
Esc-Ctrl-H
です。これはman bashとしてbackward-kill-wordを検索すると、以下のように教えてくれます。
backward-kill-word (M-Rubout)
        Kill the word behind point.  Word boundaries
        are the same as those used by backward-word.
shell-kill-word (M-d)
        Kill  from  point  to the end of the current
        word, or if between
        words, to the end of the next word. Word
        boundaries  are  the
        same as those used by shell-forward-word.
shell-backward-kill-word (M-Rubout)
        Kill  the  word  behind  point. Word boundaries
        are the same as those used by
        shell-backward-word.
 ただし、GUI環境でのDeleteBackspaceCtrl-Hなどキー入力は設定によって、Deleteを押してもBackspaceの動作になったり、その逆のこともあるので注意が必要です。たとえば、MacOS XのTerminal.appでは以下のような設定画面でDeleteキーを押すと、Ctrl-Hを出力するようにすことができます。