Éditeur de text avec option d'écran partagé

Y a-t-il un éditeur qui a la possibilité de «split l'écran» en deux parties ou plus, d'accéder à plusieurs files (éventuellement avec une arborescence de files) sans ouvrir plus de windows d'édition en même time et comment le faire commands).

Je ne sais pas si je me suis fait comprendre, mais "écran partagé" est la seule façon de décrire ce que je veux réaliser. Je veux l'utiliser pour programmer, avoir plus d'un file ouvert pour l'édition. Notez que je suis assez nouveau à la fois vi et emacs, si ceux-ci sont capables de le faire. En outre, si cela doit être fait par le biais d'un éditeur de terminal, peut-il être fait dans le même terminal, indépendamment de la taille de l'écran?

vim peut facilement faire cela:

ctrl + w s – Fenêtres fendues

ctrl + w w – bascule entre les windows

ctrl + w q – Quitter une window

ctrl + w v – Diviser les windows verticalement

 :sp filename 

ouvrira le filename de filename dans le nouveau tampon et splita une window.

Vous pouvez aussi faire

 vim -o file1 file2 

Pour ouvrir les files dans une layout divisée. Remplacez -o par -O pour la division verticale au lieu de l'horizontale.

Cela peut être fait en utilisant Emacs. Il fonctionne dans l'interface graphique et en mode terminal. Vous pouvez même split plusieurs fois. Voici quelques combinaisons de touches de base:

Cx 2 Divisez la window sélectionnée en deux windows, l'une au-dessus de l'autre (split-window-below).
Cx 3 Divisez la window sélectionnée en deux windows, positionnées côte à côte (split-window-right).
C-Mouse-2 Dans la ligne de mode d'une window, divisez cette window.

Source: http://www.gnu.org/software/emacs/manual/html_node/emacs/Split-Window.html

Avec vim, vous pouvez utiliser split ou vsplit .

Le premier se splita horizontalement et le second se splita verticalement.

CTRL w puis naviguer dans les écrans partagés.

Vous pouvez également utiliser l'onglet. tabnew filename ouvrira le nom de file dans un nouvel onglet. Vous pouvez utiliser tabnext et :tabprevious pour naviguer entre les tabs.

Personnellement, je mappe les flèches gauche et droite pour naviguer entre les tabs:

 map <right> :tabnext<CR> map <left> :tabprevious<CR> inoremap <right> <ESC>:tabnext<CR>a inoremap <left> <ESC>:tabprevious<CR>a 

Kate

KDE Advanced Text Editor est très riche en fonctionnalités.
Il a tout ce que vous avez décrit dans la question et bien plus encore .

Voir par vous-même:

Capture d'écran

Pour split la vue, accédez à AffichageVue fractionnée . Ensuite, vous pouvez sélectionner l'une de ces options:

  • Split Vertical ( Ctrl + Maj + L )
  • Split Horizotal ( Ctrl + Maj + T )
  • Fermer la vue actuelle ( Ctrl + Maj + R )

Pour get la layout comme sur cette capture d'écran, click Split Vertical , puis sur Split Horizontal .

Bien sûr, les limites des vues peuvent être modifiées en faisant glisser les bordures (séparateurs) entre eux. Pour basculer entre les vues, utilisez F8 et Shift + F8 .

D'ailleurs, Kate a un soi-disant mode VI ( ParamètresConfigurer Kate …Édition → Mode d'input VI). Ensuite, les raccourcis pour le fractionnement de la vue deviennent les mêmes que dans Vim (voir cette réponse ).

Joe ( le rédacteur en chef de Joe ) peut le faire aussi:

ctrl + k o – window partagée horizontalement

ctrl + k p – passer à la window précédente

ctrl + k n – passer à la window suivante

ctrl + k e – ouvre un nouveau file dans la window courante

ctrl + k g – augmente la hauteur de la window actuelle

ctrl + k t – hauteur de rétrécissement de la window actuelle

ctrl + k i – cacher toutes les windows sauf celle en cours, appuyer à nouveau pour afficher à nouveau toutes les windows

ctrl + c ou ctrl + k x – ferme une window

