Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > e4xu

Всякие разные штуки сомнительной полезности сделанные в свободное от работы время.
Оценить эту запись

Dired - текстовый проводник по файловой системе

Запись от wvxvw размещена 29.06.2013 в 04:07
Обновил(-а) wvxvw 27.07.2013 в 11:42

Предлагаю вашему вниманию серию (хочется верить) видео посвященных работе с Эмаксом вообще, и Dired в часности.
Первое видео заняло немало подготовки, проб и ошибок. Но есть надежда, что дальше будет по-проще.

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

Комментарии

Старый 29.06.2013 19:34 СлаваRa вне форума
СлаваRa
 
Аватар для СлаваRa
Олег, а можно попросить еще объяснять зачем "нам это надо", таким образом можно было бы сравнивать функционал "своего" редактора с емакс.
Старый 29.06.2013 22:11 wvxvw вне форума
wvxvw
 
Аватар для wvxvw
Чем это может быть полезно? В идеальном мире, когда вы видите разьяренный мессаджбокс, который призывает вас сообщить об ошибке системному администратору, вы идете к системному администрарору, сообщаете об ошибке, и он ее исправляет.
В менее идеальном мире на хрупкие плечи программиста может лечь тяжким грузом непосильный труд системного администратора. И тому может быть масса причин, например, сисадмина просто нет, или его нет в принципе, или сисадмин закончил курс с сертификатом по раутерам Сиско и Виндовс Домейн, но все еще думает, что Убунта и Линукс - это две разные операционные системы (вам смешно - а мне с таким работать).
И в такой ситуации вам нужно, например, пробраться по SSH на ваш сервер и под артилерийским огнем починить скрипт заполняющий базу данных сотней тысячей записей в секунду. Как правило, вы не знаете паролей, где лежат настройки базы, как убить насовсем скрипт-рецедивста, но хуже всего то, что вы не можете совладать с системой: Смотрите в черный экран с задорно подмигивающим курсором и просто не знаете куда дальше пойти. Трясущимися руками с остекленелым взглядом вы пытаетесь передвигаться по файловой системе используя cd и ls, иногда случайно создавая жесткие ссылки вместо того, чтобы открывать директорию.

Но, если бы вы умели рабоать в Эмаксе... вы бы в момент подсоединились с Соляриса к Берклиевской операционной системе, невзирая на инопланетые имена файлов и эзотерическую структуру операционки, у вас в руках был бы надежный инструмент, с которым вы бы уж точно не потерялись, если бы вам не хотелось потеряться
Старый 01.07.2013 00:30 alexcon314 вне форума
alexcon314
Немного подводит зашумление фона озвучки (и, прости, чутка дикция ). А так - зачет!
Конечно, все познается в сравнении.

С чем, однако, можно сравнить (по работе с ФС из консоли или удаленно, но без иксов):
- файловый менеджер MC (Midnight Commander);
- ну, под виндами еще есть неплохая штука WinSCP (sftp-клиент).
- ...?

Польза - видимо, универсализм движка эмакса, он, вобщем-то, впечатляет, хоть и пугает отчасти.
Стоит ли оно того - личное дело каждого, по потребностям, так сказать.
Для работы именно с текстом, или кодом, есть много альтернатив.
Среди именно консольных редакторов эмакс занимает свое место в ряду с vi(m), nano, mcedit (что там еще?). И не последнее .
Понравилось раскрытие поддиректорий и закладки.
Ок, а что там с chown, chmod, cp, mv, rm, tar, ln? Есть какой-то интерфейс взаимодействия? Например, mc умеет ходить по архивам. Ну, и обещанные процессы, конечно!
Старый 01.07.2013 00:46 wvxvw вне форума
wvxvw
 
Аватар для wvxvw
Я на самом деле совсем не часто разговариваю по-русски
Дикция - часть от природы... меня мама даже как-то решила отвести к логопеду, я как сейчас помню удивленное лицо логопеда... а отчасти нужно было уложиться по времени. Я наверное раз десять перезаписывал, пока уложился.
Ну и это не последнее видео, на самом деле в проекте:
- (уже в работе) пометка / копирование / удаление
- поиск
- перманентое хранение настроек для выбраных дирeкторий
- плагины (у Direda их куча).
mc - знаю, я им пользовался когда-то. Потом познакомился с vimом, а там был плагин NerdTree - показалось удобнее.
Но смылс (для меня) пользоваться Эмаксом как проводником в том, что если я пишу код, и мне нужно что-то сделать в файловой системе - то не нужно куда-то переходить, открывать другую программу. В принципе, та же идя присутствует в том же Эклипсе, или в Студии - но так безобразно сделана...
Старый 01.07.2013 08:11 alexcon314 вне форума
alexcon314
Цитата:
не нужно куда-то переходить, открывать другую программу
Это да, удобно. Если еще и фичи имеются, то вообще красота. Жаль, не всегда можно объять необъятное.
Последний проект я делал в NetBeans (удаленная компиляция на сервере с доступом по smb/ssh) + клиент в студии. Вот я заманался окошки дергать. Даже монитор второй поставить пришлось .
А в эмаксе можно настроить работу (без написания своих плугинов), чтобы было "перейти к определению", "найти все ссылки", "найти все вызовы" и т.п. навигация по коду? И да, ты вроде упоминал или мне показалось, про интеграцию с отладчиками/ компилерами?
Старый 01.07.2013 12:20 wvxvw вне форума
wvxvw
 
