# Emacs
vit01(mira, 1) — All
2016-04-09 17:38:27


Попробовал SLIME. Удобная штука. С Емаксом работать пока сложновато, но буду как-нибудь привыкать.

Как в сабже нормально настроить русскую раскладку? Просто сочетания клавиш работают только на английской.

# Re: Emacs
Andrew Lobanov(station13, 1) — vit01
2016-04-09 18:30:12


vit01> Попробовал SLIME. Удобная штука. С Емаксом работать пока сложновато, но буду как-нибудь привыкать.

Прикол в том, что Emacs это далеко не только тектосвый редактор. Так что посмотри в сторону других его возможностей при случае. А удобнее SLIME я действительно ничего ещё в разработке не встречал.

vit01> Как в сабже нормально настроить русскую раскладку? Просто сочетания клавиш работают только на английской.

А вот не знаю. С другой стороны, команды в vim тоже на английской раскладке надо вбивать. Так что переключение раскладки уже в подкорке. Но если нагуглишь решение, то делись.

# Re: Emacs
vit01(mira, 1) — Andrew Lobanov
2016-04-10 01:15:01


AL> С другой стороны, команды в vim тоже на английской раскладке надо вбивать.

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

# Re: Emacs
btimofeev(station13, 13) — vit01
2016-04-10 06:38:58


vit01> С Емаксом работать пока сложновато, но буду как-нибудь привыкать.

Я сам не пробовал, но говорят там есть неплохой vi-mode. Evil кажется называется.

# Re: Emacs
vit01(mira, 1) — vit01
2016-04-10 10:52:14


vit01> В vim есть специальный костыль (уже из коробки), который позволяет держать в иксах английскую раскладку (для команд и клавиш), а сам текст документа вводится по-русски.

Проблема решена. Добавляем в init-файл вот эту строку

(setq default-input-method "cyrillic-jcuken")

и получаем поведение, аналогичное виму. Внутреннее переключение будет по Ctrl+\

# Re: Emacs
vit01(mira, 1) — btimofeev
2016-04-10 10:52:14


btimofeev> Я сам не пробовал, но говорят там есть неплохой vi-mode. Evil кажется называется.

В этом нет необходимости. Если будет всё так, как привык, тогда лень одолеет и в других вещах.

Помню, как раньше пробовал редактор vile. Что-то среднее между vim и emacs. Забавный, конечно, но не очень удобный.

# Re: Emacs
vit01(mira, 1) — Andrew Lobanov
2016-04-10 11:03:14


AL> Прикол в том, что Emacs это далеко не только тектосвый редактор. Так что посмотри в сторону других его возможностей при случае.

Про возможности этого комбайна ходят легенды :) Это же как целая ОС.

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

# Re: Emacs
btimofeev(station13, 13) — vit01
2016-04-10 12:32:54


vit01> В емаксе есть свой язык программирования, почтовый клиент, читалка новостей, текстовый браузер, игры, календарь, пакетный менеджер, эмулятор терминала и многое другое.

Я когда его запустил впервые и увидел там игры - удивился.

Ещё org-mode в нем довольно крутой. Надо как-то познакомиться с ним поближе.

# Re: Emacs
Andrew Lobanov(station13, 1) — vit01
2016-04-10 14:42:27


vit01> Думал, что в емаксе что-то подобное, вот и спросил.

Учитывая мой опыт "я ещё только сформулировал хотелку, а для emacs её уже написали" наверняка есть что найти.

# Re: Emacs
Andrew Lobanov(station13, 1) — btimofeev
2016-04-10 14:42:27


btimofeev> Ещё org-mode в нем довольно крутой. Надо как-то познакомиться с ним поближе.

В своё время это послужило причиной моего перехода с вима.

# Re: Emacs
Difrex(mira, 14) — vit01
2016-04-12 08:05:01


Я вот так и не осилил емакс. Для больших проектов использую Sublime Text 2, для мелких скриптиков -- vim.

# Re: Emacs
vit01(mira, 1) — Difrex
2016-04-12 08:47:39


Difrex> Я вот так и не осилил емакс. Для больших проектов использую Sublime Text 2, для мелких скриптиков -- vim.

А в чём фишка Sublime и его клонов?

Вот vim хорош сочетаниями клавиш и минимализмом, емакс - многофункциональностью и интеграцией с Лиспом.

// на десктопе, скорее всего, перейду на емакс, а на телефоне и сервере оставлю вим; вообще не понимаю срачи по этим редакторам

# Re: Emacs
Andrew Lobanov(station13, 1) — vit01
2016-04-12 09:57:32


Difrex>> Я вот так и не осилил емакс. Для больших проектов использую Sublime Text 2, для мелких скриптиков -- vim.

> А в чём фишка Sublime и его клонов?

В том, что он очень удобен из коробки (i3wm, кстати, этим же славится), встроенный питон и некоторая схожесть с TextMate. Я на нём сидел около года и в принципе остались вполне приятные впечатления. А вот киллер-фич вспомнить не могу.

# Re: Emacs
Difrex(mira, 14) — vit01
2016-04-12 15:47:16


>А в чём фишка Sublime и его клонов?
Клоны - отстой.

Фичи:
* настраиваемость всего и вся
* приятные кейбиндги для любого языка по-дефолту
* отличная интеграция с perl :)
* нормальное multiline редактирование
* работает реактивно(быстрее вима с кучей плагинов для достижения той же функциональности)

Даже подумываю купить его, хотя можно и так пользоваться - лицензия не запрещает.

# Re: Emacs
vit01(mira, 1) — Difrex
2016-04-12 16:36:14


Difrex> * нормальное multiline редактирование

Что под этим имеется в виду?

Difrex> Даже подумываю купить его, хотя можно и так пользоваться - лицензия не запрещает.

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

# Re: Emacs
Andrew Lobanov(station13, 1) — vit01
2016-04-12 16:43:21


Difrex>> * нормальное multiline редактирование
vit01> Что под этим имеется в виду?

Это такой режим редактирование, когда несколько курсоров одновременно реагируют на нажатия клавиш. После освоения регулярок уже не так нужно по большей части. Хотя в ряде случаев мжет быть удобно. Особенно для любителей хардкода =)

// В emacs есть расширение для этого. По мне так не хуже саблаймовского режима, но я не сильно вникал.

Difrex>> Даже подумываю купить его, хотя можно и так пользоваться - лицензия не запрещает.
vit01> Помню, что когда они выпустили третью версию, многие негодовали из-за нововведений и из-за проприетарной лицензии. Именно это меня и отпугнуло от того, чтобы его попробовать.

У него изначально проприетарная лицензия. Мне ещё вторая версия предлагала приобрести лицензию. Но ценник негуманный за такой редактор ИМХО.

# Re: Emacs
Difrex(mira, 14) — Andrew Lobanov
2016-04-13 12:48:01


>Но ценник негуманный за такой редактор ИМХО.
Ценник высок, да. Но редактора лучше я пока не нашел.

ЗЫ: Может подскажете мне по настройке Емакса что-нибудь? Гайды там кикие-нибудь?

# Re: Emacs
Andrew Lobanov(station13, 1) — Difrex
2016-04-13 13:08:48


Difrex> ЗЫ: Может подскажете мне по настройке Емакса что-нибудь? Гайды там кикие-нибудь?

Гайдов море на той же хабре. Только вот настройка такого монстра, как Emacs, это дело достаточно индивидуальное. Смотря что ты от него хочешь.

// В плане редактирования кода мне хватает просто дополнительных режимов (mode). Собственно, lua-mode и php-mode. Ещё отключены меню, тулбар и скроллбар. На F8 навешан linum-mode (нумерование строк для удобной навигации по коду) и включен автометом visual-line-mode (перенос по словам).

;; Добавляем пути для поиска нужных библиотек и расширений
(add-to-list 'load-path "~/.emacs.d/lisp/lua-mode/")
(add-to-list 'load-path "~/.emacs.d/lisp/php-mode/")

;;;
;;; Appearance
;;;
;; Disable GUI components
(tooltip-mode      -1)
(menu-bar-mode     -1) ; disable menu-bar
(tool-bar-mode     -1) ; disable tool-bar
(scroll-bar-mode   -1) ; disable scroll-bar
(blink-cursor-mode -1) ; disable cursor blink
(setq use-dialog-box     nil) ; disable gui dialogs
(setq redisplay-dont-pause t) ; better buffer draw
(setq ring-bell-function 'ignore) ; disable bell
(setq inhibit-splash-screen   t) ; disable splash screen
(setq ingibit-startup-message t) ; disable startup message
(setq frame-title-format "GNU Emacs: %b") ; display the name of the current buffer in the title bar
(show-paren-mode t) ;; paren highlignt
(global-visual-line-mode t)
(setq column-number-mode t) ;; display column numver at modeline

;; Display current time in modeline
(setq display-time-string-forms
      '((propertize (concat "[" 24-hours ":" minutes "]"))))
      (display-time-mode 1)

;; Set font
(set-default-font "Terminus-12")

;; Load and set solarized color theme
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/solarized/")
(load-theme 'solarized-dark t)

;;;
;;; Lua & php modes
;;;
(require 'lua-mode)
(require 'php-mode)

;;;
;;; Other
;;;
(delete-selection-mode t) ; delete selection by input new character

;; Disable backup/autosave files
(setq make-backup-files        nil)
(setq auto-save-default        nil)
(setq auto-save-list-file-name nil)

;; Scroll settings
(setq scroll-conservatively 50)
(setq scroll-margin 0)

;; Clipboard settings
(setq x-select-enable-clipboard t)

Ещё забыл сказать, что для программирования у меня установлена и настроена SLIME:

;;;
;;; SLIME
;;;
(add-to-list 'load-path "~/.emacs.d/lisp/slime/")
(require 'slime)
(setq inferior-lisp-program "/usr/bin/sbcl")
(setq slime-contribs '(slime-fancy))

и небольшое расширение для удобства написания игр на движке INSTEAD:

;;;
;;; Instead mode
;;;
(load "~/.emacs.d/lisp/emacs-instead/emacs-instead.el")
(global-set-key (kbd "<f4>") 'instead-goto-room)
(global-set-key (kbd "<f5>") 'instead-goto-obj)
(global-set-key (kbd "<f6>") 'instead-goto-dlg)
(global-set-key (kbd "<f7>") 'instead-start)

Остальная часть конфига к редактированию текстов не относится совершенно =)

# Re: Emacs
vit01(mira, 1) — Andrew Lobanov
2016-04-13 14:00:30


AL> Только вот настройка такого монстра, как Emacs, это дело достаточно индивидуальное. Смотря что ты от него хочешь.

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

#!/bin/bash

if [ "`pgrep emacs`" = "" ]; then
	emacs --eval "(server-start)" $1 & exit
else
	emacsclient --no-wait $1
fi

Vim, кстати, тоже умеет работать по принципу клиент-сервер, но поддержка этой фичи отсутствует в стандартной версии из репозиториев Арча (а пересобирать лень).

# Re: Emacs
Difrex(mira, 14) — Andrew Lobanov
2016-04-14 10:50:06


А можно ли в емаксе пилить свои комбинации клавишь не на Fx?
И еще: хочу выделять несколько строк, а поотом двигать их по тексту через C-Shift Up/Down. Можно такое сделать?

# Re: Emacs
Andrew Lobanov(station13, 1) — Difrex
2016-04-14 11:20:05


Difrex> А можно ли в емаксе пилить свои комбинации клавишь не на Fx?

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

Difrex> И еще: хочу выделять несколько строк, а поотом двигать их по тексту через C-Shift Up/Down. Можно такое сделать?

Не сталкивался с такой необходимостью. Надо гуглить расширения.

# Re: Emacs
Difrex(mira, 14) — vit01
2016-04-18 15:20:55


Вроде настроил себе emacs => http://storage8.static.itmages.ru/i/16/0418/h_1460989184_8354350_36199cb938.png

Разбираюсь с org-mode.

Уже перешел с pidgin на jabber.el :D

# Re: Emacs
Andrew Lobanov(station13, 1) — Difrex
2016-04-18 15:43:52


Difrex> Вроде настроил себе emacs =>

Какой он у тебя гламурненький. Как такой modeline сделал?

Difrex> Разбираюсь с org-mode.

Это очень объёмная тема. По нему даже отдельная книга есть.

# Re: Emacs
Difrex(mira, 14) — Andrew Lobanov
2016-04-18 20:45:11


>Какой он у тебя гламурненький.
Смесь vim+sublime ^_^

>Как такой modeline сделал?
Поставил https://melpa.org/#/airline-themes и в M-X customize-themes выбрал подходящую тему

# Re: Emacs
Anotheroneuser(syscall,27) — Difrex
2018-05-17 08:00:02


Поскольку никак не могу разобраться, как здесь отвечать в конкретную тему, а не на конкретное сообщение, то буду отвечать на это сообщение, поскольку оно более подходит по смыслу.

Занят сейчас поиском учебного материала по EMACS и наткнулся на сетевой дневник Саши Чуа (любопытная и интеллектуальная филиппинка), где она опубликовала источники, подходящие для изучения EMACS на первых, вторых и т.д. порах: http://sachachua.com/blog/2014/04/emacs-beginner-resources/

Всё, разумеется, по-английски.