Главная проблема 9 каналов из 10, касающихся Emacs, заключается в том, что там обсуждают не Emacs.
По возможности избегайте чтения таких каналов: может сложиться впечатление, что Emacs состоит из одних только проблем.
org-mode
, DooM Emacs, Emacs Prelude, Evil, ошибки при работе фрагментов кода, взятых со StackOverflow, и хорошо если не из вопроса, а из ответов...По возможности избегайте чтения таких каналов: может сложиться впечатление, что Emacs состоит из одних только проблем.
👌7🙈3
Если вы до сих пор не используете Counsel, то самое время попробовать:
В Counsel встроено множество команд, заменяющих собой стандартные команды. Главное удобство заключается в поиске. Например,
Если вы ранее настроили Helm, не забудьте отключить часть его функций, чтобы не было конфликтов.
#counsel
;; 📦 COUNSEL
;; https://elpa.gnu.org/packages/counsel.html
;; Автодополнение на основе Ivy
(use-package counsel
:ensure t
:bind
(:map global-map
("M-x" . counsel-M-x)
("C-x C-f" . counsel-find-file)
("M-y" . counsel-yank-pop)
("C-h f" . counsel-describe-function)
("C-h v" . counsel-describe-variable)
("C-h l" . counsel-find-library)
("C-c c" . counsel-compile)
("C-c g" . counsel-git)
("C-x 8 RET" . counsel-unicode-char)))
В Counsel встроено множество команд, заменяющих собой стандартные команды. Главное удобство заключается в поиске. Например,
counsel-M-x
фильтрует записи по регулярному выражению прямо во время ввода команды!Если вы ранее настроили Helm, не забудьте отключить часть его функций, чтобы не было конфликтов.
#counsel
This media is not supported in your browser
VIEW IN TELEGRAM
Демонстрация работы
counsel-M-x
Пакет
Техписам тоже будет полезен при настройке тем AsciiDoc или Sphinx.
https://github.com/DevelopmentCool2449/colorful-mode
colorful-mode.el
обновился до стабильной версии 1.1.0
. Он используется для отображения цветов в буферах. Если вы часто работаете с CSS или HTML-кодом, то вам этот пакет будет полезен тем, что фон строки с кодом цвета типа #FF2200
будет иметь именно этот оттенок красного! Также пакет распознаёт коды типа cyan
, red
, black
и тому подобное.Техписам тоже будет полезен при настройке тем AsciiDoc или Sphinx.
;; 📦 COLORFUL-MODE
;; https://github.com/DevelopmentCool2449/colorful-mode
;; Отображение цветов прямо в буфере. Наследник `raibow-mode.el'.
(use-package colorful-mode
:ensure t
:hook ((css-mode
emacs-lisp-mode
web-mode) . colorful-mode))
https://github.com/DevelopmentCool2449/colorful-mode
GitHub
GitHub - DevelopmentCool2449/colorful-mode: 🎨Preview any color in your buffer
🎨Preview any color in your buffer. Contribute to DevelopmentCool2449/colorful-mode development by creating an account on GitHub.
А вы знали, что для ReStructured Text и Sphinx существует LSP-сервер? А он есть и называется Esbonio. Сегодня мне удалось его настроить вопреки инструкциям с сайта разработчиков, поэтому в ближайшем обновлении книги на Boosty будет целая глава про это. Всем остальным придётся ждать 3 месяца 😊
hl-line.el
— это встроенный пакет. Всё, что он делает — подсвечивает активную строку. Конечно, у нас есть Pulsar и Beacon, но hl-line-mode
не конфликтует с ними, а образует симбиоз. Единственное, что могу посоветовать — выбирайте тему оформления так, чтобы в ней подсвеченная строка нормально читалась. Например, в doom-monokai-pro
приходилось напрягать глаза, зато в ef-autumn
всё в порядке.(require 'hl-line)
(global-hl-line-mode 1)
Впрочем, с
use-package
тоже можно:(use-package hl-line
:config (global-hl-line-mode 1))
Telegram
GNU EMACS для технических писателей
Пакет pulsar.el обновился до версии 1.2.0. Что он делает? Он заставляет "вспыхивать" строки, на которых находится курсор. Допустим, вы переключились на другой буфер. Где сейчас находится курсор? Приходится искать или нажимать [C-l]. pulsar-mode подсветит…
👍2
На Boosty опубликовано техническое обновление книги. В AsciiDoc пустые строки являются частью синтаксиса, и иногда из-за этого одна глава "прилипает" к другой. Вставил пустые строки в начало, кажется, всех файлов, кроме
src/index.adoc
. Сейчас структура оглавления должна быть корректной. Обо всех найденных ошибках можете писать мне на почту dunmaksim@yandex.ru или в Telegram-канал с обсуждением книги.boosty.to
v25.02.20 - Максим Дунаевский
Техническое обновление, связанное с исправлением вёрстки.
👍3
В книгу вчера были добавлены описания того, как работать с окнами Emacs. Частично продублирую контент сюда.
[C-x 0] — закрыть активное окно.
[C-x 1] — сделать активное окно единственным. Все прочие окна будут закрыты.
[C-x 2] — разделить активное окно горизонтальной чертой.
[C-x 3] — разделить активное окно вертикальной чертой.
[C-x 4 1] и [C-x 4 4] — это префиксы. Указанная после них команда будет принудительно выполнена в том же самом окне или в отдельном соответственно. Кстати, существует несколько сокращений по умолчанию. Например, не нужно отдельно вызывать Dired, достаточно нажать [C-x 4 d], и указанный каталог будет открыт в новом окне.
[C-x 0] — закрыть активное окно.
[C-x 1] — сделать активное окно единственным. Все прочие окна будут закрыты.
[C-x 2] — разделить активное окно горизонтальной чертой.
[C-x 3] — разделить активное окно вертикальной чертой.
[C-x 4 1] и [C-x 4 4] — это префиксы. Указанная после них команда будет принудительно выполнена в том же самом окне или в отдельном соответственно. Кстати, существует несколько сокращений по умолчанию. Например, не нужно отдельно вызывать Dired, достаточно нажать [C-x 4 d], и указанный каталог будет открыт в новом окне.
👍2🔥1
Какое действие выполняет последовательность [C-x 4 f]?
Anonymous Quiz
8%
Запуск find-grep
63%
Запуск find-file
29%
Создаёт окно и перемещает в него курсор
Пожалуй, постановка последнего опроса не вполне корректна, ведь при выполнении
find-file-other-window
формально Emacs создаёт новое окно и перемещает в него курсор. Постараюсь в следующий раз формулировать вопросы и ответы без спешки.Надоело, что в русской раскладке не работает команда
dired-up-directory
, привязанная к [^]. Решил проблему радикально:(keymap-set dired-mode-map ":" 'dired-up-directory)
👍2🤯1
Последнее время дичайше обновляются разные пакеты:
1. Counsel и Ivy до 0.15.0. Используется для быстрого поиска. Может заменить собой [M-x], тогда команды можно будет искать не по начальным буквам, а по регулярным выражениям. Но не только их.
2. Eglot до 1.18. Это такая реализация интерфейса для LSP-сервера от проекта GNU.
4. Jinx до 1.12. Наконец-то нормальная проверка орфографии, в том числе для мультиязычных текстов. В отличие от Flyspell автоматически проверяет весь буфер, а не только введённые строки.
5. Org до 9.7.24. Про этот режим можно отдельную книгу написать. Органайзер, список дел, список задач и так далее.
1. Counsel и Ivy до 0.15.0. Используется для быстрого поиска. Может заменить собой [M-x], тогда команды можно будет искать не по начальным буквам, а по регулярным выражениям. Но не только их.
counsel-load-theme
отличная замена для load-theme
, а counsel-describe-function
— для describe-function
. Странно, что этот пакет (точнее, семейство пакетов) до сих пор не стали встроенными.2. Eglot до 1.18. Это такая реализация интерфейса для LSP-сервера от проекта GNU.
4. Jinx до 1.12. Наконец-то нормальная проверка орфографии, в том числе для мультиязычных текстов. В отличие от Flyspell автоматически проверяет весь буфер, а не только введённые строки.
5. Org до 9.7.24. Про этот режим можно отдельную книгу написать. Органайзер, список дел, список задач и так далее.
GitHub
GitHub - abo-abo/swiper: Ivy - a generic completion frontend for Emacs, Swiper - isearch with an overview, and more. Oh, man!
Ivy - a generic completion frontend for Emacs, Swiper - isearch with an overview, and more. Oh, man! - abo-abo/swiper
👍8
В разработке Emacs используется SemVer, но не совсем обычный. Версии с минорным
29.0 — для разработчиков;
29.1 — релиз;
30.0 — для разработчиков;
30.1 — релиз.
0
— это версии для разработчиков, а вот если минорная версия 1
и выше, то это уже считается релиз для повседневного пользования. Именно поэтому так странно выглядит история версий:29.0 — для разработчиков;
29.1 — релиз;
30.0 — для разработчиков;
30.1 — релиз.
👍8
Маленькая хитрость: в русской раскладке не работает сочетание [M-@], потому что при этом вводится не собака, а двойная кавычка. Но поскольку команда
mark-word
используется довольно часто, а сочетание [M-"] ни к чему не привязано, имеет смысл добавить в init.el
такую строку:(keymap-global-set "M-\"" 'mark-word) ;; Чтобы в RU раскладке тоже работало
👍1
В продолжение последнего поста надо бы объяснить, что такое метод ввода и чем он отличается от раскладки.
Раскладка — это размещение клавиш на клавиатуре.
Метод ввода — реакция компьютера на нажатие клавиш или их последовательностей. Например, в некоторых методах ввода последовательные нажатия нескольких клавиш приводят к вводу одного символа (или лигатуры).
Для Emacs "родной" является раскладка EN/US QWERTY. Все нажатия клавиш он по умолчанию обрабатывает только в этой раскладке. Если на уровне системы вы включите для окна Emacs раскладку RU, то сочетания клавиш перестанут работать.
Решений несколько:
1. Установите пакет
2. Используйте переключение методов ввода внутри Emacs вместо смены раскладки на уровне системы. При этом желательно настроить на уровне системы отдельную раскладку для каждого окна и сделать EN раскладкой по умолчанию.
Список методов ввода Emacs определяет автоматически на основе списка локалей, установленных в системе. Для некоторых локалей могут быть доступны несколько методов ввода, но активен будет только один, который по умолчанию.
Для смены метода ввода в Emacs нажмите [C-\]. В строке статуса появится дополнительная метка
Если вы работаете более чем с двумя методами ввода, для включения нужного используйте команду
Раскладка — это размещение клавиш на клавиатуре.
Метод ввода — реакция компьютера на нажатие клавиш или их последовательностей. Например, в некоторых методах ввода последовательные нажатия нескольких клавиш приводят к вводу одного символа (или лигатуры).
Для Emacs "родной" является раскладка EN/US QWERTY. Все нажатия клавиш он по умолчанию обрабатывает только в этой раскладке. Если на уровне системы вы включите для окна Emacs раскладку RU, то сочетания клавиш перестанут работать.
Решений несколько:
1. Установите пакет
reverse-im
. Это костыль, который не всегда работает хорошо. Например, [M-@] (mark-word
) работать не будет, ведь в русской раскладке вместо @
вводится двойная кавычка "
.
;; 📦 REVERSE-IM
;; https://github.com/a13/reverse-im.el
;; Чтобы сочетания клавиш работали в любой раскладке.
(use-package reverse-im
:ensure t
:custom
(reverse-im-input-methods '("russian-computer"))
:config
(reverse-im-mode 1))
2. Используйте переключение методов ввода внутри Emacs вместо смены раскладки на уровне системы. При этом желательно настроить на уровне системы отдельную раскладку для каждого окна и сделать EN раскладкой по умолчанию.
Список методов ввода Emacs определяет автоматически на основе списка локалей, установленных в системе. Для некоторых локалей могут быть доступны несколько методов ввода, но активен будет только один, который по умолчанию.
Для смены метода ввода в Emacs нажмите [C-\]. В строке статуса появится дополнительная метка
RU
. Ещё одно нажатие вернёт метод ввода к значению по умолчанию.Если вы работаете более чем с двумя методами ввода, для включения нужного используйте команду
set-input-method
[C-x RET C-\]. По умолчанию для русского языка доступны методы russian-computer
и russian-typewriter
(как на печатных машинках).❤5👍3