Sublime Text 2 peut le faire (et bien d'autres).

Si vous êtes intéressé à mieux comprendre VIM, consultez vimcasts.org , il y a un tas de didacticiels video très sympathiques. Celui-ci en particulier pour la magie de l'écran partagé

Prendre plaisir!

En ce qui concerne les arborescences de files, j'utilise personnellement NERDtree avec Vim. Cela nécessite Pathogen. J'ai trouvé la command d'ouvrir l'tree ( :NERDtree toggle , iirc) pour être un peu long, donc je l'ai remappé à <F2> . Si vous travaillez sur un projet avec beaucoup de files dans de nombreux directorys (pensez aux projets Rails), c'est vraiment sympa.

MODIFIER:

NERDtree est sur Github: https://github.com/scrooloose/nerdtree

C'est le remappage que j'utilise dans mon file .vimrc: map <F2> :NERDTreeToggle<CR>

J'utilise tmux et vim pour l'édition sur écran partagé dans un environnement basé sur un terminal, bien que vous puissiez utiliser n'importe quel éditeur de text basé sur une command line ( nano , emacs etc.).

tmux est une abréviation de «terminal multiplexer» et permet de créer des sessions avec plusieurs terminaux, fonctionnant dans des "windows" séparées et aussi des "volets" dans ces windows, qui permettent de split l'écran. tmux est inclus dans les référentiels de nombreuses dissortingbutions Linux et BSD. Je trouve que c'est l'option la plus flexible pour le encoding, car je peux aussi append des splits et des windows contenant des terminaux où je peux comstackr du code et utiliser un système de contrôle de version, comme git aux côtés de mon éditeur de code.

Voici un exemple de création d'une session d'édition d'écran partagé utilisant tmux et vim .

D'abord, ouvrez un terminal. Dans les commands ci-dessous écrites après $ sont émises à partir de la command line. Cela utilise les raccourcis keyboard par défaut dans tmux .

  1. Démarrer une nouvelle session tmux. Ici nous en faisons un appelé "encoding":

    $ tmux new -s coding

    tmux vient d'ouvrir

  2. Appuyez sur Ctrl + b suivi de % pour une division verticale ou " pour une division horizontale.

    division verticale

    division horizontale

  3. Vous pouvez vous déplacer entre les tmux (ou dans le jargon tmux , les "volets") en appuyant sur Ctrl + b suivi de o .

  4. Ouvrez maintenant un éditeur de text avec les files que vous souhaitez modifier dans chaque volet. Ici, je viens d'ouvrir deux files text en utilisant vim , par exemple

    $ vim file1.txt

    Changer de volet: Ctrl + b suivi de o .

    $ vim file2.txt

    éditer deux fichiers simultanément

tmux est extrêmement avancé, permettant plusieurs windows dans une même window disposées de différentes manières et vim vous permet d'ouvrir plusieurs files text à la fois dans des tabs. J'ai tendance à utiliser à la fois la tabulation dans vim et les volets dans tmux pour me permettre de modifier, le contrôle de version et le code de debugging simultanément. Si vous avez le time d'investir dans l'apprentissage des raccourcis keyboard et des fonctionnalités de tmux il peut être un environnement de développement très puissant.

Une tmux sortingche tmux pour débuter: l'écran de dayid et la feuille de sortingche tmux

Un tutoriel sur les tabs dans vim : Conseils Vim: Utilisation des tabs

Personnellement, j'utiliserais écran ou tmux. les deux vous permettent d'ouvrir plusieurs panneaux bien que je pense que tmux est mieux à récupérer une session multi-panneau que l'écran. vous bénéficiez également de l'avantage supplémentaire de pouvoir vous connecter à la session si vous vous déconnectez de votre session de bureau local puis de SSH. Vous avez même la possibilité de partager la session avec d'autres users pour la collaboration.

Outre les éditeurs vim , emacs et joe , voici d'autres éditeurs d'émulateurs de terminal (tty) / x-terminal, qui peuvent afficher au less deux files en même time. Peut-être pas les couteaux les plus mignons de l'armée suisse mais la courbe d'apprentissage ne semble pas trop raide en tout cas:

1) mcedit

Fait partie de Midnight Commander (un gestionnaire de files en mode text, installez-le avec apt-get install mc dans les dissortingbutions Debian).

mcedit

2) wpe \ xwpe

Disponible avec apt-get install xwpe dans les dissortingbutions Dedbian. Cependant, semble que c'est une protection arrêtée.

xwpe

3) nfte \ efte

eFTE est également disponible via apt-get install efte .

efte

D'autre part, pour la window X, il existe aussi des outils "diff" d'interface graphique qui pourraient être utiles à cet effet. Dans mon Linux Mint j'ai au less deux:

4) xxdiff

Une application basée sur Qt ( apt-get install xxdiff )

xxdiff

Non testé et non montré, mais existe aussi Fldiff utilisant le Fast Light Toolkit (FLTK) mais inspiré en partie en xxdiff . Aussi dans les repositorys officiels ( apt-get install fldiff et vous pouvez le tester vous-même). La même chose s'applique à mgdiff .

5) kdiff3

Une application KDE similaire ( apt-get install kdiff3 ).

kdiff3

Vous pouvez utiliser l'éditeur de text atomique de github. Il est livré avec la fonctionnalité de l'écran partagé.

GEdit a quelques plugins à split l'écran.