31 мая 2008 г.

Emacs

Две недели назад у меня сломался Eclipse. Чего-то он индексировал, нагревая процессор моего ноутбука, потом о чем-то задумался и упал. Больше я его запустить не смог. Мне это так надоело, я лениво полазил по форумам, лениво почитал лог-файл и понял, что дальше так жить нельзя.

Слышал я, что существует очень быстрая, нетребовательная к ресурсам, управляемая с клавиатуры среда разработки под названием emacs. Но "умные" люди говорят, что нужно очень много учиться, чтобы можно была начать пользоваться emacs. О нем говорят, что в нем есть все кроме текстового редактора. Все это меня от emacs'а отпугивало, но деваться было некуда, Eclipse не запускался, да и надоел он мне.

Оказался emacs не таким уж и страшным, как его малевали. Это обычный текстовый редактор, в нем работают все клавиатурные сокращения к которым ты привык. Выделение куска теста с Shift'ом, копирование и вставка клавишами Ctrl+Ins, Shift+Ins. Курсор нормально управляется стрелочками. У него есть меню. В общем ты его просто запускаешь и начинаешь в нем работать.

Он из коробки без всяких настроек умеет компилировать C/C++ код. И в тексте умеет показывать, где произошла ошибка. Он из коробки без всяких настроек умет работать в режиме отладчика. В общем, он просто работает. Он быстро запускается и быстро работает. Это просто редактор, который работает.

Для меня он немного нудобен, я бы хотел, чтобы компиляция запускалась нажатием одной кнопки. Я бы хотел переключаться между фреймами нажатием одной кнопки, я бы хотел чтобы дебагер запускался нажатием одной кнопки. Я хочу, чтобы работало автозаполнение, мне не нравиться как он делает отступы фигурных скобок. Умные люди утверждают, что это можно настроить. Я надеюсь, что это так.

29 мая 2008 г.

Emacs памятка

C-x C-f открыть файл
C-x C-s сохранить файл
C-/ отмена
C-k удалить строку
C-s поиск
C-e поиск назад
M-x pwd
M-x cd
C-x s сохранить все с вопросом
C-x C-c выход
M-x dired браузер каталогов
C-x C-d распечатка каталога
C-x b буфер RET
выбор буфера
C-x C-b список буферов
C-x k имя буфера RET
уничтожить буфер
C-x о выбрать другое окно
C-x 0 удалить выбранное окно
C-x 1 удалить все окна кроме выбранного
C-j RET+TAB
C-u команда
задать счетчик повторов
M-x gdb дебагер
M-x compile
компиляция
С-x 2
C-x 3 разбиение окна по горизонтали и по вертикали


Команды дебагера

C-x SPS установить контрольную точку
C-c C-s step
C-c C-n next
C-c C-f возврат
C-c C-r run
C-c C-d удалить контрольную точку