Como pesquisar o histórico do console do XTerm?

5

Existe alguma maneira de pesquisar interativamente o histórico de console do XTerm, como Ctrl + Deslocamento + f no Terminal GNOME e Terminator?

Eu poderia executar script no meu .bashrc ou até mesmo no patch XTerm , mas seria bom saber se já existe algum atalho ou configuração para fazer isso sem modificando muito meu ambiente de tempo de execução.

Uma maneira de salvar o buffer de rolagem inteiro em uma única operação (ou seja, sem copiar cada página dele com um mouse) seria um fallback OK.

    
por l0b0 15.01.2014 / 21:35

4 respostas

6

Não há nada embutido, exatamente, mas há duas maneiras de obter o texto de rolagem.

Você pode configurar os recursos XTerm.vt100.on4Clicks e XTerm.vt100.on5Clicks (ou de on1Clicks em diante, para esse assunto) para escolher copiar a rolagem inteira para a seleção X11 PRIMARY. Por exemplo, para copiar o pergaminho inteiro em um clique quádruplo, insira essa linha em .Xresources :

XTerm.vt100.on4Clicks: all

Você terá que organizar seu próprio método para pesquisar um pouco o conteúdo da seleção X, como abrir um editor ou pager com um gerenciador de janelas vinculado.

Você pode chamar a ação print-everything para enviar o pergaminho inteiro para um programa determinado pelo recurso XTerm.vt100.printerCommand . Por exemplo, para abrir o scrollback em menos (executando em um novo xterm) quando você pressionar Ctrl + / , coloque estas linhas no seu .Xresources :

XTerm.vt100.printerCommand: xterm -e sh -c 'less <&3' 3<&0
XTerm.vt100.translations: #override Ctrl ~Meta ~Shift <Key>slash: print-everything()
    
por 16.01.2014 / 02:06
0

É fácil copiar e colar todo o texto de rolagem que você quiser.

Vá até o início do texto que você deseja copiar, clique com o botão esquerdo no local em que deseja iniciar a cópia, role até o final do que deseja copiar, clique com o botão direito e use o clique do meio para colar ou use xclip (-selection primary -o) para alimentá-lo para stdout ou desviá-lo para um arquivo.

    
por 30.07.2014 / 18:11
0

O Xterm tem um recurso que trata disso, chamado abreviatura dinâmica . Adicionado em patch # 188 (2004) , é opcional e não pode ser compilado em sua cópia de xterm. A página de manual diz:

   dabbrev-expand()
           Expands  the  word  before cursor by searching in the preceding
           text on the screen and  in  the  scrollback  buffer  for  words
           starting  with  that  abbreviation.  Repeating dabbrev-expand()
           several times in sequence searches for an alternative expansion
           by looking farther back.  Lack of more matches is signaled by a
           beep().  Attempts to expand an empty word (i.e., when cursor is
           preceded  by  a  space)  yield successively all previous words.
           Consecutive identical expansions are ignored.  The word here is
           defined  as a sequence of non-whitespace characters.  This fea-
           ture partially emulates the behavior of "dynamic  abbreviation"
           expansion  in  Emacs  (bound there to M-/).  Here is a resource
           setting for xterm which will do the same thing:

               *VT100*translations:    #override \n\
                       Meta <KeyPress> /:dabbrev-expand()
    
por 21.04.2016 / 01:54
-1

Eu não vi nenhuma maneira de pesquisar no buffer de rolagem do XTerm para procurar por coisas. Eu acho que suas únicas escolhas são usar algo como tmux ou screen .

    
por 15.01.2014 / 22:31

Tags