Как мне переместить буфер в spacemacs в другое окно / фрейм

16

Есть ли какая-либо привязка клавиш или функция для перемещения открытого буфера в другое окно или другой кадр в Spacemacs?

Бомбадил
источник

Ответы:

13

Похоже, что привязки клавиш были изменены в Spacemacs после ответа @ Nathanael.

Чтобы переместить буфер в другое окно, вы можете использовать SPC b [n](buffer-to-window- [n]), где n - номер окна, в которое нужно перейти.

Если вы хотите переместить окно , а не буфер (что имеет смысл в свете приведенных выше комментариев):

SPC w [H|J|K|L]

переместить окно влево | вниз | вверх | вправо соответственно.

ThomasH
источник
Спасибо за ответ! Последнее предложение - это фактический ответ на вопрос (и то, что я пришел сюда в поисках), и я чуть не пропустил его. Возможно, стоит поднять его на вершину или назвать лучше. :)
Ipsquiggle
4

В spacemacs (режим vim) вы можете нажать, SPC b m <your-direction>чтобы переместить буфер. <your-direction>возможно:

  • h осталось
  • j вниз
  • k вверх
  • l право

В режиме Emacs это должно быть M-m b m <your-direction>

Если вы хотите переключиться на «другой» фрейм, вы можете использовать SPC b M(или M-m b M).

(В общем, Emacs не накладывает никаких ограничений на количество окон / фреймов, в которых отображается буфер, поэтому вы можете просто переключиться на буфер в любом количестве окон / фреймов, которое вы хотите.)

Натанаэль Фарли
источник
и возможно ли переместить буфер в другой кадр? (в идеале было бы что-то сравнимое с тузом-окном для выбора целевого окна и рамки)
bombadil
1
Вы можете просто переключиться на буфер, когда находитесь в другом фрейме, хотя и не уверены, что для этого есть собственный способ Spacemacs.
Натанаэль Фарли
1
Возможно, чтобы уточнить, что я ищу: у меня есть буфер, открытый в одном окне, я хочу открыть его в другом окне и фрейме, закрывая его в текущем, так, чтобы у меня был буфер, открытый только в целевом окне и фрейме после переезда
бомбадил
1
Возможно, вам нужно что-то вроде того, SPC b Mчто помещает текущий буфер в «другой» кадр, а затем C-x 5 1удаляет все остальные кадры?
Натанаэль Фарли
1
Я не уверен, что это все еще допустимо - могли ли эти команды измениться, потому что, когда я пытаюсь использовать SPC b m(или посмотреть на команды, доступные в режиме буфера), это дает возможность уничтожить буферы (в частности spacemacs/kill-other-buffers), и не предлагает переместить текущий буфер. SPC b Mкажется, не привязан к какой-либо конкретной команде и переназначен SPC b m, как и раньше spacemacs/kill-other-buffers. Есть move buffer to windowкоманда, но, кажется, она не привязана ни к чему конкретному. Я не вижу ничего о кадрах.
mpacer