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
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:
Pour split la vue, accédez à Affichage → Vue fractionnée . Ensuite, vous pouvez sélectionner l'une de ces options:
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ètres → Configurer 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
.
Démarrer une nouvelle session tmux. Ici nous en faisons un appelé "encoding":
$ tmux new -s coding
Appuyez sur Ctrl + b suivi de % pour une division verticale ou " pour une division horizontale.
Vous pouvez vous déplacer entre les tmux
(ou dans le jargon tmux
, les "volets") en appuyant sur Ctrl + b suivi de o .
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
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).
2) wpe \ xwpe
Disponible avec apt-get install xwpe
dans les dissortingbutions Dedbian. Cependant, semble que c'est une protection arrêtée.
3) nfte \ efte
eFTE est également disponible via apt-get install 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
)
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
).
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.