Аватар для wvxvw
В Эмаксе это будет очень зависеть от конкретного языка. Многие языки располагают собственными средствами отладки / работы с исходниками. Например, в Питоне есть Rope, в Common Lisp - есть SLIME, есть еще несколько таких.
Переход к определению может быть следующих видов:
- его вообще нет, но самому сделать минимальный не сложно - нужно сгенерировать файл TAGS с помощю команды etags / ctags и регулярного выражения, в котором описывается как выглядит обявление функции / переменной. Или можно попытаться найти BNF языка и оформить его как wysen грамматику - тогда поиск будет более корректным, но это требует больше знаний.
- есть специфическое для Эмакса (например, SLIME),
- специфическое для языка (например, Rope).

Интеграция с отладчиком: как правило, это зависит от языка, и варьируется от очень хорошего, до совсем никакого. Я не встречал отладчиков написанных специально для Эмакса, обычно в Эмаксе - только фронт-энд. Но более традиционный способ разработки в Эмаксе - это работа с REPL, т.е. компиляция / интерпретация кода по мере написания, и выявление ошибок работая интерактивно с (недописаной) программой. REPL есть у большинства серьезных режимов редактирования, и как минимум для следующих языков: все Лиспы, Scala, Clojure, Erlang, Python, Ruby, PHP (но паршивый), JavaScript, Haskel, OCaml, Octave (Matlab) и наверное еще очень много других. Мне даже для VBS как-то попадался.
Что в этом смысле подкупает - наличие очень продвинутого скриптового языка в редакторе, на котором можно допилить, если не хватает, ну и кучи библиотек в которых, как правило, часть уже сделана (например, Flymake делает уже большую часть проверки синтаксиса - нужно написать только парсер сообщений компилятора).

Есть еще много уникальной навигации по коду, например, регистры и пометки. Активно работая с каким-то участком кода, какие-то его места можно записать в регистры для быстрого доступа. Метки как правило попадают на места, где в последнее время что-то редактировал.
Старый 01.07.2013 15:26 alexcon314 вне форума
alexcon314
Этак и красноглазиком недолго стать .
Попробовал "из коробки" с++ и gdb. Команды M-x compile и M-x gdb.
Ужасно непривычно, но поставить бряк, посмотреть память и пройтись пошагово получилось довольно легко, опыт работы с другими ИДЕ сказывается.
С учетом того, что все это прямо из консоли - очень круто. Далеко еще до того, чтобы пересесть, но вообще впечатления положительные. Автокоплит-плугины вроде как есть подходящие тоже.
Собираюсь опробовать все на моем Raspberry Pi, ибо там с гуями туговато . А поюзать его GPIO руки чешутся. Кстати еще одна копеечка в копилку за эмакс (и вообще за консольные средства разработки).
Старый 05.07.2013 20:58 СлаваRa вне форума
СлаваRa
 
Аватар для СлаваRa
Олег, а можно попросить написать о настройке emacs для actionscript разработчика, когда я только пробовал vim для меня это было проблемой, я уверен что с emacs этот момент не многим отличается.
Старый 05.07.2013 21:37 wvxvw вне форума
wvxvw
 
Аватар для wvxvw
К сожалению для AS не фонтан... Есть режим подсветки, но он довольно наивный... Я когда-то давно приделал flymake (проверка синтаксиса "на лету"), но сейчас даже не могу вспомнить, куда я его дел... Как-то Эмакс и AS не особо по жизни пересекались. Равно как и Флеш разработка в Линуксе - скорее экзотика.
Я расширял и дополнял режим редактирования для Хекса - если интересно, могу про это рассказать. Но работа там еще не закончена. Я в последний раз обламался на каком-то баге в Хексе сервере компиляции + Неко у меня не собирался изза каких-то конфликтов. Но прошло уже не мало времени, и в принципе можно было бы попробовать возобновить работу...

Я сейчас записываю еще одно видео про Диред, все никак не уложусь в лимит времени Но скоро уже.
Старый 05.07.2013 21:42 СлаваRa вне форума
СлаваRa
 
Аватар для СлаваRa
про haxe тоже интересно, у тебя нет желания об этом рассказать на онлайн конференции через 2-3 недели?
Старый 06.07.2013 04:04 wvxvw вне форума
wvxvw
 
Аватар для wvxvw
Тогда мне нужно срочно проверить хотя бы минимальную работоспособность Но вроде как там не должно быть много проблем... (обычные оптимистичные программистские ожидания). Я завтра посижу и посмотрю, можно ли это вообще людям показывать. Очень хочется верить, что да... если да, то отпишусь еще.
 

 


Часовой пояс GMT +4, время: 00:51.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.