Vous cherchez un terminal centré et plein écran

Il existe plusieurs «éditeurs sans distraction» pour l'écriture: ils fournissent un environnement minimal plein écran dans le but de se forcer à se concentrer sur la tâche à accomplir.

Je veux faire quelque chose de similaire avec vim . Bien que je puisse tout simplement le triggersr dans un terminal, puis appuyez sur F11 pour le mettre en plein écran, je veux aussi limiter la largeur à environ 75 caractères et centrer la zone que j'utilise.

Pensez à la façon dont les traitements de text fournissent une page virtuelle au milieu du programme – c'est ce que je veux. Sorte de.

Y at-il un moyen de le faire, soit avec un programme terminal spécial ou avec un réglage dans vim? Si l'un des programmes GUI vim a cette capacité, ou s'il y a un autre moyen de le faire auquel je n'ai pas pensé, ce serait aussi une réponse utile.

Si vous démarrez l' screen dans un xterm maximisé ( Alt-Entrée dans xterm ) comme:

 screen -c this-file 

this-file contient:

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

Vous obtiendrez une région centrale de largeur 75 .

Une alternative est d'utiliser un programme tel que devilspie pour y parvenir. Au cas où vous n'avez jamais entendu parler de devilspie :

extrait

Un utilitaire de correspondance de windows, inspiré de l'option "Matched Windows" de Sawfish et de l'absence de fonctionnalités dans Metacity. Metacity manque la mise en correspondance des windows n'est pas une mauvaise chose – Metacity est un gestionnaire de windows allégé, et la mise en correspondance des windows ne doit pas nécessairement être une tâche de gestionnaire de windows.

Devil's Pie peut être configuré pour détecter les windows au fur et à mesure de leur création et faire correspondre la window à un set de règles. Si la window correspond aux règles, elle peut effectuer une série d'actions sur cette window. Par exemple, je peux faire apparaître toutes les windows créées par X-Chat sur tous les espaces de travail, et la window principale de Gkrellm1 n'apparaît pas dans le pageur ou la list des tâches.

Il devrait être dans les repos de la plupart des distros.

Exemple

Donc, pour centrer une window xterm exécutant vim intérieur de celui-ci, vous feriez ce qui suit.

  1. Faites votre config de tarte de diable. dir.

     $ mkdir ~/.devilspie 
  2. Créer un file .ds spécifiant que vous êtes la règle du tarte du diable

     $ cat ~/.devilspie/something.ds (if (matches (application_name) "vim") (begin (geometry "600x400") (center) ) ) 
  3. Exécutez devilspie . J'aime exécuter le mode de debugging ( -d ) pour commencer.

     $ 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. Exécutez notre xterm avec vim .

     $ xterm -e vim 

ss de xterm vim

Quel est le nom de ma window?

Vous pouvez utiliser la command xlsclient -l pour get une list des windows ouvertes. Je trouve que c'est le moyen le plus facile de déterminer le nom d'une window pour l'incorporation dans devilspie . Vous pouvez également utiliser xwininfo .

Exemple

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

Vous pouvez contrôler un nom de window comme ceci:

 $ xterm -title WeirdWindow -e vim 

Les references

  • Devilspie – Documentation Ubuntu
  • Tarte du diable – Wiki GNOME
  • Tarte du diable – burtonini.com
  • Documentation du tarte du diable – foosel.org

Il y a un plugin pour Vim appelé VimRoom qui fournit ceci via un mapping (par défaut est V).