Emacs-wiele kolumn jeden bufor

Próbuję edytować kod asemblera, który zwykle jest formatowany w długich, ale cienkich listach. Chciałbym móc wykorzystać część powierzchni poziomej, którą mam i zobaczyć więcej kodu na ekranie za jednym razem. Czy jest jakaś metoda aby Emacs (lub inny edytor) pokazywał mi wiele kolumn wskazujących na ten sam bufor?

C-x 3 (emacs) i: vsplit (vim) są świetne do wielu oddzielnych widoków kodu, ale chciałbym, aby przepływał z jednej kolumny do drugiej (jak tekst w gazecie).

 158
Author: user119857, 2009-06-09

7 answers

Zobacz follow-mode . Fragment:

Follow mode jest trybem podrzędnym, który sprawia, że dwa okna, oba pokazujące ten sam bufor, przewijają się jako jedno wysokie " wirtualne okno."Aby użyć trybu śledzenia, przejdź do ramki zawierającej tylko jedno okno, podziel ją na dwa okna obok siebie za pomocą C-x 3, a następnie wpisz M - x follow-mode. Od tego momentu możesz edytować bufor w jednym z dwóch okien lub przewijać jedno z nich; drugie okno podąża za nim. W trybie śledzenia, jeśli przesuniesz punkt poza widoczną część w jednym oknie i do części widocznej w drugim oknie, która wybiera drugie okno-ponownie, traktując oba tak, jakby były częściami jednego dużego okna.
 241
Author: huaiyuan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-09 15:07:09

Używam tej funkcji do wywołania follow-mode, chociaż wymagałoby to dostosowania dla innego rozmiaru ekranu:

;;; I want a key to open the current buffer all over the screen.
(defun all-over-the-screen ()
  (interactive)
  (delete-other-windows)
  (split-window-horizontally)
  (split-window-horizontally)
  (balance-windows)
  (follow-mode t))
 16
Author: Kragen Javier Sitaker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-24 18:33:46

Wtyczka "Multipager" dla Vima może to zrobić z vim-ami dla osób, które chcą uzyskać takie zachowanie w Vim-ie.

Pobierz to ze strony Dr. Chip: http://mysite.verizon.net/astronaut/vim/index.html#MPAGE

Docs: http://mysite.verizon.net/astronaut/vim/doc/mpage.txt.html

 15
Author: bheeshmar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-23 22:22:29

Vim może to zrobić używając :vsplit - i możesz mieć ten sam bufor otwarty w wielu " oknach "(które są w rzeczywistości sekcjami w jednym"oknie").

Dokumentacja tutaj

 2
Author: inkedmn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-09 14:16:23

Szybkie spojrzenie na Emacs wiki nie pokazuje takiego trybu jak opisujesz. Jednak nie powinno być zbyt trudne do napisania... Wystarczy podzielić okno za pomocą C-x 3 i przenieść tekst w drugim oknie w dół, a za każdym razem, gdy przeniesiesz tekst, zrób to samo do drugiego okna...

Problemy mogą wystąpić, gdy dotrzesz do dolnej części bufora, czy chcesz, aby kursor natychmiast przeszedł do drugiego okna na górze?

Hmm, może to nie takie proste. Ale i tak powinno być wykonalne...

 -1
Author: Brian Postow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-09 14:59:56

Jest to domyślne zachowanie Emacsa podczas dzielenia okna (C-x 3 dla podziału pionowego) otrzymasz dwie kolumny, które mają otwarty Bufor

 -5
Author: second,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-09 14:12:54

Użyj podziału pionowego z C-x 3. Spowoduje to podział bieżącego bufora na dwie kolumny, między którymi można przełączać się za pomocą C-x o.

 -7
Author: Nathaniel Flath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-09 14:17:32