题 获取; 5D在FreeBSD上的终端中按下ctrl +箭头键


在centos上我可以通过在终端中按ctrl +箭头(向左或向右)跳过一个单词。当我进入FreeBSD框并尝试相同的模式时,我得到:

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

(每次尝试= ; 5D

有没有办法来解决这个问题?我正在使用Ubuntu 12.04 +终结者。

提前致谢。


14
2018-05-07 22:38






答案:


一个 .inputrc 在您的主目录中将导致 CTRL+剩下 停止在Ubuntu上工作(例如)。

要使一切正常,请将以下内容添加到 ~/.inputrc

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

19
2018-01-04 07:56



澄清 - 这个 .inputrc 应该在远程机器上设置。 - omikron
虽然在重新启动之后才为我工作。 - immeëmosol


除非你从默认更改了这些,否则你在Ubuntu上使用的shell就是bash。在FreeBSD上,默认的shell是csh。您可以在两个操作系统中使用以下命令更改shell:

chsh

将你的shell在FreeBSD中设置为/ usr / local / bin / bash。 Bash不是FreeBSD的一部分,所以如果你还没有,请从ports安装它:

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

最后一件事:不要为root更改shell。这就是“toor”帐户的用途:root的所有权限,但您可以将shell设置为您想要的任何内容。原因是没有任何系统活动在toor下运行,所以你不会破坏任何东西或通过将该帐户的shell更改为您习惯的东西来混淆任何人(或者可能更适合作为登录shell)。


2
2018-05-10 00:29





你在FreeBSD机器上运行的shell可能不支持该控制序列。但是,如果不知道你在两端运行的是什么外壳,那么很难肯定。


1
2018-05-08 00:29





如果您使用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

1
2018-05-08 05:22





看起来您可能有错误的$ TERM设置。 echo $TERM 找出你当前的设置是什么。可能想使用xterm export TERM=xterm-256color


0
2018-05-07 22:43



仍然没有爱= | - jdorfman