espaço do console consumido pelo conteúdo do arquivo

3

veja o exemplo abaixo para entender meu problema; considere meu prompt do console parecido com isso

user@server $ ls
"I opened a file temp"
user@server $ vi temp

temp abrirá na mesma janela, quando eu fechar temp, não volto para:

user@server $ ls
user@server $ vi temp
user@server $

em vez disso, volto para algo assim

user@server $ ls
user@server $ vi temp
"temp file content"
"temp file content"
"temp file content"
user@server $

Está consumindo meu espaço visível na tela, e posso acabar perdendo alguma saída importante por causa desse conteúdo de arquivo.

    
por Amar 25.04.2012 / 14:16

3 respostas

6

Existe um recurso em terminais chamado "tela alternativa". Ele permite que um programa use uma "tela" virtual diferente e restaure a anterior quando sai.

Você precisa de um emulador de terminal que suporte esse recurso. Gnome-terminal, urxvt e xterm todos fazem. Eu nunca o vi desativado por padrão, mas se ele for desativado, você poderá ativá-lo usando Xresources. Se você tiver xterm ou urxvt, em seu arquivo ~/.Xresources ou ~/.Xdefaults , adicione o seguinte:

Para o xterm:

XTerm*titeInhibit: false

Para urxvt:

urxvt*secondaryScreen: true

Alguns terminais gui podem ter um painel de opções com uma caixa de seleção para ativar a tela alternativa.

Mais recursos:

link

link

    
por 25.04.2012 / 14:27
1

Tente usar screen (ou byobu , que é uma versão estendida de screen que você pode gostar mais). Não precisa de suporte de terminal especial além dos recursos padrão.

Você lança assim:

screen

ou

byobu

Fácil!

Em seguida, ele é aberto com um novo shell. Uma vez dentro, você pode abrir um segundo shell ao mesmo tempo pressionando Ctrl-A c , e então você pode alternar entre então com < kbd> Ctrl-A 1 e Ctrl-A 2 . Você pode repetir isso para abrir ainda mais de uma vez.

Você também pode abrir o vim (ou qualquer outra coisa) em outra visualização como essa (de dentro de uma das exibições de tela existentes):

screen vim blah

Como um bônus adicional, você pode fechar o terminal (não sair do shell), efetuar logout e, quando fizer o próximo login novamente (supondo que a máquina não tenha sido reinicializada), você poderá se reconectar à sua sessão antiga e tudo ainda seja como você o deixou:

screen -r

A desvantagem é que você não pode usar o recurso de rolagem do próprio terminal - você tem que usar o recurso de rolagem de screen : pressione Esc , então você pode subir e descer a página e retornar ao modo normal com Esc .

    
por 25.04.2012 / 14:52
1

Use a versão completa do vim, não a versão vim-minúscula. Tanto o vim quanto o vim-tiny são convenientemente chamados a partir da linha de comando usando vi , pois é um substituto para o editor original. Muitas distribuições vêm de fábrica com o vim-tiny.

    
por 25.04.2012 / 19:08