FreeBSDのターミナルでctrl +矢印キーを押したときに; 5Dを取得する


18

CentOSでは、ターミナルでctrl +矢印(左または右)を押すことで単語をスキップできます。FreeBSDボックスにsshして、同じパターンを試すと、次のようになります:

$ tail -f 20120412.log;5D;5D;5D

(各try = ; 5D

これを修正する方法はありますか?Ubuntu 12.04 +ターミネーターを使用しています。

前もって感謝します。

回答:


26

.inputrcホームディレクトリのA は、Ubuntuでctrl+の動作leftを停止させます(たとえば)。

すべてを機能させるには、次を追加します~/.inputrc

# Include system-wide inputrc, which is ignored by default when
# a user has their own .inputrc file.
$include /etc/inputrc

1
明確にするために、これ.inputrcはリモートマシンで設定する必要があります。
omikron

by風を再起動した後にのみ、私のために働いた。
immeëmosol

1
完全に彼らが欠落している人のために.inputrc、私のために関連する行は以下の通りであった: "\e[1;5C": forward-word"\e[1;5D": backward-word"\e[5C": forward-word"\e[5D": backward-word"\e\e[C": forward-word"\e\e[D": backward-word
AlbinoDrought

2

これらをデフォルトから変更していない限り、Ubuntuで使用しているシェルはbashです。FreeBSDでは、デフォルトのシェルはcshです。両方のOSで次のコマンドを使用してシェルを変更できます。

chsh

FreeBSDのシェルを/ usr / local / bin / bashに設定します。BashはFreeBSDの一部ではないため、まだインストールしていない場合は、portsからインストールしてください。

cd /usr/ports/shells/bash
make install
make clean

最後に、ルートのシェルを変更しないでください。これが「toor」アカウントの目的です。rootのすべての特権がありますが、シェルを好きなように設定できます。その理由は、toorの下で実行されるシステムアクティビティがないため、そのアカウントのシェルを使い慣れたもの(またはログインシェルとしてより機能的なもの)に変更することで、何かを壊したり混乱させたりすることがないためです。


1

FreeBSDマシンで実行しているシェルは、おそらくその制御シーケンスをサポートしていません。ただし、どちらのシェルで実行しているシェルがわからない場合でも、確実に言うのは困難です。


1

ZSHを使用する場合は、/ etc / zshrcファイルでこれを使用します。

case "${TERM}" in
  cons25*|linux) # plain BSD/Linux console
    bindkey '\e[H'    beginning-of-line   # home 
    bindkey '\e[F'    end-of-line         # end  
    bindkey '\e[5~'   delete-char         # delete
    bindkey '[D'      emacs-backward-word # esc left
    bindkey '[C'      emacs-forward-word  # esc right
    ;;
  *rxvt*) # rxvt derivatives
    bindkey '\e[3~'   delete-char         # delete
    bindkey '\eOc'    forward-word        # ctrl right
    bindkey '\eOd'    backward-word       # ctrl left
    # workaround for screen + urxvt
    bindkey '\e[7~'   beginning-of-line   # home
    bindkey '\e[8~'   end-of-line         # end
    bindkey '^[[1~'   beginning-of-line   # home
    bindkey '^[[4~'   end-of-line         # end
    ;;
  *xterm*) # xterm derivatives
    bindkey '\e[H'    beginning-of-line   # home
    bindkey '\e[F'    end-of-line         # end
    bindkey '\e[3~'   delete-char         # delete
    bindkey '\e[1;5C' forward-word        # ctrl right
    bindkey '\e[1;5D' backward-word       # ctrl left
    # workaround for screen + xterm
    bindkey '\e[1~'   beginning-of-line   # home
    bindkey '\e[4~'   end-of-line         # end
    ;;
  screen)
    bindkey '^[[1~'   beginning-of-line   # home
    bindkey '^[[4~'   end-of-line         # end
    bindkey '\e[3~'   delete-char         # delete
    bindkey '\eOc'    forward-word        # ctrl right
    bindkey '\eOd'    backward-word       # ctrl left
    bindkey '^[[1;5C' forward-word        # ctrl right
    bindkey '^[[1;5D' backward-word       # ctrl left
    ;;
esac

0

間違った$ TERM設定がある可能性があります。echo $TERM現在の設定を確認します。xtermを使用したい場合がありますexport TERM=xterm-256color


まだ愛はありません= |
-jdorfman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.