Как стать автором
Поиск
Написать публикацию
Обновить
0.15

Emacs *

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

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

Как насчёт чёрно-белой (grayscale) темы? Недавно я озадачился вопросом: насколько вообще читаем программный код на разных языках, если отключить подсветку? Попробовал просматривать код в простом редакторе без подсветки на таких языках как: C, Lisp, Python, Haskell, Agda, Assembler и пришёл к некоторому выводу... Но тут я не про это: мне показалось, что движение за отказ от синтаксической подсветки кода слишком радикален и неразумен. Зато я вспомнил, что раньше в продвинутых редакторах текста и средах разработки поставлялись чёрно-белые темы. Поискал такую для GNU Emacs и не нашёл подходящую, как ни странно. Попалось несколько тем, авторы которых декларировали, что это то, что мне нужно, но на поверку выходило, что не так. Либо это были на самом деле цветные темы, либо способ расцветки серым мне совсем не нравился. В итоге я потратил три вечера на то, чтобы разработать свою тему, точнее две: светлую и тёмную. Я никогда до этого не разрабатывал тем, поэтому первый вечер потратил на эксперименты, взяв за основу одну из найденных тем. Второй вечер я посвятил написанию светлой темы с нуля, ну а третий --- на то, чтобы конвертировать светлую тему в тёмную и опубликовать результат в репозитории. Вот что получилось:

Светлая версия
Светлая версия

С тёмной версией можно ознакомиться на страничке темы. Лично мне светлая тема нравится больше тёмной, а при создании её дизайна я вдохновлялся книгами по математике и программированию. Откуда и данное ей мною название: Book Like, то есть "Как в книге".

Установить тему можно непосредственно из репозитория:

(package-vc-install '(book-like-themes :url "https://github.com/easimonenko/book-like-themes"))

Тема покрывает не все режимы, естественно, а только font-lock, company, magit, org, да и те не до конца. Если тема приживётся, буду дорабатывать и добавлять поддержку других режимов. А может кто из вас захочет прислать свои доработки в Pull Requests, кто знает?

Пишите в комментариях, как вам такое, знаете ли или может быть уже используете чёрно-белую тему, и нужна ли статья про создание собственных тем для GNU Emacs? Кстати, а что вы думаете про читаемость программного кода без применения подсветки?

Репозиторий кода темы: https://github.com/easimonenko/book-like-themes

Теги:
+2
Комментарии0

GNU Emacs 31: новые возможности по управлению окнами

В новой версии Emacs появились долгожданные функции по управлению окнами: вращение буферов по окнам, вращение раскладок и обмен между левой и правой половинами фрейма (как в Norton Commander и Midnight Commander). Подробности в статье.

Источник: https://www.reddit.com/r/emacs/comments/1jqfivv/emacs_31_new_window_commands/

Теги:
Рейтинг0
Комментарии0

Мультиязычная проверка орфографии в Emacs.

(with-eval-after-load "ispell"
  ;; Configure `LANG`, otherwise ispell.el cannot find a 'default
  ;; dictionary' even though multiple dictionaries will be configured
  ;; in next line.
;;  (setenv "LANG" "en_US.UTF-8")
  (setq ispell-program-name "hunspell")
  (setq ispell-dictionary "ru_RU,en_US")
  ;; ispell-set-spellchecker-params has to be called
  ;; before ispell-hunspell-add-multi-dic will work
  (ispell-set-spellchecker-params)
  (ispell-hunspell-add-multi-dic "ru_RU,en_US")
  (ispell-hunspell-add-multi-dic "en_US,ru_RU")
  )

  ;; For saving words to the personal dictionary, don't infer it from
  ;; the locale, otherwise it would save to ~/.hunspell_de_DE.
(setq ispell-personal-dictionary "~/.hunspell_personal")

;; The personal dictionary file has to exist, otherwise hunspell will
;; silently not use it.
(unless (file-exists-p ispell-personal-dictionary)
  (write-region "" nil ispell-personal-dictionary nil 0))

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

NeoVim: Ускорь свою разработку

Взято с https://in.pinterest.com/pin/beware-to-all-vim-programmers--1074249317335744187/

Этот пост отсылается на мою статью. Если Вы хотите почитать про NeoVim больше, смело переходите по этой ссылке: https://habr.com/ru/sandbox/219656/

Скорее всего, если у Вас Linux, то Вы пользовались каким-либо текстовым редактором по типу Vim, Nano, Emacs. Что из них лучше, можно спорить бесконечно (Vim выиграет). Даже если Вы пользуетесь одной из этих программ, наверняка для написания кода Вы используете полноценную IDE. Сейчас я попытаюсь Вас заставить побудить пересесть на Vim, а точнее на NeoVim с Вашей любимой IDE, вроде JetBrains IDE или VSCode.

Я пользуюсь NeoVim. Перед ним я пользовался VSCode, а так же JetBrains IDE в виде GoLand, так как мой основной язык программирования - Golang. Сравнив их, я смело говорю, что если не NeoVim, то VSCode. С JetBrains IDE отдельная история, там сначала больше половины ОЗУ тратилось, а потом еще и AI подсказки перестали нормально работать. Если Вам нравится JetBrains IDE только из-за AI-подсказок, то удаляйте его, скачивайте NeoVim и прикручивайте к нему AI. Это можно сделать и у меня самого стоит Codeium для этого случая.

Возможно Вы скажете, что Вам лень настраивать NeoVim. Я Вам скажу, что при желании настраивать надо будет только подсказки для вашего ЯП. У меня установлен NVChad, но Вы можете установить тот же Lunar Vim. Установив, Вы можете настроить все кнопки под себя(это не сильно сложно).

Сделав это, Вы получаете огромный выигрыш в скорости и удобстве. Пробуйте NeoVim!

Теги:
Всего голосов 5: ↑3 и ↓2+4
Комментарии13