CentOS seta para cima comando anterior

1

Em uma máquina FreeBSD que eu usei, a tecla de seta para cima traz o comando anterior BASEADO nas letras já digitadas. No entanto, em uma máquina do CentOS que estou usando, a tecla de seta para cima simplesmente exibe o comando anterior imediato.

Alguém sabe se existe alguma maneira de defini-lo como a tecla de seta para cima do FreeBSD para o CentOS?

Muito obrigado.

    
por Dave 01.09.2009 / 23:13

5 respostas

1

O comportamento que você está descrevendo é baseado no seu shell.

O shell padrão no CentOS é bash: você pode confirmar isso digitando o seguinte:

$ echo $SHELL
/bin/bash

Se for, então você pode obter uma funcionalidade semelhante ao seu shell do FreeBSD (provavelmente o ksh) pressionando CTRL-r. Você verá algo assim:

(reverse-i-search)'': 

Basta começar a digitar e você receberá os comandos que executou anteriormente com base no que digitou.

Por exemplo, neste terminal, quando eu digito CTRL-rs, recebo isso:

(reverse-i-search)'s': sudo port install ruby

Em seguida, você pode rolar para cima ou para baixo com a tecla de seta para percorrer todos os comandos que correspondem aos seus critérios de pesquisa (neste caso, 's').

    
por 01.09.2009 / 23:20
1

Você também pode configurar um arquivo ~/.inputrc privado para seu bash da seguinte forma:

"\e[5~": history-search-backward
"\e[6~": history-search-forward

Agora, a tecla de paginação de páginas procura para trás e para baixo na página no histórico. Isso é o que eu uso. (Você precisa reiniciar o shell para que ele tenha efeito).

Pressione CTRL + V seguido de KEY para determinar a sequência de teclas, se você quiser vincular os comandos do shell a outra KEY (em vez de page-up / page-down).

    
por 02.09.2009 / 00:58
1

O shell padrão no FreeBSD é o CSH. Deve haver um pacote para ele no CentOS (consulte seu gerenciador de pacotes para isso).

COMO: Faça o download e instale o shell csh / tcsh no Linux

    
por 01.09.2009 / 23:22
0

Isso é definido pelo seu shell. Você pode determinar qual shell está usando digitando: echo $ 0

No FreeBSD, você normalmente está rodando o csh (que foi inventado em Berkeley, a casa do BSD). No Linux, você normalmente executa o bash. Você pode obter o comportamento de 'seta para cima' alternando para o modo de edição do histórico do emacs. Tente digitar: set -o emacs no seu terminal.

Se você gostou deste comportamento, você pode editar seu arquivo $ HOME / .bashrc, e adicionar essa linha, e você terá em cada shell

    
por 02.09.2009 / 00:47
0
  1. Instale o tcsh como @flokra mencionado.
  2. Coloque um arquivo .cshrc em seu diretório pessoal. Dentro desse arquivo, configure tcsh para mostrar uma lista de correspondências para o comando parcialmente digitado quando você pressionar a seta para cima ou para baixo. Use o link como guia, mas o que você está procurando é:

    bindkey -k up history-search-backward
    bindkey -k down history-search-forward
    
por 22.01.2013 / 02:13