Комментарии 76
спасибо. то что надо. у меня уже была пара неудачных попыток познакомиться с Emacs'ом.
обязательно попробую, как будет время.
обязательно попробую, как будет время.
+3
«В отличие от vi, главная прелесть которого, на мой взгляд, в том, что в нём всё «из коробки» прекрасно настроено—бери да пользуйся, эмакс в своем изкоробочном состоянии далеко не так хорош и удобен, как мог бы быть.»
я бы кстати не согласился. не знаю как в сравнении с Emacs, но сам по себе vi (vim) вовсе не так уж хорош в изкоробочном состоянии. помнится, мой первый месяц работы сводился в основном к настройке и достройке (которая конечно и сейчас продолжается..)
я бы кстати не согласился. не знаю как в сравнении с Emacs, но сам по себе vi (vim) вовсе не так уж хорош в изкоробочном состоянии. помнится, мой первый месяц работы сводился в основном к настройке и достройке (которая конечно и сейчас продолжается..)
0
а ещё, меня давно мучает вопрос. вот в Emacs много комбинаций с естесвенной мнемоникой, а какая она у комбинации C-g?
0
Возможно, «Get out».
0
ну это странно. слово get само по себе слишком универсальное — в зависимости от того, что стоит после него, оно может означать совершенно разные вещи. в Vim'е например клавиша g имеет как раз смысл get и предполагает нажатие ещё одной клавиши, которая и определяет дейтсвие.
0
С мнемоничностью у vi куда лучше, чем у эмакса. Тем мне vi и нравится.
0
хех. ну я конечно не к тому, чтобы vi выпятить…
очень круто, когда мнемоничность сочетается с эргономичностью.
например клавиши C-p, C-n, C-b, C-f очень легко запомнить. но возможно ли пользоваться ими вместо стрелочек??
очень круто, когда мнемоничность сочетается с эргономичностью.
например клавиши C-p, C-n, C-b, C-f очень легко запомнить. но возможно ли пользоваться ими вместо стрелочек??
0
Emacs: почувствуй себя пианистом :) Статья о оригинальной клавиатуре под которую разрабатывались все хоткеи.
+3
С emacs связана очень забавная ситуация. Дело в том что иконку приложения к ней ( commons.wikimedia.org/wiki/File:Emacs-icon-48x48.png ) нарисовал человек по имени Жилин Андрей. И несмотря на то, что я также рисую иконки и интерфейсы для опенсорс проектов и зовут меня точно так же, но я — не он :) Это, канеш, удивительное совпадение.
0
S-Space
Очень умное автодополнение. Иногда достаточно просто раз пять нажать эту комбинацию и программа чудесным образом напишется сама.
Эмааакс! :)
Спасибо за статью, попробуем этот пакет.
+3
Почитал древний мануал. На оригинальной клавиатуре Backspace был на месте Caps Lock. Вместо C-w сейчас бы получился M-Caps Lock.
0
А вы не в курсе, как решить ситуацию с не-ascii именем пользователя в системе (Vista Home Premium). Из-за этого просто не могут открыться файлы в .emacs.d. Может, где-то кодировку нужную включить?
+2
НЛО прилетело и опубликовало эту надпись здесь
а вот для Vim'а вам такое не интересно? (;
habrahabr.ru/blogs/vim/53435/
habrahabr.ru/blogs/vim/53435/
+1
НЛО прилетело и опубликовало эту надпись здесь
По сравнению с Эмаксом слака-ребёнок.
0
НЛО прилетело и опубликовало эту надпись здесь
Про станок не понял.
Я имел в виду, что эмакс древнее слаки.
Я имел в виду, что эмакс древнее слаки.
0
НЛО прилетело и опубликовало эту надпись здесь
[blockquote]
Уж не знаю, один ли я такой, но раньше мне приходилось запускать vi под sudo специально для редактирования системных файлов.
[/blockquote]
sudoedit же. И там уж какой $EDITOR в системе выставлен, такой и будет использован.
Уж не знаю, один ли я такой, но раньше мне приходилось запускать vi под sudo специально для редактирования системных файлов.
[/blockquote]
sudoedit же. И там уж какой $EDITOR в системе выставлен, такой и будет использован.
0
Кстати «труклава для труемаксеров»
en.wikipedia.org/wiki/Space-cadet_keyboard
en.wikipedia.org/wiki/Space-cadet_keyboard
0
НЛО прилетело и опубликовало эту надпись здесь
С дополнениями беда, пробовал все методы, что нашел в интернете. Все не дотягивают до нужного уровня, а PySmell не завелся :(
+1
НЛО прилетело и опубликовало эту надпись здесь
честно говоря, я тоже задавал себе этот вопрос.
Тот же IPython прекрастно дополняет все что хочешь :)
![](https://habrastorage.org/r/w1560/getpro/habr/comment_images/356/0a1/684/3560a168421db84e88a457f97bfb1db9.png)
Тот же IPython прекрастно дополняет все что хочешь :)
![](https://habrastorage.org/getpro/habr/comment_images/356/0a1/684/3560a168421db84e88a457f97bfb1db9.png)
+2
НЛО прилетело и опубликовало эту надпись здесь
искаропки нету, но есть в ешелле, наверняка можно как-то связать.
0
есть,
можете посмотреть документацию к hippie-expand. Один из потенциальных источников — пути к файлам в текущей директории.
можете посмотреть документацию к hippie-expand. Один из потенциальных источников — пути к файлам в текущей директории.
+1
вы не совсем представляете, о чем идет речь.
ipython держит в себе целиком интерпретатор, которому вся информация доступна. Текстовые же файлы с кодом — совсем другой разговор. Их надо парсить, но не выполняя и не запуская интерпретатор.
Для динамических языков задача осложняется тем, что информации о типе переменных до рантайма может и не быть.
Задачи же автодополнения в Емаксе, например, для Java вполне успешно решались в JDEE.
Единственное действительно разумное решение — развивать обобщенный комплект для построения парсеров языков типа Cedet. В настоящий момент поддержка Питона в нем оставляет, мягко говоря, желать лучшего; но в тематических почтовых рассылках велось и ведется обсуждение работы по расширению поддержки вообще всех языков — Cedet отныне входит в стандартный комплект Емакса.
ipython держит в себе целиком интерпретатор, которому вся информация доступна. Текстовые же файлы с кодом — совсем другой разговор. Их надо парсить, но не выполняя и не запуская интерпретатор.
Для динамических языков задача осложняется тем, что информации о типе переменных до рантайма может и не быть.
Задачи же автодополнения в Емаксе, например, для Java вполне успешно решались в JDEE.
Единственное действительно разумное решение — развивать обобщенный комплект для построения парсеров языков типа Cedet. В настоящий момент поддержка Питона в нем оставляет, мягко говоря, желать лучшего; но в тематических почтовых рассылках велось и ведется обсуждение работы по расширению поддержки вообще всех языков — Cedet отныне входит в стандартный комплект Емакса.
+1
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Отсутствие режимов делает эмакс эффективным. Я быстрее нажму C-w, чем Esc d b i. Или, чтобы найти что-нибудь: C-s asdfg, чем Esc / asdfg Enter.
0
скажем так, задачи в виме и емаксе решаются вообще все. Нет принципиальной разницы по числу команд редактирования или их выразительности. Вероятнее всего, в емаксе их даже поболее — потому что писать их на Лиспе все же легче.
Однако, это не делает никакой погоды в контекте принятия решения об использовании того или иного редактора.
Разница в архитектуре фундаментальная. Прелесть Емакса — в быстрой работе с буферами, отсутствии необходиомости выходить из приложения и единообразии работы с любой информацией вообще. Строго говоря, для решения любых задач программирования выходить из редактора не требуется.
полная нирвана емаксера начинается после освоения лиспа. Тогда вообще любых действия начинают абсолютно легко производиться.
плюс vim — легковесность. Если Емакс — это такая доминанта в работе кодера, то vim старается занимать как можно меньше места между разработчиком и окружающей экосистемой.
Однако, это не делает никакой погоды в контекте принятия решения об использовании того или иного редактора.
Разница в архитектуре фундаментальная. Прелесть Емакса — в быстрой работе с буферами, отсутствии необходиомости выходить из приложения и единообразии работы с любой информацией вообще. Строго говоря, для решения любых задач программирования выходить из редактора не требуется.
полная нирвана емаксера начинается после освоения лиспа. Тогда вообще любых действия начинают абсолютно легко производиться.
плюс vim — легковесность. Если Емакс — это такая доминанта в работе кодера, то vim старается занимать как можно меньше места между разработчиком и окружающей экосистемой.
0
Какой самый лучше Emacs под винду?
-2
Сидел некоторое время на Emacs'e, сначала это была пытка, столько сочетаний клавишь запомнить… потом более менее привык, кодил в нем на асме, очень оригинально емакс себя ведет с асмом конечно, опять долго привыкал, настройкой заниматься конечно я даже и не думал. Вот сейчас еще разок попробую, автор спасибо за статью.
0
Когда-нибудь я потрачу хренову тучу времени, и все-таки заставлю себя разобраться с этим редактором этой операционной системой.
0
<имхо>
Поменять местами Ctrl и капслок — не лучшая идея. Лучше менять Ctrl и Alt, причём оба.
Хотя лично у меня на клавиатуре CapsLock ⇔ LCtrl, Enter ⇔ RCtrl. Для симметрии. Но так стоит делать только если бо́льшую часть времени проводить в консоли, там Enter не нужен.
</имхо>
//вимер.
Поменять местами Ctrl и капслок — не лучшая идея. Лучше менять Ctrl и Alt, причём оба.
Хотя лично у меня на клавиатуре CapsLock ⇔ LCtrl, Enter ⇔ RCtrl. Для симметрии. Но так стоит делать только если бо́льшую часть времени проводить в консоли, там Enter не нужен.
</имхо>
//вимер.
0
Что на что менять сильно зависит от клавиатуры. Я пользуюсь клавой Apple — меняю Alt на Command и Caps Lock на Control. А вимерам так вообще Esc поближе надо ставить.
0
гм… а где у вас тогда Enter? С-M?
я вот на Enter замапил Esc в виме — имхо очень удобно и довольно естественно (;
(а ещё Ctrl на Caps)
я вот на Enter замапил Esc в виме — имхо очень удобно и довольно естественно (;
(а ещё Ctrl на Caps)
0
Хых, постоянно пользуюсь Emacs уже шестой год, и только благодаря вашей статье осознал, что у меня болят мизинцы :(
0
Простите за занудство, но по английски он зовется «имакс», а не «эмакс».
+1
А как повесить на C-w одновременно убить слово и убить регион? Можно код пожалусто
0
Для transient mode:
Если не используете transient mode (когда регион подсвечивается), то ваш вопрос не имеет смысла, т.к. регион (метка-точка) присутствует практически всё время.
(defun kill-word-or-region (&optional arg) (interactive "P") (if (use-region-p) (kill-region (region-beginning) (region-end)) (kill-word arg)))
Если не используете transient mode (когда регион подсвечивается), то ваш вопрос не имеет смысла, т.к. регион (метка-точка) присутствует практически всё время.
+1
Зачем нужен sudo-edit, если из коробки есть tramp? При открытии файла пишем в путь /sudo::/path/to/some/file и открываем файл через sudo. Также с его помощью можно править файлы через ssh.
В виме помоему можно как-то перенаправить файл для сохранение в судо.
В виме помоему можно как-то перенаправить файл для сохранение в судо.
0
:w !sudo tee %
появляются мысли попробовать emacs, останавливает лишь то, что vi сам по себе есть практически везде (такое положение вызвано требованием POSIX)
в случае же с emacs (толстый он, однако) страдает унификация, не тащить же его за собой везде (да-да, щас меня закидают шапками, ведь есть ssh)
от себя добавлю, что bindkey -e (обычно настройка по-умолчанию) удобен и является хорошей предопосылкой к переезду на emacs (ехал emacs через emacs)
появляются мысли попробовать emacs, останавливает лишь то, что vi сам по себе есть практически везде (такое положение вызвано требованием POSIX)
в случае же с emacs (толстый он, однако) страдает унификация, не тащить же его за собой везде (да-да, щас меня закидают шапками, ведь есть ssh)
от себя добавлю, что bindkey -e (обычно настройка по-умолчанию) удобен и является хорошей предопосылкой к переезду на emacs (ехал emacs через emacs)
0
Так фишка как раз в том, чтобы не переоткрывать то что уже открыто. У вас разве не бывало ситуаций, когда открываешь например системный конфиг (под пользователем) с целью просто просмотреть, а потом натыкаешься на косяк, забываешь что под пользователем, начинаешь редактировать, потом сохраняешь, а оно пишет что нет прав, после чего текст необходимо скопировать, открыть файл уже под рутом и вставить то что написал. А sudo-edit позволяет обходить всё это вызовом одной простой команды, либо хоткея :)
0
жутко чешется, хочется взять и написать, дома и на работе ms natural ergonomic 4k, пришлось забросить в шкаф свою любимую mitsumi classic
0
Никогда не понимал всяких пакетных менеджеров (old school, да) и прочих стартер китов.
Мой конфиг: bazaar.launchpad.net/~lol2fast4u/+junk/emacs-dir/files
Мой конфиг: bazaar.launchpad.net/~lol2fast4u/+junk/emacs-dir/files
0
Мой опыт показывает, что вы всё равно, рано или поздно, придёте к почти-такой-же конфигурации. Только потратите на это дооооолгие месяцы. Код kit'а будет хорошей базой для расширения. На гитхабе сотни форков — в них можно посмотреть хорошие решения.
Насчёт пакетных менеджеров. В Убунте я пользуюсь пакетным менеджером apt. Я немного пишу на Clojure — пользуюсь пакетным менеджером leiningen (поверх maven). В эмакс я ставлю даже больше пакетов, чем в убунту, поэтому отказ от менеджера приведет единственно только к неоправданному гемору. К тому же многие новые пакеты эмакса рассчитаны на пакетный менеджер ELPA — например, пакеты для clojure.
Насчёт пакетных менеджеров. В Убунте я пользуюсь пакетным менеджером apt. Я немного пишу на Clojure — пользуюсь пакетным менеджером leiningen (поверх maven). В эмакс я ставлю даже больше пакетов, чем в убунту, поэтому отказ от менеджера приведет единственно только к неоправданному гемору. К тому же многие новые пакеты эмакса рассчитаны на пакетный менеджер ELPA — например, пакеты для clojure.
+1
Спасибо, очень хотелось попробовать emacs
0
Отличная статья!
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Emacs Starter Kit