5 ноября 2009 в 16:40

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 для быстрой подсветки выделенного текста

Андрей «A.I.» Ситник @Iskin
карма
181,5
рейтинг 0,0
Самое читаемое Администрирование

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

  • +2
    Эм… Я не спорю с тезисом, что гэдит может быть весьма функциональным, но скрин текстового редактора рассчитанного на работу в графической среде с отключенными панелями инструментов и меню может несколько отпугнуть начинающих пользователей. В этом плане даже скрин vim-а из недавней статьи о его настройки делает его более дружелюбным, что-
    • +1
      ли
    • +2
      Сделано. Но картинка получилась больше. Если надо, верну обратно.
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Это хотели сделать в RedCar, но это работа довольно сложная с обратной разработкой и сомнительной лицензией.
  • +9
    я очень хочу чтобы на хабр запилил статью о прекрасности текстмейта, потому что я до сих пор не понял.
    • +1
      Ну это добротно сделанный простой текстовый редактор. Для Руби или каких-то скриптов IDE не нужна, а vim не всем хватает сил освоить, так что простой текстовый редактор очень востребован. Для TextMate действительно много расширений, бандлов, цветовых схем, отличный дизайн и просто куча хороших мелочей. В общем, неплохой выбор.
      • 0
        меня в нем дико бесит например привычка заворачивать скобки, кавычки, есть бандл чтобы отключить это? :)
        • +1
          В смысле автозакрытие парных символов бесит?
          manual.macromates.com/en/preferences_items#paired_characters.html

          Пункт 15.4, просто убираете ненужные пары.

          А мне вот в виме не хватает «умного» автозакрытия пар, или я просто его не нашел…
            • 0
              Спасибо, попробую. Пытался сделать стандартными маппингами, но работает не очень…
              • 0
                " автодополнение скобок
                imap { {}O
                inoremap ( ()i
                inoremap [ []i

                это у меня работало, пока не надоело
                • 0
                  Лучше так: imap {<CR> {<CR>}<Esc>O
      • +1
        > Для Руби или каких-то скриптов IDE не нужна,
        По-моему дело в не языке, а в размере проекта. Когда он разрастется, тогда понадобится и дебаггер, и история проекта, и интеграция с системами контроля версий и багтрекерами, позадачная разбивка работы и прочее, что в сумме и составляет интегрированную среду разработки.
        Для простого скрипта проще открыть gedit, для сложного проекта лучше открыть Eclipse (или другую IDE по вкусу).
        • +1
          Спорно, не видел ruby-программистов под Mac OS X с IDE, в том числе и с большими проектами. С системой контроля версия продуктивнее работать из консоли, bug tracker’ы лучше связывать с системой контроля версий, а не IDE и так далее. В Безымённом подкасте о Руби говорили, что IDE удобнее vim только в рефакторинге. Хотя может всё дело в мемах внутри сообщества? :)
          • 0
            > С системой контроля версия продуктивнее работать из консоли,
            Можно, но просмотр удобнее сделать в ИДЕ.

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

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

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

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

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

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

        >fixed
        ))) ключевое слово «быстро» было
        • 0
          Насчёт переключения раскладки. В 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.
          • 0
            Лучше так:

            (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.
  • +1
    > Резкое открытие
    … и конкретное закрытие для чОтких пацанов :-)
  • +1
    Он на столько прекрасен, что пришлось поставить Убунту.
    Все таки виндовая e.texteditor не такая веселая, да и терминал линуксовский посимпотичнее гит.баша
  • 0
    но один вопрос.
    как запустить проект с рутовой директорией?
    а-ля windows:
    >> e.
    а-ля mac:
    >> mate.
    • +1
      Точно такими же командами или более идеологически правильной gmate .
      • 0
        Блин. А я тыкался в gedit.
        спасибо
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Кто такой, чем знаменит? :)
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Не Ричард Столлман конечно, но вс равно приятно :).
  • 0
    Вах!
    Обычно юзаю IDEA. Но давно хотел что-нить mate-подобное.
    Спасибо за наводку!
  • 0
    Большое спасибо за наводку. Надеюсь gedit таки вырастет в полноценный текстовый редактор.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.