Publicações com a etiqueta "dica"

Emacs: Ediff lado-a-lado e sem o irritante frame pop-up

Por semente em 18 Out, 2010 17h38

Achei hoje sem querer, e de uma só vez, duas modificações no Ediff que sempre desejei mas que nunca busquei por uma solução:

;; buffers do Ediff lado-a-lado
(setq ediff-split-window-function 'split-window-horizontally)

;; ao invés do frame pop-up do Ediff, uma elegante window
(setq ediff-window-setup-function 'ediff-setup-windows-plain)

Para quem não sabe, Ediff é um modo do Emacs que fornece uma maneira conveniente de trabalhar com diffs, principalmente na hora de fazer merge, resolver conflitos e etc em códigos.

Quem precisa do Meld? :-)

Tornando shell scripts executáveis automaticamente com Emacs

Por semente em 06 Set, 2010 17h06

Cansado de dar um chmod +x em seus scripts recém criados? O hook abaixo (para GNU Emacs) faz isso por você ao salvar um arquivo quando o mesmo possui um #! em seu início:

(add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p)

Compartilhar "clipboard" entre X e GNU Emacs

Por semente em 30 Ago, 2010 7h30

Configurando a varíavel x-select-enable-clipboard para não-nulo ativa o compartilhamento da seleção primária entre o Emacs e o clipboard (ou área de transferência, como queira) do X.

Esta opção é ativa por padrão no Windows.

(setq x-select-enable-clipboard t)

Dicas de Emacs

Por semente em 30 Ago, 2010 7h20

O GNU Emacs faz parte do meu dia-dia e, como este blog anda pouco movimentado, de agora em diante tentarei publicar ao menos uma dica por semana a respeito do mesmo.

O Emacs é extremamente flexível e extensível, o que o torna um dos mais poderosos editores de texto que se tem notícia até hoje. A produtividade que pode-se obter com ele para qualquer atividade relacionada a edição de texto (desde desenvolvimento de software à organização pessoal e e-mails) é impressionante.

A primeira release do Emacs foi em 1977 e existe muita gente que o utiliza há mais de 3 décadas. Comecei a utilizar Emacs há mais de cinco anos e seria impossível trocá-lo por outra coisa. Simplesmente não consigo obter a mesma produtividade em outro editor de textos atualmente.

Nem todo software poderá agradá-lo 100%, no Emacs isso é facilmente contornável personalizando-o à sua maneira. Meu arquivo de configuração (que agora na verdade são divididos em vários) possui muita coisa interessante que gostaria de compartilhar com vocês através deste blog.

Então, bom proveito!

Comentar Etiquetas: dica, emacs

Extensões essenciais para Mozilla Firefox

Por semente em 05 Jun, 2009 16h27

Sou um antigo usuário do Epiphany (navegador oficial do projeto GNOME) e era feliz, mas hoje em dia eu estou utilizando o Mozilla Firefox devido as suas várias extensões (addons) para desenvolvimento web.

Poderia até utilizar os dois navegadores (e utilizava) sendo o Firefox apenas para desenvolvimento, mas é muito mais agradável manter todo seu histórico, marcadores e tudo mais em um único navegador porque, queira ou não, você acaba utilizando os dois para navegação.

Porém nem tudo são flores! Considero a usabilidade do Epiphany superior e voltar ao Firefox não foi fácil, principalmente - acredite - devido a duas extensões do Epiphany relacionado às abas.

Felizmente há um tempo atrás eu encontrei duas extensões equivalentes para o Firefox, são elas:

  1. Tabs Open relative e;
  2. Tabs History.

A primeira faz com que toda nova aba seja inserida logo após a aba em que você está, mantendo uma maior organização de suas abas. Uma mão na roda para quem mantém muitas abas abertas e recorrentemente precisa percorrer uma longa lista de abas para encontrar as novas que, por padrão, são abertas no final.

Já a segunda extensão mantém o histórico da aba do link de origem, ou seja, se você abre um link em uma outra aba, todo o histórico da aba onde continha o link vai junto.

Sua vida muda depois de ativar essas duas extensões! Aproveito também para listar outras extensões úteis para seu dia-a-dia:

E como não poderia faltar, segue as extensões que uso para desenvolvimento web que todo já deve conhecer:

  • Firebug
  • Firecookie
  • YSlow
  • Web Developer
  • ColorZilla

No mais, fico no aguardo de uma versão estável do Epiphany com a engine WebKit.

Pré-inicializando formulários de um FormWizard

Por semente em 22 Jan, 2009 20h40

Se você precisa pré-inicializar dados de formulários num FormWizard do Django, você consegue da seguinte forma:

my_wizard = MyWizard(
     [StepOneForm, StepTwoForm],
     initial={
         1: {field_x: data, field_y: data, ...},
         2: {field_x: data, field_y: data, ...},
         ...
     }
)

Certo? Ok, mas e se eu quiser inserir estes dados dinamicamente, de acordo com o usuário logado no site?

A forma que eu encontrei de fazer isso foi sobrescrevendo alguns métodos da classe FormWizard. Veja um exemplo:

from django.contrib.formtools.wizard import FormWizard

class MyWizard(FormWizard):

    def parse_params(self, request, *args, **kwargs):
        self.user_data = {
            'first_name' = request.user.first_name,
            'last_name' = request.user.last_name
        }

    def get_form(self, step, data=None):
        if step == 1:
            return self.form_list[1](data, prefix=self.prefix_for_step(1),
                                     initial=self.user_data)
        else:
            super(MyWizard, self).get_form(step, data)

    ...

Não conhece o form wizard do Django? Leia mais a respeito na documentação oficial do utilitário.