21.5. Поддержка со стороны редакторов
21.5. Поддержка со стороны редакторов
Любой современный редактор должен проявлять дружелюбие по отношению к программистам. Память о двадцатом веке уходит в прошлое, и мы принимаем как должное, что редакторы изменяют свое поведение в зависимости от типа редактируемого файла. Мы ожидаем синтаксической подсветки, автоматического формирования отступов и прочего в том же духе.
Программист, пишущий на Ruby, не будет разочарован имеющимся инструментарием. Многие возможности стандартно включены в редактор, другие приходится настраивать.
Два прекрасных редактора — это SciTe (на базе виджета редактирования Scintilla) и TextMate (имеется только для Mac OS X). Оба хорошо поддерживают Ruby, но больше я о них ничего сказать не могу.
Третий редактор — jEdit, написанный на Java редактор для программистов (www.jedit.com). Роб МакКиннон дополнил его модулем для Ruby (http://rubyjedit.org/). Но в этой книге я не могу задерживаться на его описании.
Среди программистов наиболее распространены редакторы vi (или vim) и emacs. Их мы кратко рассмотрим.
Исторически для пользователей vim было создано три разных пакета. К счастью, теперь они объединены в пакет vim-ruby. Это набор конфигурационных файлов, поддерживающий синтаксическую подсветку, автоматическое формирование отступов и завершение кода. Кроме того, он позволяет вызывать интерпретатор Ruby прямо из редактора.
Если вы работаете с vim версии 7 (как и положено), то этот пакет, вероятно, уже установлен. (Если же по какой-то неуважительной причине вы все еще используете версию 6.x, то самое время провести обновление.)
Но может оказаться, что пакет не активирован (возможно, в целях обратной совместимости). Тогда нужно его активировать, добавив в файл .vimrc следующие строки:
set nocompatible
syntax on
filetype on
filetype indent on
filetype plugin on
Есть также по меньшей мере две реализации сворачивания кода для Ruby. На мои взгляд, любая методика сворачивания, которая требует вставлять в код специальные комментарии или символы, не оптимальна. Хороший механизм сворачивания должен анализировать код и распознавать в нем классы, модули, методы и т.д. Такую реализацию для vim написал Маурицио Фернандес (http://eigenclass.nrg/hiki.rb?Usable+Ruby+folding+for+Vim).
В принципе есть много причин не любить редактор vim; одна из самых основательных — язык vimscript. Хорошая новость — теперь есть возможность программировать поведение vim на Ruby! И плохая… она неважно документирована. Если хотите узнать подробнее, рекомендую для начала набрать команду :help ruby в vim. Дополнительная информация имеется на странице http://wiki.rubygarden.org/Ruby/page/show/VimRubyInterface. Наконец, загляните на сайт http://vim/org; может быть, там появилось что-то новенькое.
Еще один популярнейший в мире редактор — emacs. Вообще-то называть его редактором не вполне правильно. Это, скорее, миниатюрная операционная система, которая заодно позволяет и редактировать тексты. Одно из главных достоинств emacs — поразительная расширяемость; пользователь программирует его поведение на диалекте языка Lisp (elisp). Язык elisp мощнее, чем vimscript, но читать написанные на нем программы не менее сложно (правда, по другой причине).
Я сам не работаю с emacs, но очень уважаю тех, кто им пользуется. Не могу почти ничего сказать о поддержке Ruby в emacs; отсылаю вас на wiki-страницу RubyGarden (http://wiki.rubygarden.org/Ruby/page/show/EmacsExtensions).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Взгляд со стороны клиента
Взгляд со стороны клиента Мы уже намекнули, что ожидает клиент. Он ожидает интерфейс на основе файловых дескрипторов с применением стандартных функций POSIX.В действительности «под колпаком» происходит еще кое-что.Например, как в действительности клиент соединяется с
Взгляд со стороны администратора ресурсов
Взгляд со стороны администратора ресурсов Давайте теперь посмотрим на вещи с позиции администратора ресурса. Перво-наперво администратор ресурса должен сообщить администратору процессов, что он берет на себя ответственность за некоторую часть пространства имен путей
Две стороны единого механизма
Две стороны единого механизма При рассмотрении базовой для QNX (собственно, для всех микроядерных ОС) техники обмена сообщениями в сравнении с технологией написания менеджеров ресурсов не покидает ощущение поразительной схожести происходящих в обоих случаях процессов.
Две стороны
Две стороны К концу 1990-х гг. Time Warner превратилась в еще более крупного титана, чем во времена Стивена Росса. Теперь эта империя охватывала почти все возможные каналы информации. И все же по мере приближения к рубежу веков преемник Росса Левин все больше приходил к мнению,
12.4. О трех типах текстовых редакторов
12.4. О трех типах текстовых редакторов Редактирование текстовых файлов (с текстами на естественном языке, либо с текстами программ) - одна из наиболее часто выполняемых работ на любом компьютере и в любой операционной системе. Может быть, поэтому для Linux разработано уже
Все зависит от того, с какой стороны подойти
Все зависит от того, с какой стороны подойти Если вы попросите веб-аналитика дать определение сценарию, он наверняка вспомнит о «воронке продаж» и скажет, что сценарий – это последовательность шагов, которые делает клиент в процессе покупки. На каждом этапе покупатель
Регулярный надзор со стороны высшего руководства
Регулярный надзор со стороны высшего руководства Регулярные проверки проводятся высшим руководством для получения своевременной информации о производственном процессе и его понимания на соответствующем уровне абстракции. Промежутки времени между проверками должны
Регулярный и событийный надзор со стороны руководства проекта
Регулярный и событийный надзор со стороны руководства проекта Используемая в этих ключевых практиках фраза «регулярный и событийный» призвана подчеркнуть тот факт, что на различных стадиях проекта и в зависимости от его характеристик необходимы различные виды
ПРЕДИСЛОВИЕ РЕДАКТОРОВ ПЕРЕВОДА
ПРЕДИСЛОВИЕ РЕДАКТОРОВ ПЕРЕВОДА Язык программирования Пролог появился в 1970 г. одновременно с такими сейчас широко распространенными языками, как Паскаль и Си. Его ориентация – «нетрадиционные» применения вычислительной техники: понимание естественного языка, базы
15.2.3. "Антирелигиозный" выбор: использование обоих редакторов
15.2.3. "Антирелигиозный" выбор: использование обоих редакторов Многие люди, обычно использующие оба редактора vi и Emacs, склонны применять их для различных задач и находят весьма ценными преимущества использования обоих.Вообще, vi наилучшим образом подходит для решения
15.2.3. "Антирелигиозный" выбор: использование обоих редакторов
15.2.3. "Антирелигиозный" выбор: использование обоих редакторов Многие люди, обычно использующие оба редактора vi и Emacs, склонны применять их для различных задач и находят весьма ценными преимущества использования обоих.Вообще, vi наилучшим образом подходит для решения
Глава 1 Принципы использования двумерных редакторов
Глава 1 Принципы использования двумерных редакторов С помощью двумерных редакторов CAD-систем (Computer Aided Design — конструирование, поддержанное компьютером) создается большинство графических конструкторских документов. Учитывая, что базовые двумерные средства черчения
По обе стороны океана
По обе стороны океана Следующий пример позволит нам промоделировать ситуацию дублируемого наследования и изучить возникающие проблемы. Пусть класс DRIVER имеет атрибуты:age: INTEGERaddress: STRINGviolation_count: INTEGER -- Число записанных нарушенийи методы:pass_birthday is do age := age + 1 endpay_fee is-- Оплата
Глава 3 Поддержка со стороны руководства
Глава 3 Поддержка со стороны руководства Руководители высшего звена, в том числе и директор по информационным технологиям, больше не могут, откинувшись на спинку кресла, думать, что проблемы компьютерной безопасности в полной мере решаются кем-то другим в их компаниях.
Интеграция с данными третьей стороны
Интеграция с данными третьей стороны Основой модели развертывания качественной PKI является сильная аутентификация, которая, в свою очередь, зависит от интеграции с надежным источником данных. Системы PKI обычно обеспечивают доступ к ODBC- и LDAP-совместимым базам данных и
Информационная зависимость и перенасыщенность: две стороны медали
Информационная зависимость и перенасыщенность: две стороны медали В настоящее время информация играет огромную роль в жизни людей. Для некоторых, например бизнесменов, она является основой рабочей деятельности.Повышенная потребность в информации, а также