3. シェルに関するあれこれ - tcsh - ショートカットキー

 
3.1 ショートカットキー
3.2 ショートカットキーの書き換え

3.1 ショートカットキー

分類 キー 意味 備考
カーソル移動 Ctrl+A 先頭へ移動
Ctrl+E 末尾へ移動
Ctrl+F 1つ後の文字へ移動 以降で定義を変更します
Ctrl+B 1つ前の文字へ移動
Alt+F 1つ後の単語へ移動
Alt+B 1つ前の単語へ移動

3.2 ショートカットキーの書き換え

 前項、他にもたくさんあるのですが・・・。  FreeBSD では、

/usr/share/skel/dot.cshrc
 でデフォルトで用意されているものに

# $FreeBSD: releng/11.1/share/skel/dot.cshrc 278616 2015-02-12 05:35:00Z cperciva $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
# more examples available at /usr/share/examples/csh/
#

alias h         history 25
alias j         jobs -l
alias la        ls -aF
alias lf        ls -FA
alias ll        ls -lAF

# These are normally set through /etc/login.conf.  You may override them here
# if wanted.
# set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)
# setenv        BLOCKSIZE       K
# A righteous umask
# umask 22

setenv  EDITOR  vi
setenv  PAGER   more

if ($?prompt) then
        # An interactive shell -- set some stuff up
        set prompt = "%N@%m:%~ %# "
        set promptchars = "%#"

        set filec
        set history = 1000
        set savehist = (1000 merge)
        set autolist = ambiguous
        # Use history to aid expansion
        set autoexpand
        set autorehash
        set mail = (/var/mail/$USER)
        if ( $?tcsh ) then
                bindkey "^W" backward-delete-word
                bindkey -k up history-search-backward
                bindkey -k down history-search-forward
        endif

endif
 39~41 行で以下のショートカットキーを定義しています。
分類 キー 意味
削除 Ctrl+W カーソルの前の単語を削除
履歴 現在のひとつ前の履歴を表示
現在のひとつ後の履歴を表示

 履歴の便利なところは、コマンドを途中まで入力して  を押すと、入力した箇所まで一致する履歴へ一気に飛んでくれることです。
 非常に役立ちます。

 わたしは、41行に続けて以下のように記述して


                bindkey "^F" forward-word
                bindkey "^B" backward-word
 文字の前後移動の Alt+FAlt*BCtrl+FCtrl*B に書き換えています。  なぜかというと、わたしは Tera Term でログインすることが多く、Tera Term では、Alt キーが Tera Term 側にフックされています。  文字の前後移動は でこと足りるので Ctrl+FCtrl+B を上書きしても問題ないのです。