войти зарегистрироваться

Убунтариум whois

индекс
170,92

GMate — набор полезных расширений для gedit

image

Редактором по умолчанию в GNOME и, следовательно, Ubuntu является gedit. И в отличии от Блокнота в Windows он полезен :), однако выглядит он всё таки очень простым, даже после установки пакета gedit-plugins. Но на самом деле это довольно милый и хорошо расширяемый редактор, нужно просто добавить воды расширений.

GMate смотрит в сторону прекрасного TextMate из Mac OS X и содержит в себе подборку самых вкусных расширений, сниппетов, тем. Изначально, GMate создавался именно для Ruby-разработчиков, но пригодиться и для других разработчиков.

Если Вы любите GNOME и Ruby, то просто обязаны его поставить :).

Установка


Ubuntu Karmic

Нужно добавить Ubuntu on Rails PPA в репозитории: ppa:ubuntu-on-rails/ppa
Система → Администрирование → Источники приложений, вкладка Другое ПО, кнопка Добавить

И установить пакет gedit-gmate:
sudo apt-get install gedit-gmate

Другие Linux

Смотрите репозиторий пакета.

Что внутри


Поддержка языков: Markdown, HAML, YAML, Groovy, SASS, Cucumber, язык шаблонов Ruby и Django.

Множество красивых тем (большинство пересозданы с TextMate).

Множество сниппетов для: Ruby on Rails, Ruby, jQuery, Сucumber и других.

И конечно же множество расширений:
  • Резкое открытие — Открывает файлы по регулярному выражению
  • Инструменты для текста — Дополнительные инструменты для работы с текстом
  • Поиск в файлах — Поиск по файлам из корня обозревателя файлов.
  • Расширенные закладки — Инструмент для расширенных закладок
  • Выравнивание — Выравнивание блоков текста в колонки
  • Обозреватель классов — Обозреватель классов для gedit
  • Переключение по Tab’у — Позволяет переключатся между файлами по Ctrl+Tab
  • Умные отступы — Модуль умных отступов для gedit
  • Загрузчик rails-файлов — Проверяет, является ли файл частью rails-проекта и устанавливает язык RubyOnRails
  • Переход к файлу — Удобное открытие и переключение между файлами.
  • Близнецы — Умное завершение парных символов. ({["''"]})
  • Поиск и замена по регулярным выражениям — Поиск и замена текста с помощью регулярных выражений.
  • Горячие команды для Rails — Запускайте команды Rails (или терминала)!
  • Открытие файлов в gedit — Открывает файлы по условиям поиска
  • Горячие клавиши для Rails — Нажмите Ctrl+Shift+R для rails-вызовов
  • Список дел — Порт бандла TODO List из Textmate для gedit
  • Сохранение без хвостовых пробелов — Автоматически удаляет хвостовые пробелы (trailing spaces) перед сохранением
  • Завершение слов — Завершает слова по Enter’у
  • Вытаскиватель Rails partial’ов — Вытаскивает выделенный текст в Rails partial
  • Режим быстрой подсветки — Нажмите Ctrl+Shift+H для быстрой подсветки выделенного текста

