Блог пользователя Gerald

Автор Gerald, 13 лет назад, По-русски
    Наверное затронутая тема стара как наш с вами мир, но на кодифорсес (до сегодняшнего дня ничего подобного я не видел. 

    Итак...(барабанная дробь) всё началось с того, что я пересел на Ubuntu. И теперь вдохновленный идеями опенсорса качаю подряд весь софт, какой только непопадя, чтобы хоть как нибудь удовлетворить свои ненасытные потребности кодинга, серфинга и прочего прочего... 
    Как и полагается, очень долго и тщательно я выбирал редактор кода. И вот перепробовав целую кучу подобных редакторов, я остановил свой выбор...(и тут снова барабанная дробь) на Emacs... Не могу сказать, что emacs мне сразу понравился, честно говоря, удалял и устанавливал вновь его я где-то раза 2-3...=) В общем, я уже почитал достаточно манов, но хотелось бы услышать мнение сообщества... какие расширения, key биндинги, и прочие прелести настройки редактора используете вы? Хотелось бы услышать мнения метстных Гуру emacs о том как его надо настраивать и какие горячие сочетания клавиш использовать? В общем всё что может быть полезно начинающему emacsЕРУ пишите здесь... думаю это многим будет полезно... =)
  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Не emacsЕР, но линуксоид... собсно почему именно емакс? geany? eclips?
Чем руководствовались при выборе редактора?)
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Всё на самом деле очень просто, я хотел хороший консольный редактор. Я огромный поклонник Far и поэтому хотелось найти хоть что то похожее, для того чтобы кодить, Emacs вполне подходит.  Eclipse это полноценное IDE, в сравнении, Geany, наверное, нельзя назвать словом "полноценное" но это тоже как никак IDE. А я специально хочу работать в консольном текстовом редакторе, для того чтобы абстрагироваться от среды программирования... мне кажется это очень хороший навык уметь быстро кодить в любой среде + такой навык увеличивает скилы написания олимпиад. Потому что нет среды - нет дебага - привыкаешь сразу писать правильно -- становишься чемпионом мира хорошо пишешь контесты =))
    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Если ты поклонник Far, то попробуй mc.  Это некий аналог Far-а под Linux. У него достаточно приличный встроенный редактор с подсветкой синтаксиса, сохранением позиции курсора при выходе из редактирования, отображением пробелов и табуляций, также редактор можно вызывать не открывая сам mc командой mcedit. В mc можно настроить ассоциации для файлов по расширению, примерно также как в Far-е.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Редактор в mc нифига не приличный. :)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Согласен с mastersobgредактор и правда в mc не очень, в Far на порядок лучше, я считаю. Хотя, конечно, тоже вполне юзабельно, но как мне кажется использовать emacs это немного посолиднее что ли, даже слово не знаю какое подобрать. Дело в том , что emacs это небольшая подготовка к будушему =). Многие серьезные разработчики используют его как основной редактор для написания C-шного кода. Так что думаю это полезный опыт. =)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Подписываюсь. Для ACM ICPC я использую Eclipse, ибо Java. Хотя давно хочу для остальной деятельности юзать emacs. Особенно интересует именно организация процесса работы. 
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Кстати если начнешь всё таки писать в Emacs могу тебе на первое время (пока сам свои конфигурации не разработаешь) дать свой .emacs файл настроек. Там конечно нет ничего супер крутого, но всякие мелочи (типа человеческого Tab, нормального подсвечивания скобок, и пронумерованных линий) есть. Еще я вчера совершенно случайно наткнулся на замечательное расширение, которое сохраняет позицию редактирования при закрытии файла(оно еще много чего вроде сохраняет, но мне только это и было надо). Это очень удобно, отредактировал -- вышел из редактора --- запустил --- бага!! -- открываешь редактор и ты уже на том же месте где и раньше редактировал --- а вот и бага!!! -- подправляешь i на j получаешь аксептед =))
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Мне интересно: как компилируешь, как запускаешь, как отлаживаешь и т.д. :)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Значит делаю я всё следующим образом, компилирую я прям из emacs. Для этого нужно написать makefile и положить его в туже директорию, что и файл который компилируешь. Далее Meta-x compile. Точнее я сделал такой шорткат (global-set-key (kbd "\e\em") 'user-save-and-make-all) это позволяет компилировать нажав два раза Ecs и один раз букву m. Это достаточно удобно потому что у тебя появится буфер внизу со всеми ошибками ты можешь перейти в него по [Ctrl-x o] и нажатие на ошибку сразу перемещает тебя на нужную строчку. После того как скомпилировал запускаю из Midnight Commander просто тыкая на скомпиленный файл. Отлаживаю дебаг аутпутом, хотя вроде есть рлагин специальный для нормального дебага. Еще надо добавить, что очень удобно сделать такую штуку. Поставить в MC для файлов *.cpp ассоциацию на запуск emacs при нажатии на f4, и компиляцию принажатии на enter. Ты как будто пользуешься emacs заместо стандартного редактора mc. =) вот основное кажется всё. 
        • 13 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          Кстати, Makefile кажется не обязательно писать. Смотри:

          Makefile в temp нет.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            ну просто у меня в строке компиляции много опций всяких, поэтому я пишу makefile. а вообще, да, можно и без него, тогда правда если будешь переопределять комбинацию клавиш нужно немного по другому написать функцию user-save-and-make-all. Кстати я вот забыл написать что это не стандартная функция, её нужно на Лиспе самому написать. =) 
        • 13 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится
          Я далеко не гуру emacs'а но для контестов я делаю так: помимо Makefile'а в текущую директорию я кладу скрипт run.sh со следующим содержанием:

          #!/bin/sh

          ./<название программы> < input.txt

          И привязываю его запуск к какой-нибудь комбинации клавиш:

          (global-set-key [C-f10] '(lambda ()
                                     (interactive)
                                     (async-shell-command "./run.sh")))

          Получается досточно удобно. Скомпилировал одним хоткеем, запустил другим. Причем функция async-shell-command создает новый буфер и перенаправляет весь вывод на него, так что все результаты видны прямо из emacs'а!

          P.S. async-shell-command, насколько я знаю, есть не во всех версиях. Но вместо него можно использовать shell-command.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Слушай действительно удобно, надо попробовать. Вполне может прижиться =)
13 лет назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится