Цифровой садик - приветственная

Цифровой садик - приветственная | Полный список всего, что тут есть | RSS | Подписаться через follow.it

28.12.2022

окошки емакса

Табы

В принципе, оба не использую. Но мож что поменяется ещё.

  • M-x tab-bar-mode adds tab-style window configurations to Emacs
    https://www.gnu.org/software/emacs/manual/html_node/emacs/Tab-Bars.html - табы, которые конфигурация окошек.
    • tab-bar-mode, похоже, почему-то не дружит с polymode. Получается застревание в каком-то из модов фрагментов файла, не обновляются клавиатурные привязки при выползании из такого фрагмента и всё такое. Досадно, так-то табы симпатичны.
      • 2022-12-28 - удалила polymode, снова пробую табы. Вроде, скорее неплохо :)
  • M-x tab-line-mode is a way of browsing visible buffers.
    https://www.gnu.org/software/emacs/manual/html_node/emacs/Tab-Line.html - табы внутри окошка для переключения буферов в нём.

winner-mode

(слегка переэтосамила абзац из https://www.gnu.org/software/emacs/manual/html_node/emacs/Window-Convenience.html#index-winner_002dmode)

Winner mode is a global minor mode that records the changes in the window configuration (i.e., how the frames are partitioned into windows), so that you can undo them.

You can toggle Winner mode with M-x winner-mode, or by customizing the variable winner-mode.

  • C-c left (winner-undo) undoes the last window configuration change.
  • C-c right (M-x winner-redo)redo the changes you had undone using.

To prevent Winner mode from binding C-c left and C-c right, you can customize the variable winner-dont-bind-my-keys to a non-nil value.

By default, Winner mode stores a maximum of 200 window configurations per frame, but you can change that by modifying the variable winner-ring-size.

If there are some buffers whose windows you wouldn’t want Winner mode to restore, add their names to the list variable winner-boring-buffers or to the regexp winner-boring-buffers-regexp.

кнопочки

C-x 0
закрыть окно (но не уничтожать буфер)
С-x 1
оставить только одно окно в актуальном фрейме
C-x 2
разделить окно по вертикали
C-x 3
разделить окно по горизонтали
C-x o
переход в другое окно
C-x +
выровнять размеры окон
C-x ^ или C-x -
окно выше/ниже
C-x } или C-x {
окно шире/уже
C-M-v
листать другое окно
C-x 4 b
выбрать буфер в другом окне

dedicated окна - прибить буфер к окну

  • dedicated-mode - закрепляет буфер (файл или иное содержимое) в конкретном окне.

A dedicated window confers the following benefits:

  • Switching buffers manually with C-x b fails with an error.
  • You can customize switch-to-buffer-in-dedicated-window and control how it behaves.

    • set it to pop, because you want it to open the buffer somewhere else instead.
    • But there’s also ignore, and it’ll ignore your switch;
    • nil, which raises an error and stops the switch;
    • and t, that undedicates the window and switches.

    Note that if you use custom completion frameworks that circumvent C-x b (switch-to-buffer) like Ido Mode it may not behave exactly this way.

  • Splitting a dedicated window with C-x 2 and C-x 3 fails with an error.
  • Emacs will not switch buffers in dedicated windows.

Функция set-window-dedicated-p, так сказать, дедикейтит. Она не пользовательская, так что предлагается сделать такую пользовательскую:

(defun mp-toggle-window-dedication ()
  "Toggles window dedication in the selected window."
  (interactive)
  (set-window-dedicated-p (selected-window)
     (not (window-dedicated-p (selected-window)))))

Здесь переключается между t и nil, в принципе набор вариантов шире, но варианты, отличающиеся от t, менее строгие.

side-окна

Располагаются сверху, сбоку, снизу — как укажешь — во всю ширину/высоту (по крайней мере, того окна, из которого это «боковое» позвали). Похожи на dedicated, но менее строги.

По каждой стороне есть ограниченное количество window-sides-slots, вроде как, желательно настроить это. Если места под такое боковое окно закончатся, то в существующем боковом окне будут меняться «претенденты» на него.

M-x window-toggle-side-window - показать или убрать все «боковые» окна.

One thing to be aware of is that, if you’re experimenting with windows, that the frame’s window state can get out of whack. The fix is to evaluate this form:

(set-frame-parameter (selected-frame) 'window-state nil)

Если у вас есть мысли, комментарии, предложения или отклики по поводу этой страницы или этого цифрового сада в целом, напишите мне сообщение через Яндекс.Форму или на agnessa@agnessa.pp.ru. Мне ооочень интересно!

Задонатить.


An IndieWeb Webring 🕸💍