Как стать автором
Обновить
4.72

Emacs *

Семейство расширяемых текстовых редакторов

Сначала показывать
Порог рейтинга
Уровень сложности

Весь мир в файле .org: Как использовать Emacs для заметок

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.5K

В этой статье мы рассмотрим, как организовать систему для ведения заметок с помощью Emacs и Org-mode. Мы обсудим базовую настройку Emacs для работы с заметками, а также предложим структуру, которая позволит эффективно управлять информацией и проектами. Эта система будет гибкой и легко адаптируемой под ваши нужды, позволяя вам создать персонализированное рабочее пространство.

Читать далее

Новости

Управление пакетами в Emacs: Хороший, плохой, злой

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров959

Здравствуй читатель! Если ты пользователь редактора Emacs, то данная статья для тебя, в ином случае, можно проходить мимо, так как тема достаточно узкоспециализированная.

Меня зовут Вознесенский Михаил. Я являюсь руководителем группы разработки продукта RuPost в компании РуПост которая входит в состав Группы Астра (смотри не перепутай 😄).
В ходе своей деятельности я сталкивался со множеством текстовых редакторов/IDE и на данный момент остановился на Emacs. Не смотря на всю его мощь, у редактора имеется очень серьёзная проблема которая мешает нормальной продуктивной деятельности - управление расширениями.

В ходе своего исследования данного вопроса я наткнулся на статью за авторством Божидара Бацова (Bozhidar Batsov). Человек, который называет себя хакером и фанатиком Emacs, но так же является автором конфигурационного фреймворка Prelude.
Статья написана в далёком 2012 году, но остаётся актуальной и по сей день!

Если ты дочитал до этого предложения и тебе всё ещё интересно, то ниже представлен мой перевод с дополнительными комментариями, а активную помощь в редактуре оказал мой коллега Анатолий Гайдай.

Читать далее

Вы неправильно настраиваете Emacs: не пытайтесь сделать из него что-то другое

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.8K

Сегодня разбираем, что не так с кривой обучения GNU Emacs, и почему многие бросают его, так и не разобравшись.

(goto-address-at-point)

Австралия, Лорд-Хау — самый странный часовой пояс

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров13K

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

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

Так что я предлагаю другой подход. В этой статье я покажу вам несколько странных часовых поясов, можно даже сказать самых странных — так как страннее, пожалуй, уже некуда.
Читать дальше →

Истории

GNU Emacs: вопроизводимая сборка всё ближе

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.8K

Одна из проблем GNU Emacs заключается в сложности создания воспроизводимой сборки. Разумеется, вы всегда можете сделать себе контейнер, и запускать Emacs с помощью Docker, Podman или даже Kubernetes... Но я сейчас не о таких сложных случаях.

Итак, суть проблемы: если создать файл init.el и отладить его, то через 2-3 месяца запуск с ним Emacs на другом компьютере с большой вероятностью приведёт к ошибкам установки или несовместимости пакетов.

В этой статье рассматривается использование возможностей встроенного пакета package-vc-install.el для решения описанной проблемы.

(goto-address-at-point)

Заметки на Emacs/Linux/Android

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6.7K

С давних-предавних времен я использую персональную информационную систему на основе org-mode, встроенном в Emacs. Накоплено очень много полезной информации. Адреса, различные заметки, дневники, ссылки, TODO-шки ну и так далее. И все было хорошо, но появились мобильные телефоны и планшеты. Захотелось одновременно иметь доступ к информации используя устройства на Android. После некоторой возни что-то получилось. Выношу получившееся на суд общественности.

Читать далее

Вы неправильно настраиваете Emacs: use-package

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.7K

О, use-package!

Это пакет, который буквально изменил всё. Если раньше init.el заполняли кодом в императивном стиле, то с появлением use-package очень многие пользователи Emacs стали описывать свои настройки в декларативном стиле.

Пакет оказал настолько большое влияние на управление настройками Emacs, что начиная с Emacs 29 use-package стал встроенным (builtin), т. е. уже не требует установки вручную (хотя его всё ещё можно установить или обновить из других источников).

На сайте документации GNU есть целый раздел, посвящённый use-package, и вроде бы всё хорошо, но... Я бы тогда не написал эту статью.

(goto-address-at-point)

