Alla ricerca di un terminale a schermo intero centrato


8

Esistono diversi 'editor senza distrazioni' per la scrittura: questi forniscono un ambiente a schermo intero e minimale con l'obiettivo di costringersi a concentrarsi sul compito da svolgere.

Voglio fare qualcosa di simile con vim. Mentre posso semplicemente accenderlo in un terminale e quindi premere F11 per metterlo a schermo intero, voglio anche limitare la larghezza a circa 75 caratteri e centrare l'area che sto usando.

Pensa a come i word processor forniscono una pagina virtuale nel mezzo del programma - questo è quello che voglio. Una specie di.

C'è un modo per farlo, con un programma terminale speciale o con qualche impostazione in vim? Se uno dei programmi vim della GUI ha questa capacità, o se c'è un altro modo di farlo che non ho pensato, sarebbe anche una risposta utile.

Risposte:


12

Se inizi screenin maniera ingrandita xterm( Alt-Enterin xterm) come:

screen -c this-file

Dove this-filecontiene:

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

Otterrai una regione centrale di larghezza 75.


Questo è così vicino alla perfezione, grazie. Questo mette i bordi bianchi intorno all'area attiva e lungo la parte inferiore del terminale; sai se c'è un modo per sbarazzarsi di quelli?
evilsoup,

Questo non ha funzionato per me.
slm

1
RE: il mio commento precedente, la risposta per sbarazzarsi dei confini può essere trovata in questa domanda SU . Metto le linee nel mio .screenrc, quindi il mio default screenuserà tutti i comandi qui. Funziona perfettamente per me su Ubuntu 13.04, gnome-terminalversione 3.6.1 (e su xterm e guake) e screenversione 4.00.03jw4. Grazie!
evilsoup,

Sono su Fedora 14 e gnome-terminal versione 2.32.0. Versione schermo 4.00.03. xterm -v, 6.8.99.903. Non funziona lì.
slm

Provato su Ubuntu 13.04 ha funzionato lì. Ora vedo cosa sta facendo. Sono 3 riquadri, divisi equamente e il focus è su quello centrale.
slm

1

Un'alternativa è quella di utilizzare un programma tale da ottenere devilspiequesto risultato. Nel caso in cui non hai mai sentito parlare di devilspie:

estratto

Un'utilità di abbinamento delle finestre, ispirata all'opzione "Abbinamento di Windows" di Sawfish e alla mancanza di funzionalità in Metacity. La mancata corrispondenza della finestra con Metacity non è un problema: Metacity è un gestore di finestre snelle e la corrispondenza delle finestre non deve essere un'attività di gestione delle finestre.

Devil's Pie può essere configurato per rilevare le finestre mentre vengono create e abbinare la finestra a un insieme di regole. Se la finestra corrisponde alle regole, può eseguire una serie di azioni su quella finestra. Ad esempio, posso far apparire tutte le finestre create da X-Chat su tutte le aree di lavoro e la finestra principale di Gkrellm1 non appare nel cercapersone o nell'elenco delle attività.

Dovrebbe essere nei repository della maggior parte delle distribuzioni.

Esempio

Quindi per centrare una xtermfinestra che scorre vimall'interno di essa dovresti fare quanto segue.

  1. Configura la tua torta del diavolo. dir.

    $ mkdir ~/.devilspie
    
  2. Crea un .dsfile specificando che sei la regola della torta del diavolo

    $ cat ~/.devilspie/something.ds 
    (if
        (matches (application_name) "vim")
        (begin
            (geometry "600x400")
            (center)
        )
    )
    
  3. Corri devilspie. Mi piace eseguirlo debug mode ( -d) per iniziare.

    $ 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. Esegui il nostro xtermcon vim.

    $ xterm -e vim
    

    ss di xterm vim

Come si chiama la mia finestra?

È possibile utilizzare il comando xlsclient -lper ottenere un elenco di finestre aperte. Trovo che sia il modo più semplice per determinare il nome di una finestra da incorporare in devilspie. Potresti anche voler usare anche tu xwininfo.

Esempio

$ xlsclients -l|less
...
Window 0x6800023:
  Machine:  grinchy
  Name:  vim
  Icon Name:  vim
  Command:  xterm -e vim
  Instance/Class:  xterm/XTerm
...

Puoi controllare un nome di Windows in questo modo:

$ xterm -title WeirdWindow -e vim

Riferimenti


Questo è decisamente pulito, ma non è quello che sto cercando di realizzare. Posiziona semplicemente la finestra in un posto specifico e con le dimensioni della finestra specificate, giusto? Voglio avere una 'pagina' attiva al centro dello schermo, con il resto dello schermo vuoto, quindi non ci sono distrazioni in background.
evilsoup,

@evilsoup - sì centra xterm @ dimensioni specificate. Puoi cancellare lo sfondo, aggiornerò la mia risposta solo per avere un metodo alternativo. La tua domanda non ha detto che lo volevi oscurato in background, forse mi sono perso qualcosa. Inoltre penso che ti manchi il potere di devilspie. È possibile aggiungere una regola al file .ds per ridurre al minimo tutto il resto, ad esempio.
slm

@evilsoup - sarebbe sufficiente oscurare lo sfondo? So che hai l'altra soluzione, ma volevo solo fornire un metodo alternativo.
slm

1

C'è un plugin per Vim chiamato VimRoom che fornisce questo tramite una mappatura (il valore predefinito è V).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.