комментарии (55)

  • Эм… Я не спорю с тезисом, что гэдит может быть весьма функциональным, но скрин текстового редактора рассчитанного на работу в графической среде с отключенными панелями инструментов и меню может несколько отпугнуть начинающих пользователей. В этом плане даже скрин vim-а из недавней статьи о его настройки делает его более дружелюбным, что-
    • ли
    • Сделано. Но картинка получилась больше. Если надо, верну обратно.
  • GMate смотрит в сторону прекрасного TextMate из Mac OS X и содержит в себе подборку самых вкусных расширений, сниппетов, тем.
    Лучше бы они просто реализовали поддержку бандлов от текстмэйта.
    • Это хотели сделать в RedCar, но это работа довольно сложная с обратной разработкой и сомнительной лицензией.
  • я очень хочу чтобы на хабр запилил статью о прекрасности текстмейта, потому что я до сих пор не понял.
    • Ну это добротно сделанный простой текстовый редактор. Для Руби или каких-то скриптов IDE не нужна, а vim не всем хватает сил освоить, так что простой текстовый редактор очень востребован. Для TextMate действительно много расширений, бандлов, цветовых схем, отличный дизайн и просто куча хороших мелочей. В общем, неплохой выбор.
      • меня в нем дико бесит например привычка заворачивать скобки, кавычки, есть бандл чтобы отключить это? :)
      • > Для Руби или каких-то скриптов IDE не нужна,
        По-моему дело в не языке, а в размере проекта. Когда он разрастется, тогда понадобится и дебаггер, и история проекта, и интеграция с системами контроля версий и багтрекерами, позадачная разбивка работы и прочее, что в сумме и составляет интегрированную среду разработки.
        Для простого скрипта проще открыть gedit, для сложного проекта лучше открыть Eclipse (или другую IDE по вкусу).
        • Спорно, не видел ruby-программистов под Mac OS X с IDE, в том числе и с большими проектами. С системой контроля версия продуктивнее работать из консоли, bug tracker’ы лучше связывать с системой контроля версий, а не IDE и так далее. В Безымённом подкасте о Руби говорили, что IDE удобнее vim только в рефакторинге. Хотя может всё дело в мемах внутри сообщества? :)
          • > С системой контроля версия продуктивнее работать из консоли,
            Можно, но просмотр удобнее сделать в ИДЕ.

            > bug tracker’ы лучше связывать с системой контроля версий,
            Все можно. Я Eclipse люблю во немалой степени из-за Mylyn (подробное описание на русском, правда довольно старая версия). Он помогает очень хорошо структурировать работу, сохранять контексты задач, чтобы в будущем было проще возвращаться к старым вопросам для разных исправлений и пр.

            > Хотя может всё дело в мемах внутри сообщества? :)
            Скорее всего :) Есть же такой понтомем: «Ведь бородатые дядьки — основатели всех интернетов не использовали ИДЕ, а значит, все использующие — чайники» :)
          • мне сразу же посоветывали если я хочу IDE для руби покупать RubyMine :) огромный монстр который как оказалось нафиг мне не нужен :) Потом купил TextMate, так как уде давно им пользовался. Понравилась фича открывать весь каталог сразу.
        • У меня знакомые на серьёзном проекте на PHP на TextMate тоже комфортно сидели.
          • Я сам долгое время работал на редакторах типа Edit+, PHP Expert Editor и пр.
            Тоже можно привыкнуть и писать крупные проекты.
            Но зачем если есть средства удобнее?
            • 1. Соотношение скорость работы/возможности тожа важно.
              2. Часто IDE удобнее для нового пользователя, тот же vim после долго обучения превращяется в машину по генерации текста :). Я очень рад, что освоил управление системой контроля версий из консоли — быстрее, контролируемее и удобнее (особенно работа с ветками).
              3. Так же см. видео про одно расширение для TextMate: pepelsbey.net/pro/2008/08/zen-html/
            • Я не считаю, например Java интерфейс удобнее родного cocoa. А с coda как-то не сложилось.
              Так что терминал+тэкстмэйт наше все.
      • > vim не всем хватает сил освоить
        А про EMACS даже не вспоминаем :D
        • Помним и любим, но почему-то в ruby-сообществе на слуху только vim.
          • Позавчера, ввиду изучения LISP, я предпринял четвёртую попытку пересесть на EMACS. Дело закончилось установкой LIMP. :)
            • Рекомендую таки осилить Емакс — там есть прекрасный SLIME.
              • Limp's goal is to provide a compelling alternative to Slime for Vim. Впрочем, насколько я могу судить, SLIME всё же удобнее.
    • Про руби не напишу.
      НО вот если вы когда-нибудь верстали и посмотрите это видео, думаю вопросы должны отпасть сами по себе. И еще вот CSS.
      Да такое умеет и аптана, но тэксмэйт в РАЗЫ легче мастодонта эклипса.
      • Pepelsbey писал, что расширение для gedit ожидается. И оно точно попадёт в gmate ;).
        • А сегодня я так ничего путного и не нашел девушке на убунту. Для верстки.
          • Девушке, да ещё и верстальщику просто неизбежно надо использовать стильные Маки :).
        • у gedit есть плагин snippets, делает тоже самое, с gmate вроде не идет
          • Snippet похож, но работает совсем по другому — он вставляет заранее заготовленный кусок по определённому коду, Zen HTML с видео же сам формирует HTML по динамическому XPath.
            Snippets выходит в пакет gedit и он и не нужен в gmate. В gmate есть для snippets набор сокращений для Ruby и других языков.
            • Не уловил разницы… Насколько я понял, Zen HTML с видео точно так же вставляет кусок по определённой «ключевой фразе». В нём эти шаблоны точно так же заданы заранее. Или я чего-то не понимаю?
              • Snippets может по коду li вставить только . В Zen HTML можно с помощью кода указывать что один тег внутри, что один надо несколько раз повторить. Там дерево HTML генерируется динамическому XPath-пути.
                • А с виду больше похоже на вставку шаблона + автоформатирование.
  • Надо такие же плагины для остальных языков ( Perl, Python...)
    • Поддержка этих языков и так есть в gedit. А в gmate есть много расширения упрощающих работу и с этими ЯП (например, умный автоотступ работает и с Python).
  • Выглядит интересно. Попробую, и быть может пересяду обратно с geany на gedit/gmate.
  • Чаще всего для проектов на symfony (PHP фремйворк, если кто не знает) использую mc+gedit (с vim так и не подружился, одна необходимость переключать раскладку с рус на енг для ввода команд убивает всё теоретическое увеличение скорости работы, да и вообще придерживаюсь принципа «что можно быстро сделать мышкой — не стоит делать из консоли » — только чур не минусовать :) ). Поставил этот пакет и работать стало удобнеe в gedit, одна поддержка Markdown и YAML многого стоит :) Спасибо за наводку.
    • > с vim так и не подружился, одна необходимость переключать раскладку с рус на енг для ввода команд убивает всё теоретическое увеличение скорости работы

      vim.wikia.com/wiki/Using_Vim_key_bindings_while_typing_non-latin1_text
      Содержимое большой рамки в середине страницы вставляем в свой .vimrc и все команды работают в обоих раскладках.
      Не недооценивайте настраиваемость vim ;)

      > да и вообще придерживаюсь принципа «что можно быстро сделать мышкой — не стоит делать из консоли »
      > «Что можно сделать из консоли не стоит делать мышкой»

      fixed
      Минусовать не буду. :)
      • >Не недооценивайте настраиваемость vim ;)

        Спасибо, действительно недооценивал настолько, что даже не пытался гуглить что-то вроде «vim русские команды». Вернее я подозревал, что решить задачу можно, но нужно будет делать это самостоятельно и будет это муторно. Правда мне казалось, что надо будет каждую команду — а не каждую букву, — дублировать на русской раскладке, причем написанием какого-нить скрипта, но не подозревал, что проблема частая, решение давно есть и решается копи-пастом в конфиг-файл. Попробую завтра еще с vim поработать, гугля когда будет не хватать чего-то привычного, может и для других моих проблем есть решения.

        >fixed
        ))) ключевое слово «быстро» было
        • Насчёт переключения раскладки. В emacs с этим лучше. Я сейчас использую emacs с extended-viper-mode, т.к. не имею ничего против режимов и хотел бы, благодаря ним, освободить пару (десятков) клавиш. В иксах выставляется (и не трогается) латинская раскладка, а в emacs устанавливается свой input-method. Таким образом, хоткеи *всегда* одни и те же на одних и тех же клавишах, но в зависимости от выбранного метода ввода вставляться будут разные буквы. Для кириллицы и латиницы:

          (defun to-lat ()
            (interactive)
            (set-input-method "latin-1-prefix"))
          
          (defun to-cyr ()
            (interactive)
            (set-input-method "cyrillic-jcuken"))
          
          (global-set-key (kbd "\e{") 'to-lat)
          (global-set-key (kbd "\e}") 'to-cyr)


          Переключение: Alt+{ — латиница, Alt+} — кириллица. Конечно, можно сделать переключение и на одной комбинации клавиш, как принято в X и Win.
          • Лучше так:

            (defun cyrIM ()
              "russian-computer")
            
            (set-input-method (cyrIM))
            
            (defun to-lat ()
              (interactive)
              (when (string= current-input-method (cyrIM))
                (toggle-input-method)))
            
            (defun to-cyr ()
              (interactive)
              (when (null current-input-method)
                (toggle-input-method)))
            
            (global-set-key (kbd "\e{") 'to-lat)
            (global-set-key (kbd "\e}") 'to-cyr)


            А для переключения просто вешаем на желаемую клавишу 'toggle-input-method.
  • > Резкое открытие
    … и конкретное закрытие для чОтких пацанов :-)
  • Он на столько прекрасен, что пришлось поставить Убунту.
    Все таки виндовая e.texteditor не такая веселая, да и терминал линуксовский посимпотичнее гит.баша
  • но один вопрос.
    как запустить проект с рутовой директорией?
    а-ля windows:
    >> e.
    а-ля mac:
    >> mate.
    • Точно такими же командами или более идеологически правильной gmate .
      • Блин. А я тыкался в gedit.
        спасибо
  • насколько я знаю, Саша Косс использует набор этих расширений и весьма доволен.
    • Кто такой, чем знаменит? :)
      • высококлассный программист, дизайнер UI ну и много чего еще
        kossnocorp.habrahabr.ru/blog/
        • Не Ричард Столлман конечно, но вс равно приятно :).
  • Вах!
    Обычно юзаю IDEA. Но давно хотел что-нить mate-подобное.
    Спасибо за наводку!
  • Большое спасибо за наводку. Надеюсь gedit таки вырастет в полноценный текстовый редактор.
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.