emacs-highlight-current-line

emacs-highlight-current-line

С этого поста я начинаю серию статей об использовании Emacs для разработки Python/Django/Web приложений.

Я заметил такую особенность человеческого мышления - когда предлогаешь человеку готовый конфиг (как и мой, находящийся в свободном доступе в SVN) - такое решение оказывается мало востребованным так как:

  1. Требует установки кучи дополнительных моделей - которые большинство новичков не могут осилить;
  2. Требует изучения всего-сразу - это значит серьёзной инвестиции по времени

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

Я буду постить те фичи которые мне показались очень удобными, нет никаких гарантий что они будут нужны каждому, но если работы ведутся в том же направлении (Web/Python), скорее всего это будет интересно.

Фича 1: highlight current line и типы курсора

Какое то время назад я скачал и пользвался highlight-current-line с emacswiki. Каково же было моё удивление когда я обнаружил что такая фича уже есть внутри Emacs. Настраивается она так (в .emacs):

; highlight current line
(global-hl-line-mode 1)

Ну и, соответственно задаём цвет:

(custom-set-faces '(hl-line ((t (:background "#5f5959")))))

вот собственно и всё :-)

Можно конечно настраивать всё это из Customize. Задать M-x customize-group<enter> и потом ввести имя: hl-line. Кстати, для новичком emacs, поясняю - M-x это Alt-X в понимании PC-пользователя

Фича 2: настраиваем внешний вид курсора

Как оказалось, курсор может быть вертикальным, горизонтальным, разных цветов и размеров. Я нашёл два интересных варианта.

Вариант 1:

(setq-default cursor-type 'hbar)

Вариант 2:

(setq-default cursor-type '(bar . 2))

Собственно если кого интересуют более "продвинутые" настройки курсора - надо жать M-x customize-group<enter> cursor, и играться. Я вообще поднял тему по курсору т к многие, посмотрев на мой редактор сразу говорят: "ух ты какой у тебя курсор" :-)

Дальнейшие планы

В ближайщее время планирую осветить следующие вопросы по работе Emacs (задавайте вопросы если интересно что то ещё):

  • поиск данных по файлу - очень удобная фича Emacs (во многих других редакторах это не так удобно)
  • как выделять, запоминать и пользоватся блоками в Emacs
  • поиск данных по всему проекту
  • запуск Python скриптов и отладка в Emacs
  • автодополнение названий переменных, файлов
  • Python+rope: прыжок в "место определения функции"
  • Python+rope: просмотр контестной документации в момент редакитрования
  • быстрый блокнот - пишем в emacs, а не на листиках
  • расчёт расходов в org - сводим дебет и кредит
  • создаём прототипы сайтов с помощью orgmode
  • прыгаем на запомненную позицию
  • меняем цвета и цветовые схемы
  • быстрый запуск
  • супер-быстрый переход между файлами, быстрое открытие файлов (ido-mode)
  • как разбить большой .emacs на много маленьких файлов по категориям (initsplit)
  • режим для редактирования конфигурационных файлов
  • специальный режим (не входит в поставку) для редактирования javascript
  • режим для apache
  • tips & tricks для Subversion
  • gnuserv - быстрое открытие файлов в той же сессии (почти мгновенное)
  • удалённое редактирование файлов, удалённая компиляция
  • заход черех ssh, потом sudo (частая задачка для FreeBSD users, зайти под пользвателем а потом sudo, и редактирование файлов)
  • встроенный файл менеджер - намного удобнее MC, TC для программистов
  • Tips & Tricks для редактирования HTML: автоформатирование, теги

Это краткий перечень небольших статеек (по 2-5 абзацев) на ближайшее время по Emacs. Надеюсь, кому то да будет полезно. А то… получается все говорят "монстр". А реально - пока лишних фич особо не замечал - в то же время как замечал полное отутствие многих удобств в других редакторах. Если пользватся тем что предоставляем Emacs - он становиться действительно очень удобным редактором.