Lista de Plugins para o gEdit

04/04/07

Neste post, listo todos os plugins que uso no meu gEdit com links para os respectivos downloads. Além disso, é possível baixar o tema que uso atualmente, baseado no tema Blackboard do Textmate. Diverta-se!

Advanced Editing

Adiciona uma série de funcionalidades como duplicar linha, remover linha, etc.
http://live.gnome.org/Gedit/AdvancedEditingPlugin

Autocomplete

Autocompletar com base no dicionário de palavras encontrado nos arquivos abertos.
http://sourceforge.net/projects/gedit-autocomp

Class Browser

Exiba a estrutura de seus arquivos com a possibilidade de ir a um determinado ponto rapidamente.
http://www.stambouliote.de/tarballs/gedit_classbrowser-0.0.3.tar.gz

Code Comment

Comente ou descomente um bloco de código com uma simples tecla de atalho.
http://live.gnome.org/Gedit/

Current Line Highlight

Pode parecer frescura, mas para algumas pessoas — eu — mudar a cor de fundo da linha corrente faz a diferença.
http://simplesideias.com.br/current-line-highlight/

Draw Spaces

Exibe espaços (ponto) e tabulações (seta) com aparência distinta.
http://live.gnome.org/Gedit

External Tools

Permite executar comandos externos e shell script. Excelente se usado com o comando Run File.
http://live.gnome.org/Gedit/ToolLauncherPlugin

File Browser Pane

Navegue pelos diretórios através de uma barra lateral adicionada com este plugin.
http://live.gnome.org/Gedit/ToolLauncherPlugin

Gemini

Autocompleta caracteres como colchetes, parenteses e aspas.
http://www.garyharan.com/index.php/2006/11/16/gemini-gedit-plugin-for-all-those-Textmate-fans/

Indent Lines

Aumenta ou diminui a indentação de código.
http://live.gnome.org/Gedit/Plugins

Markup Preview

Permite que você visualize no painel inferior, arquivos formatos com HTML, Textile e Markdown.
http://textmethod.com/wiki/ReStructuredTextToolsForGedit#preview-plugin

Quick Highlight Mode

Mudar o tipo de highlight do documento que está sendo editado nunca foi tão simples. Basta pressionar Ctrl+Shift+H e digitar as primeiras letras do formato.
http://simplesideias.com.br/quick-highlight-mode/

RubyDoc

Exibe a documentação do Ruby na barra lateral.
http://grad.icmc.usp.br/~vinibf/rubyide/

Smart Spaces

Trata tabulações — espaços e tabs — como se fosse um único caracter. Ótimo para quem trabalha com tabulações por espaço.
http://live.gnome.org/Gedit

SnapOpen

Diálgo de arquivos semelhante ao existente no Textmate. Permite buscas por expressão regular.
http://www.upperbound.net/upperbound/show/SnapOpen+plugin+for+Gedit

Snippets

Trechos de códigos adicionados através de disparadores — palavra-chave ou atalho de teclado — que aumentam de maneira estúpida a produtividade.
http://live.gnome.org/Gedit/Plugins/Snippets

Terminal

Exibe um terminal no painel inferior.
http://live.gnome.org/Gedit

Tab Coverter

Converte espaços para tab e vice-versa.
http://www.stambouliote.de/projects/gedit_plugins.html

Tabulation

Força tabulação para arquivos PHP, Ruby e Python. Outros documentos utilizam o padrão definido nas preferências.
http://simplesideias.com.br/gedit-e-tabulacao-por-arquivo/

Instalando tudo isso

Para instalar todos esses plugins e ainda ter um highlight todo modificado, siga os passos abaixo.

Tema

Baixe o arquivo gconf.tar.gz e extraia seus arquivos para ~/.gconf/apps/, substituindo o diretório "gedit-2", caso ele já exista. Veja como deve ser a estrutura de diretórios.

Estrutura de diretórios das configurações GConf do gEdit

As cores foram retiradas do próprio Textmate, e ficaram muito legais. Não apliquei para todas as linguagens, mesmo porque não uso todas. Mas Ruby/RHTML, PHP, CSS, Python, Javascript e HTML estão devidamente formatados.

Após copiar os arquivos rode o comando kill -HUP `pidof gconfd-2` para recarregar as configurações do GConf.

Tema do gEdit baseado no Textmate

Plugins

Instale os plugins que já vem no pacote do gEdit com o comando abaixo:

$~ sudo aptitude install gedit-plugins

