Убунтариум

индекс
253,47

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

+39
5 ноября 2009, 16:40
85

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

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

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

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

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

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

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

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

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

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

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

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

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

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