Вы неправильно настраиваете Emacs

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров2.5K

Я давно пользуюсь Emacs, и уж поверьте мне на слово, знаю в нём толк. Однако, каждый день я вижу одни и те же типовые ошибки в init.el. И что самое главное, они из года в год кочуют из одного init.el в другой, от профессионалов к новичкам.

В этой статье я разберу две самых часто встречающихся ошибки в настройке Emacs.

Читать далее

Принципы работы интегрированных сред разработки

Время на прочтение7 мин
Количество просмотров3.6K
Вот некоторые принципы работы IDE (интегрированных сред разработки), которые, на мой взгляд, нужно зафиксировать:

Принцип минимальной навигации


Навигация в IDE раздражает. В тексте, конечно, можно выучить все причудливые навигационные сокращения типа C-a M-< M-f и так далее, но всё равно требуется немало набирать на клавиатуре. А если речь идет о навигации в файловой системе, то требуется еще больше ввода и поиска.

IDE должна минимизировать время, требуемое на навигацию. В частности, можно организовать автоматический импорт функции, когда пользователь набирает call-сайт, чтобы не переходить в верхнюю часть файла, чтобы добраться до импорта, или использование goto определения, чтобы не приходилось выяснять, в каком файле определен тот или иной класс.

Навигация также может быть связана с перемещением блоков кода, например, если вам нужно обратить оператор if, то это должно обеспечиваться на уровне кода, а не только при помощи манипуляций вручную.

Вы должны стремиться к тому, чтобы пользователи при наборе кода мыслили линейно. Вспомните, как современный траекторию набора текста, подобно тому, как современный ЦП-ориентированный код избегает ветвлений и переходов.
Читать дальше →

Книга «Изучаем vi и Vim. Не просто редакторы. 8-е изд.»

Время на прочтение14 мин
Количество просмотров14K
image Привет, Хаброжители!

Среди текстовых редакторов, используемых программистами, самыми важными является vi и его вариации. В обновленном издании пользователи Unix и Linux изучат основы редактирования текста как в vi, так и в Vim (vi improved), прежде чем перейти к более продвинутым инструментам в каждой из программ. Авторы Арнольд Роббинс и Элберт Ханна описывают основные новейшие версии Vim.

Если вы программист или компьютерный аналитик, либо работаете с веб- или консольными интерфейсами, Vim упростит решение сложных задач. Вы освоите многооконное редактирование, глобальный поиск/замену и прочие мощные инструменты для программистов, а также научитесь писать интерактивные макросы и сценарии, расширяющие возможности программы.
Читать дальше →

Знакомство с упорядочиванием в Emacs на примерах

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.9K

В этой статье мы разберём использование в Emacs различных команд для упорядочивания строк, абзацев и страниц. В руководствах к Emacs и Elisp эти команды описаны достаточно подробно, так что мы просто познакомимся с практическими примерами их применения.
Читать дальше →

Как написать свой режим для GNU Emacs и опубликовать его в MELPA

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров2.4K

Некоторое время назад я разработал режим GNU Emacs для редактирования конфигурационных файлов операционной системы Embox. Кроме всестороннего изучения Emacs Lisp мне потребовалось разобраться со структурой модуля режима, а также процессом и требованиями к публикации пакетов в MELPA, наиболее популярном архиве пакетов для GNU Emacs. В этом руководстве я расскажу, что нужно знать, чтобы написать свой собственный режим, и как опубликовать свой собственный пакет.

Запускаем свой Emacs!

«Грамотный DevOps»: пишем конфигурацию с помощью Emacs, Org и Jinja

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.2K

Если совсем коротко: «грамотный DevOps» (Literate DevOps) – это использование принципов «грамотного программирования» (Literate programming) для работы с инфраструктурой в виде кода. Термин Literate DevOps придумал Говард Абрамс, и он же показал, как реализовать его с помощью Emacs и Org.

Теперь подробнее.

Читать далее

Ближайшие события

Учимся заново печатать вслепую на раздельной клавиатуре

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров9.1K

