Emacs: помогите мне разобраться с управлением файлами / буфером

30
задан Kirk Woll 9 April 2012 в 23:35
поделиться

6 ответов

Думаю, вам действительно понравится Идо за работу с несколькими буферами, имена которых вы не можете точно вспомнить. Когда вы набираете C-x b , он показывает список открытых буферов в наиболее часто используемом порядке. По мере того, как вы вводите некоторые символы в имени буфера, список фильтруется. Набираемые вами символы не обязательно должны быть в начале имени или должны быть смежными. Используя C-f , C-b или клавиши со стрелками влево / вправо, циклически переключаются между вариантами буфера.

Также см. Smex для Ido-подобных функций для M-x

Закрытие окон выполняется с помощью C-x 0 . Преднамеренное разделение окна выполняется с помощью C-x 2 для горизонтального, C-x 3 для вертикального. Мне нравится эта функция, поскольку она позволяет мне видеть тестовый и производственный код одновременно. C-x o переводит меня в другое окно.

17
ответ дан 27 November 2019 в 23:59
поделиться
  1. Привязать C-x C-b к буферу . Это лучшее средство для вывода списка буферов со многими расширенными функциями, и его поведение по умолчанию заключается в замене текущего буфера на список буферов, а затем закапывание списка при выборе буфера (оставляя вас с вновь выбранным буфером вместо буфера). оригинальный).

    Вы можете просто использовать C-x b , чтобы ввести свой выбор в мини-буфер, конечно; однако завершение табуляции (которое необходимо, чтобы сделать этот вариант жизнеспособным, IMO) временно открывает новое окно, и в этот момент, я думаю, вы могли бы также ознакомиться с чем-то с дополнительными функциями.

  2. Используйте a вместо RET при выборе из dired. Это убивает dired буфер вместо того, чтобы оставить его позади. C-h m в любом буфере покажет вам справку по его основному режиму (с последующей справкой по второстепенным режимам), и вы можете прочитать там обо всех доступных привязках клавиш dired.

  3. http://www.emacswiki.org/cgi-bin/wiki/TabBarMode ? (править: я предпочитаю ответ Реми на этот вопрос, но TabBarMode предоставил бы вам визуальный элемент вкладки, если бы вам это особенно нравилось.)

  4. q привязан к функции «выхода» во многих основных режимах .Обычно он закапывает буфер, а не убивает его, но я, конечно, нахожу это нормально.

Вкратце, по вопросу №1. В ibuffer есть множество замечательных функций, а M-x customize-group ibuffer RET даст вам некоторое представление о том, как вы можете настроить его по своему вкусу.

Кроме того, вы можете отфильтровать список буферов по многим критериям (опять же, используйте Ch m , чтобы увидеть его страницу справки), а затем сгенерировать определение «группы» из текущих фильтров и сохранить свой собственный фильтры и группы для будущего использования.

Например:

  • / f ^ / var / www / RET : отфильтровать список буферов, чтобы отображались только имена файлов, начинающиеся с / var / www / .
  • / s Веб-фильтры RET : назовите и сохраните активный набор фильтров в вашем файле инициализации.
  • / g Веб-разработка RET : создать именованную группу из активных фильтров.
  • / S Мои группы RET : назовите и сохраните определения групп в ваш файл инициализации.
  • / r Веб-фильтры RET : вызывать фильтры «Веб-фильтры».
  • / R Мои группы RET : вызвать группы «Мои группы».
  • RET для имени группы, чтобы свернуть или развернуть ее.
  • C-k и C-y , чтобы убивать и дергать группы, перестраивать их.
  • C-h m для получения дополнительной информации ...

Таким образом, вы можете запустить один экземпляр Emacs и создавать фильтры и группы для различных типов задач и легко переключаться между ними.

20
ответ дан 27 November 2019 в 23:59
поделиться

Я думаю, что наиболее полезным расширением номер один для пролистывания буферов является Anything . Он позволяет вам начать вводить часть имени буфера (или файла!), И он определит, что вы хотите. Я восстановил C-x b для чего угодно за буферы. Это делает жизнь намного лучше.

2
ответ дан 27 November 2019 в 23:59
поделиться

Как всегда, есть много способов помочь вам в этом; немного зависит от личных предпочтений, что работает лучше всего, вот несколько ссылок с пояснениями:

  • ibuffer ; который представляет собой обновленное меню буфера (C-x C-b)
  • ido , которое дает вам более мощное автозаполнение для переключения между буферами. Это своего рода «лучшая свича».

Этих двоих мне достаточно; но вас также может заинтересовать режим tabbar-mode , который дает вам элементарные вкладки (например, они есть в Firefox).

2
ответ дан 27 November 2019 в 23:59
поделиться

Я использую Cx right (или Cx C-right ) и Cx left (или Cx C-right ) для перехода к следующему и предыдущему буферу. Я больше не возражаю против нескольких буферов, которые лежат в Emacs, но вы можете использовать k в списке буферов, чтобы уничтожить буфер, который вы больше не используете.

4
ответ дан 27 November 2019 в 23:59
поделиться

Вы также можете попробовать режим Iswitchb , который обеспечивает автозаполнение имен буферов при переключении буферов с помощью C-x b .

Для активации:

M-x iswitchb-mode

Или добавьте в свой файл .emacs:

(iswitchb-mode)

Он похож на Ido mode для переключения буфера, но немного более легкий.

Кроме того, если вам нужен более настраиваемый список ваших буферов, используйте M-x bs-show в качестве альтернативы C-x C-b . В этом буфере введите ? , чтобы получить список действий, которые вы можете выполнить.

4
ответ дан 27 November 2019 в 23:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: