Показаны сообщения с ярлыком emacs. Показать все сообщения
Показаны сообщения с ярлыком emacs. Показать все сообщения

четверг, 25 июня 2009 г.

И последнее на сегодня - о крутом

Если бы я был крутым типа Гугла или Яндекса - одно из извращений "принимать на работу", которое бы я сделал (а ведь они, наверное, могут себе позволить мучать кандидатов хотя бы часик) - дать кандидату машину с установленным UNIX и emacs и попросить поиграть в игру dunnet. Даннет - это такой квест, где ты пишешь действия а робот тебе и отвечает. Если человек совсем не знаком с юниксами и устройством емакса - можно, конечно, рассказать ему, мол: "почти все в емаксе (в том числе dunnet) написано на лиспе и лежит себе спокойно скриптом", но так менее интересно.

Короче говоря копание в исходниках - ключ начального прохождения. Учитывая что лисп не очень популярен думаю в этом и будет вся соль.

Такое.

Емакс и буфер обмена

Так уж сложилось, что долго я мучался с копированием текста из емакса и вставкой того обратно, а решения тогда как-то не нашел. Приходилось пользоваться емаксом из терминала (gnome-terminal или tilda, к примеру), а затем копировать текст при помощи Ctrl+Shift+C. Не очень удобно на больших кусках текста, скажу я вам. Так вот, оказывается ооочень просто сделать так, чтоб емакс использовал буфер обмена операционной системы и при нажатии M-w на выделенном тексте он скопируется из емакса куда надо. Так я вернулся к графическому емаксу (который как-бы гуевый и умеет картинки показывать)). Вот что нужно написать в .emacs:
;;;; делаем чтоб можно было копировать из емакса во вне
(setq x-select-enable-clipboard t)

вторник, 25 ноября 2008 г.

Emacs - закрыть все буферы одной командой

Спасибо кое-кому за решение:

(defun close-all-buffers ()
(interactive)
(mapc 'kill-buffer (buffer-list)))


Вуаля!

четверг, 6 ноября 2008 г.

Обновился php-mode.el для emacs

Для замечательного редактора emacs вышла новая версия (1.5) php-mode.el. Что ж, php-mode в емаксе не очень хорош, скажем прямо, но радует что разработчики не стоят на месте а делают хоть что-то :-)

Если кто пишет в емаксе на пхп - поздравляю.

http://php-mode.sourceforge.net/
Если интересно чего нового - всё написано в файлике Changelog.

пятница, 19 сентября 2008 г.

Emacs + Python - автодополнение есть!

Раз и навсегда!

Дело в том, что до этого я писал на пхп в емакс и ни на что кроме как "умной подсказки" рассчитывать не приходилось. То, что многие называют автодополнением (по нажатию M-/ в емаксе) - туфта. А точнее - dabbrev-expand :-) Функция ищет слово в уже открытых буферах и "подсказывает" вам на лету. Независимо от языка разработки, времени суток и проч. Впринципе, очень хорошая вещь, часто хорошая и универсальная.

Но! Мне-то надо посмотреть автодополнение (или список методов, к примеру) экземпляра класса QString, импортированного из PyQt4.QtCore и я не собираюсь ничего открывать в буфере из этих файлов!

Решение: команда
python-complete-symbol

Делаем её бинд на свою любимую комбинацию (у меня - яблоко-пробел) в .emacs'е (после ?\s- - пробел):
(global-set-key [?\s- ] 'python-complete-symbol)

Вуаля!

Спасибо http://pylab.blogspot.com/2006/08/emacs-autocomplete-eldoc.html

четверг, 11 сентября 2008 г.

Emacs - убираем мусор при старте

Маленькая заметка. При запуске emacs вас встречает стартовая страничка и прочий открытый мусор. Я же давно хотел чтоб был открыт один пустой буфер *scratch* и ничего более. Спасибо emacs@conference.jabber.ru за решение (и еще много за что).

В свой .emacs пишем:


;;;; делаем чтоб при открытии emacs'а не было мусора, а был открыт только один буфер *scratch*
(setq inhibit-splash-screen t)



Готово :-)

вторник, 8 апреля 2008 г.

Emacs + php-mode - найден адекватный конфиг

Вот нашел прикольный конфиг, почти то что я хотел. Как для емакса (теперь он черненький), так и для php-mode. Просто дописал конфиг в свой .emacs

Конфиг здесь: http://www.moxleystratton.com/article/dot-emacs

понедельник, 7 апреля 2008 г.

Emacs: Работаем с файликами в cp1251

Так случилось, что рабочие проекты у нашей конторы еще с незапамятных времен в cp1251. И переводить их в utf8 напряжно (да и ладно уже, че уж ради меня одного, если всем нормально работается :-)

Вот нашел статью, которая мне помогла: http://emacswiki.org/cgi-bin/wiki/GnuEmacsRussification
Собственно, первую половину того что сказано я не делал (там что-то со словами koi8-r, я боюсь)), а вот второй кусок дописал и все заработало.

Итак, в ~/.emacs дописываем:
;; Create Cyrillic-CP1251 Language Environment menu item
(set-language-info-alist
"Cyrillic-CP1251" `((charset cyrillic-iso8859-5)
(coding-system cp1251)
(coding-priority cp1251)
(input-method . "cyrillic-jcuken")
(features cyril-util)
(unibyte-display . cp1251)
(sample-text . "Russian (Русский) Здравствуйте!")
(documentation . "Support for Cyrillic CP1251."))
'("Cyrillic"))


И теперь у нас есть в Options->Mule->Set Language Environment->Cyrillic->Cyrillic-CP1251. Жмем на него и открываем наши файлики в cp1251. Ура! Еще один шажок к захвату вселенной.

суббота, 5 апреля 2008 г.

Emacs + выделение шифтом и стрелками

Так, чисто чтоб не потерять команду, запишу сюда (для того этот блог изначально и был, впринципе, создан).

[зачеркнуто]
Чтоб выелять текст зажав shift и двигая стрелочки надо в емаксе сделать
M-x pc-selection-mode

Шифт и стрелочки - гораздо быстрее мышки.
[/зачеркнуто]

[еще раз рачеркнуто]
Еще раз подтвердилась старая английская поговорка: "из двух зол не выбирают ни одного". Нашлось "золотое решение" чтоб перемещаться привычным образом и начинать выделение клавишами Ctrl+пробел:
M-x transient-mark-mode
[/еще раз зачеркнуто]

Нашлось еще более золотое решение. Для визуального выделения надо просто два раза нажать
Ctrl+Space

четверг, 3 апреля 2008 г.

(X)Emacs + Русские буквы + Квадратики

Вот начал изучать емакс. Приятная штука, да вместо русских букв все квадратики рисовал. Подсказали мне в чате linuxportal.ru, что это из-за локали может быть. Ну я пошел гуглить насчет ru_RU.utf8+emacs... Оказалось что не в локали дело (под иксами она не важна в емаксе), а в том, что шрифты нужные не установлены.

В общем, вот решение -> http://www.gentoo.ru/?q=node/8497

А конкретно:

в файле ~/.XResources
Emacs*font: -*-*-medium-r-normal-*-14-*-*-*-*-*-iso10646-1

В файле ~/.emacs
(set-default-font "-*-*-medium-r-normal-*-14-*-*-*-*-*-iso10646-1")

(set-language-environment 'UTF-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(prefer-coding-system 'mule-utf-8)
(setq default-input-method 'russian-computer)

(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))