Недавно я купил раздельную клавиатуру Kinesis Advantage 360, потому что заранее хочу позаботиться о здоровье своих запястий и нервов. Я запросто могу тратить по шестьдесят с лишним часов в неделю на игры, кодинг, работу и написание статей за клавиатурой, поэтому боль в запястьях мне знакома. Особенно там, где соединяются на правой руке большой палец и запястье. Кроме того, у меня немеют мизинец и безымянный палец из-за воспаления локтевого нерва. Боль уходит и возвращается, но я надеюсь, что занявшись эргономикой, я смогу существенно её уменьшить или полностью избавиться от неё. Пока мой опыт был вполне положительным, но в процессе у меня возникли сложности с эргономичной клавиатурой, которыми бы я хотел поделиться.
Читать дальше →

Воспитай свой второй мозг. Увеличь продуктивность

Время на прочтение9 мин
Количество просмотров79K

Наш мозг — крайне загруженная вещь. Наш мозг обрабатывает всю эту ежедневную суматоху: навестить бабушку, купить 100 500 продуктов в магазине, уповать о падении рубля и так далее. В этом урагане информации мы забываем по истине важные для нас вещи.

Хотели бы вы иметь второй мозг? Мозг, способный запомнить всё. Мозг, в котором содержится вся полезная информация из книг, статей, видео, полученная вами?

Звучит прекрасно, не так ли? Может, когда‑то и казалось сказками, однако не сейчас.

Хочу всё знать!

Программируем Arduino Uno на Rust: настраиваем среду и моргаем светодиодом

Время на прочтение8 мин
Количество просмотров17K

Кто-то из вас наверняка задавался вопросом: а нельзя ли программировать Arduino на чём-то более современном и удобном? Вот и я задавался. И нашёл Rust (не то, чтобы я о нём не знал). И на нём можно программировать микроконтроллеры AVR и платы Arduino, построенные на них. И здесь я расскажу о том, как настроить среду разработчика на Rust в Linux, GNU Emacs и Visual Studio Code и как запрограммировать Arduino Uno на моргание светодиодом.


#![no_std]
#![no_main]

use ruduino::Pin;
use ruduino::cores::current::{port};

#[no_mangle]
pub extern fn main() {
    port::B5::set_output();

    loop {
        port::B5::set_high();
        ruduino::delay::delay_ms(1000);
        port::B5::set_low();
        ruduino::delay::delay_ms(1000);
    }
}
Читать дальше →

Зачем нужен протокол языкового сервера (LSP)?

Время на прочтение10 мин
Количество просмотров13K

LSP (протокол языкового сервера) сегодня весьма популярен. Есть стандартное объяснение этого феномена. Возможно, ранее вам уже попадалась эта картинка, у нас также являющаяся заглавной.

Считаю, что такое стандартное объяснение популярности LSP – неверное. Ниже предложу вам альтернативную трактовку.

Читать далее

Как избавиться от Postman с помощью Emacs Org Mode

Время на прочтение12 мин
Количество просмотров5.6K

К старту курса по тестированию на Python при помощи шаблона Read the Docs, пакетов restclient, ob-restclient и Org Mode в Emacs напишем красивую, полезную документацию API, которая генерируется автоматически и легко отображается на статическом сайте.

Читать далее

Как я пишу на LaTeX в Emacs быстрее, чем от руки

Время на прочтение17 мин
Количество просмотров25K


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

Я работаю на LaTeX весь день: уравнения пишу так же быстро, как на бумаге. И даже быстрее. Почему? За размышлением всегда следует работа пальцев. И это — та ситуация, когда количество переходит в качество. Хотя мои рекомендации — лишь 90 % решения.
Читать дальше →

НЕ VIM, а круче (xah fly keys) или XAH FLY KEYS. Большой выпуск

Время на прочтение7 мин
Количество просмотров5.9K

Насколько я знаю многие программисты используют VIM, а некоторые также используют VIM, но они это делают в EVIL (злом) режиме, это значит, что эти люди понимают все прелести VIM (быстрое редактирование текста без использования мыши, наличие нескольких режимов и т.д.). Но также я знаю, что VIM был сделан несколько миллионов лет назад, для программистов того времени, поэтому VIM использует не все возможности которые мог бы, например: Клавиша для входа в командный режим находится фиг знает где, в самой жопе самом углу клавиатуры (и. да я знаю что это можно легко поправить в .vimrc), также если я захочу поменять свой редактируемый файл, то мне нужно:

Мне это интересно!