TAB完成和MC问题

DISTRIB_ID=Ubuntu DISTRIB_RELEASE=8.10 DISTRIB_CODENAME=intrepid DISTRIB_DESCRIPTION="Ubuntu 8.10" 

这是服务器版本。

当我进入它时,我遇到以下问题:

问题1

选项卡完成performance奇怪到无法使用的地步:

 > cd ~/<press TAB> -sh: <( compgen -d -- '/home/dmitriid/' ): No such file or directory > vi ~/.<press TAB> <( compgen -d -- '/home/dmitriid/.' ): No such file or directory -sh: <( eval compgen -f -X '*.@(o|so|so.!(conf)|a|rpm|gif|GIF|jp?(e)g| JP?(E)G|mp3|MP3|mp?(e)g|MPG|avi|AVI|asf|ASF|ogg|OGG|class|CLASS)' -- $(quote_readline $cur) ): No such file or directory > nano ~/.<press TAB> ./ .bash_logout .mc/ .viminfo ../ .bashrc .mysql_history .aptitude/ .erlang.cookie .profile .bash_history .gitconfig .ssh/ 

有没有办法解决这个问题?

问题2

我使用MC很多。 我经常做一个Ctrl + O来隐藏面板并在shell中工作。 在我的情况下:

  1. Ctrl + O隐藏面板
  2. 任何按键都会将面板带回

有没有办法解决这个问题?

谢谢!

好。 事实certificate,解决scheme是愚蠢和简单的。 关键是 – 在mc中没有交互式shell。

答案在这里: http : //www.ibiblio.org/mc/FAQ

6.6当我使用Ctrl-O时,我没有得到一个子shell。 我该如何解决?

只有bash,tcsh和zsh可以用作子shell。 使用这些shell之一作为你的默认shell,它将被用作GNU Midnight Commander的子shell。

所以我决定改变shell:

 > which bash /bin/bash > sudo chsh -s /bin/bash my_user_name > grep ^my_user_name /etc/password my_user_name:x:1002:1002::/home/my_user_name:/bin/bash 

注意passwd文件末尾的/ bin / bash。 这意味着现在shell已经改变了。

我注销后,然后重新login – 瞧,一切正常!

看起来你的主目录有问题。 你可以做一个ls ~告诉我们什么事?

.bashrc正在采购/etc/bash_completion谁使用compgen去生成几个已知的命令(如cdvi )完成,但不是nano

出于某种原因, compgen在完成主文件夹中的文件和目录时出现问题。 解决这个问题的一个快速选项是在.bashrc注释掉以下几行。

 if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi 

你的第一个问题的原因是你使用/ bin / sh作为shell。 即使这是与bash链接,完成不起作用。

把shell改成bash:chsh -s / bin / bash并重新login。