Depois, baixe o arquivo plugins.tar.gz e extraia os arquivos para ~/.gnome2/gedit/, substituindo os diretórios, caso existam. Veja como deve ser a estrutura de diretórios.

Estrutura de diretórios de plugins do gEdit

Para sugestões e dúvidas, poste um comentário! :)

Quick Highlight Mode

01/04/07

O gedit tem algumas coisas muito irritantes — assim como o Gnome — mas que podem ser consertadas com um simples plugin. Uma delas é o modo como você define o highlight de um documento. Quando você cria um novo arquivo, ele vem definido como sendo texto. Então, se você quer ativar o syntax highlighting para um outro tipo, você precisa ir através do menu "View > Highlight Mode" e literalmente "caçar" pelo tipo de highlight que você quer. Nada acessível para um software que possui um extenso guia de usabilidade.

Menu de opções - Highlight Mode

Após instalar este plugin, você tem uma nova opção no menu chamada "Quick Highlight Mode".

Menu de opções - Quick Highlight Mode

Ele possui um atalho que o abre o diálogo com um campo auto-completion. O atalho é Ctrl+Shift+H. Veja como é o diálogo:

Diálogo Quick Highlight Mode

Para instalar este plugin, baixe o Quick Highlight Mode e coloque os arquivos em ~/.gnome2/gedit/plugins. Depois, não se esqueça de ativá-lo em Edit > Preferences > Plugins.

Caso tenha sugestões, envie um comentário.

Update: Fiz uma pequena atualização, adicionando bindings para a tecla 'enter'. Estava me irritando ter que pressionar Alt+A (_Apply).

Update 2:Se você está usando a versão que vem com o Ubuntu 7.10 (gedit 2.20), utilize a versão que está neste respositório: http://svn.simplesideias.com.br/general/gedit/plugins/quickhighlightmode/

Executando arquivos direto do gEdit

29/03/07

Uma funcionalidade que não tinha no gEdit e que eu sentia muita falta é a de executar o arquivo que você estava editando. Por exemplo, você pode estar digitando um HTML e gostaria de ver como está ficando, no navegador. Ou, estar fazendo um script em Python, Ruby ou PHP e gostaria de executar esse arquivo sem precisar sair do editor. No SciTE eu conseguia fazer isso com um simples F5. Agora também consigo fazer no gEdit!

Criei um comando para o "External Tools" — plugin muito interessante, por sinal — que roda comandos externos, como o próprio nome sugere. Para utilizá-lo, primeiro ative-o em "Edit > Preferences > Plugins > External Tool". Depois, vá em "Tools > External Tools" e adicione um novo comando. Copie o código abaixo e cole no campo "Command(s)".

Se você TEM Ruby instalado, use este script:

#!/usr/bin/env ruby
 
current_file = ENV['GEDIT_CURRENT_DOCUMENT_PATH']
 
if not current_file
  puts "The current file cannot be runned."
elsif current_file =~ /\.(php|py|rb|html|htm|xml)$/i
  commands = {
    'php' => "php -f #{current_file}",
    'rb' => "ruby #{current_file}",
    'py' => "python #{current_file}",
    'browser' => "gnome-open #{current_file}"
  }
  extension = $1
  extension = 'browser' if ['xml', 'html', 'htm'].include?(extension)
 
  command = commands[extension]
 
  puts "Running command #{command}\n\n"
  system(command)
end

Se você NÃO TEM Ruby instalado, use este script:

#!/usr/bin/env python
 
import re
import os
 
current_file = os.getenv("GEDIT_CURRENT_DOCUMENT_PATH")
match = re.search('\.(php|py|rb|html|htm|xml)$', current_file)
 
if match is None:
    print "The current file cannot be runned"
else:
    commands = {
        'php': 'php -f "%s"',
        'rb': 'ruby "%s"',
        'py': 'python "%s"',
        'browser': 'gnome-open "%s"'
    }
 
    extension = match.group(1)
 
    if extension in ['xml', 'html', 'htm']:
        extension = 'browser'
 
    command = commands[extension] % current_file
    print "Running command %s\n\n" % command
    os.system(command)

External Tools: Adicionando o novo comando

Agora, quando você estiver executando um arquivo .php, .rb, .py ou .htm/.html e quiser executá-lo, basta pressionar F5 e pronto! Se for HTML abre no navegador padrão. Se for um dos outros que mencionei ele executa e exibe a saída no "Shell Output". Veja a saída de um script Ruby:

Output de um script em Ruby executado através do External Tools

Update: Adicionado suporte a XML com comportamento semelhante de HTML.

Update 2: Adicionado versão Python do script para quem não tem Ruby instalado.