LINUX.ORG.RU

Несколько глупых вопросов по Emacs и org-mode

 ,


0

2

В недавней теме про roadmap мне несколько человек посоветовало org-mode для emacs. Решил наконец-то глянуть что это такое и остался впечатлён - поразительное сочетание простоты и функциональности. Заодно решил попробовать освоить и сам emacs - тоже весьма крутая и интересная штука, оказалось.

Только вот русскоязычные инструкции по различным мелочам найти тяжеловато - гугл из раза в раз выдаёт одни и те же статьи по основам для новичков. В связи с чем решил задать несколько вопросов, ответы на которые не удалось найти с наскока, тут. Со временем, конечно, может быть и сам бы разобрался, но хотелось бы привести редактор к юзабельному состоянию, дабы уже им пользоваться, постепенно привыкая.

Начну с общих вопросов по emacs:

  • Как задавать отдельные настройки для конкретных режимов, которые будут перебивать глобальные. Например, для org-mode отключить выделение текущей строки.
  • Не могу разобраться с назначением открытия файла на горячую клавишу. Пробую так:
    (global-set-key (kbd "<f5>") '(find-file ~/.emacs)
    не канает. Хотя (find-file ~/.emacs) для стартовой страницы в конфиге работает.
  • Подскажите плагин для стартовой страницы по типу startify для vim'a - отображает список последних открытых файлов и предопределённых закладок с возможностью вызова того или другого по горячим клавишам. Выглядит так. Пока пробую org-mode приспособить, но не особо получается из-за ряда моментов (ниже подробно расписал).
  • Как запретить быть активным окну в определённом режиме. Конкретно интересует minimap-mode - при переключении через C-x o иной раз попадаю на окно с minimap'ом, которое возвращает курсор на то, с которого был совершён переход, не давая переключиться на окно, для которого minimap и включается.
  • Как сделать, чтобы auto-complete дополнял пути в файловой системе где угодно, если «слово» началось с точки, тильды или слэша. В vim очень привык к этой фиче, а здесь срабатывает только в определённых местах.

По org-mode:

  • Можно ли сделать переход по ссылке, когда курсор находится на на ней самой, а не начале строки с ней? Т.е. чтобы на строке
    * [[file:~/.emacs][Конфиг emacs'a]]
    при нахождении курсора на звёздочке можно было открыть ссылку при нажатии C-c C-o. А то приходится курсор ещё по горизонтали сдвигать, что не удобно для стартовой страницы.
  • Как сделать, чтоб при открытии ссылки, файл по ней открывался в текущем окне, а не делился экран напополам с открытием файла в соседнем окне.
  • Можно ли вставлять пустые строки между двумя элементами одного уровня, не привязывая их к самим элементам. Т.е. чтобы вместо
    * aaa...
    * bbb...
    было
    * aaa
    
    * bbb...

И накидайте годных плагинов с краткими пояснениями для чего они (ну окромя evil-mode. Пока решил без него поработать, дабы емаксовые хоткеи запомнились).

Особенно интересует для работы с LaTeX и sh/bash скриптами.

★★★★★

(global-set-key (kbd «<f5>») '(find-file ~/.emacs)

(global-set-key (kbd "<f5>") 
                (lambda ()
                    (interactive)
                    (find-file user-init-file)))
Hertz ★★★★★ ()
Последнее исправление: Hertz (всего исправлений: 1)

отдельные настройки для конкретных режимов, которые будут перебивать глобальные

Например, так:

(define-key slime-mode-map (kbd "C-c <f5>") 'slime)

Hertz ★★★★★ ()

Как сделать, чтобы auto-complete дополнял пути в файловой системе где угодно

Не знаю как в auto-complete, но в company-mode всё работает так, как ты описал.

Hertz ★★★★★ ()

Как задавать отдельные настройки для конкретных режимов, которые будут перебивать глобальные.

В дополнение к mapping’ам, см. также (info "(emacs) Hooks").

отображает список последних открытых файлов

recentf-buffer.el?

Как запретить быть активным окну в определённом режиме. Конкретно интересует minimap-mode - при переключении через C-x o иной раз попадаю на окно с minimap'ом, которое возвращает курсор на то, с которого был совершён переход, не давая переключиться на окно, для которого minimap и включается.

Наверное, «как разрешить» вы имели в виду? То, что вы описали как раз походит на кустарный запрет окну быть активным.

Не знаю, не пользуюсь этой штукой, если никто другой так и не ответит — поставлю покопаюсь.

при переключении через C-x o

А вообще задолбаетесь. Возьмите window-numbering.el или что-то подобное.

Zmicier ★★★★★ ()
Последнее исправление: Zmicier (всего исправлений: 2)
Ответ на: комментарий от Zmicier

Наверное, «как разрешить» вы имели в виду? То, что вы описали как раз походит на кустарный запрет окну быть активным.

Нет. Тут смысл в том, что окно minimap активируется, но сбрасывает курсор обратно. А надо чтобы активировалось следующее за minimap'ом окно.

А вообще задолбаетесь. Возьмите window-numbering.el или что-то подобное.

Уже задолбался. Забубенил переключение на M-стрелки.

najlus ★★★★★ ()
Ответ на: комментарий от najlus

Тут смысл в том, что окно minimap активируется, но сбрасывает курсор обратно.

Не наблюдаю такого.

А надо чтобы активировалось следующее за minimap'ом окно.

У меня так и происходит.

GNU Emacs 26.0.50.1, Minimap 1.2.

Zmicier ★★★★★ ()
Последнее исправление: Zmicier (всего исправлений: 1)

Подскажите плагин для стартовой страницы по типу startify для vim'a - отображает список последних открытых файлов и предопределённых закладок с возможностью вызова того или другого по горячим клавишам.

Не стартовая страница, но рекомендую Helm. Это фреймворк для интерактивного completion'а вещей которые ты назвал (открытые буферы, недавние файлы, просто файлы), и для него есть расширение для самых разных целей (например, helm-git-grep - интерактивный grep по проекту).

unlog1c ★★★ ()
Последнее исправление: unlog1c (всего исправлений: 1)

Как задавать отдельные настройки для конкретных режимов, которые будут перебивать глобальные. Например, для org-mode отключить выделение текущей строки

либо *-mode-map для биндов(уже показали), либо хуки. например

(add-hook 'org-mode-hook (lambda () (hl-line-mode -1)))

Подскажите плагин для стартовой страницы по типу startify для vim’a - отображает список последних открытых файлов и предопределённых закладок с возможностью вызова того или другого по горячим клавишам.

хз, что там юзается в спейсмаксе, но я юзаю это, и мне удобно

LaTeX

auctex-mode. переплюнет любой редактор для теха

sh/bash скриптами

все очень плохо

f1u77y ★★★ ()
Ответ на: комментарий от f1u77y

sh/bash скриптами

все очень плохо

Поясните, пожалуйста.

Zmicier ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.