Procurando por um terminal centralizado de tela cheia

8

Existem vários editores livres de distração para escrever: eles fornecem um ambiente minimalista e com tela cheia, com o objetivo de se forçar a se concentrar na tarefa.

Eu quero fazer algo semelhante com vim . Embora eu possa simplesmente ativá-lo em um terminal e, em seguida, pressionar F11 para colocá-lo em tela cheia, eu também quero limitar a largura a em torno de 75 caracteres e centralizar a área que estou usando.

Pense em como processadores de texto fornecem uma página virtual no meio do programa - é o que eu quero. Mais ou menos.

Existe uma maneira de fazer isso, seja com um programa de terminal especial ou com alguma configuração no vim? Se um dos programas GUI vim tem essa capacidade, ou se existe alguma outra maneira de fazer isso que eu não tenha pensado, isso também seria uma resposta útil.

    
por evilsoup 03.08.2013 / 22:42

3 respostas

12

Se você iniciar screen em% maximizadoxterm ( Alt-Enter em xterm ) como:

screen -c this-file

Onde this-file contém:

focusminsize 75 25
split -v
focus
only
split -v
split -v
focus

Você obterá uma região central de largura 75 .

    
por 03.08.2013 / 23:18
1

Uma alternativa é usar um programa como devilspie para realizar isso. Caso você nunca tenha ouvido falar em devilspie :

trecho

A window-matching utility, inspired by Sawfish's “Matched Windows” option and the lack of the functionality in Metacity. Metacity lacking window matching is not a bad thing — Metacity is a lean window manager, and window matching does not have to be a window manager task.

Devil's Pie can be configured to detect windows as they are created, and match the window to a set of rules. If the window matches the rules, it can perform a series of actions on that window. For example, I can make all windows created by X-Chat appear on all workspaces, and the main Gkrellm1 window does not appear in the pager or task list.

Deveria estar na maioria dos repositórios de distros.

Exemplo

Então, para centralizar uma janela xterm executando vim dentro dela, você faria o seguinte.

  1. Faça a configuração do seu Devil's Pie. dir.

    $ mkdir ~/.devilspie
    
  2. Crie um arquivo .ds especificando sua regra Devil's Pie

    $ cat ~/.devilspie/something.ds 
    (if
        (matches (application_name) "vim")
        (begin
            (geometry "600x400")
            (center)
        )
    )
    
  3. Execute devilspie . Eu gosto de executar o modo de depuração ( -d ) para iniciar.

    $ devilspie -d
    Devil's Pie 0.22 starting...
    Loading /etc/devilspie
    /etc/devilspie doesn't exist
    Loading /home/saml/.devilspie
    Loading /home/saml/.devilspie/something.ds
    1 s-expressions loaded.
    
  4. Execute nosso xterm com vim .

    $ xterm -e vim
    

Qualéonomedaminhajanela?

Vocêpodeusarocomandoxlsclient-lparaobterumalistadejanelasabertas.Achoqueéamaneiramaisfácildedeterminaronomedeumajanelaparaincorporaçãoemdevilspie.Vocêtambémpodequererusarxwininfotambém.

Exemplo

$xlsclients-l|less...Window0x6800023:Machine:grinchyName:vimIconName:vimCommand:xterm-evimInstance/Class:xterm/XTerm...

VocêpodecontrolarumnomedoWindowsassim:

$xterm-titleWeirdWindow-evim

Referências

por 04.08.2013 / 14:06
1

Existe um plugin para o Vim chamado VimRoom que fornece isso através de um mapeamento (o padrão é V).

    
por 05.08.2013 / 17:11