[R-br] off-topic Criar função no emacs para fazer um Text-template

Diogo Ferrari diogoferrari em gmail.com
Segunda Janeiro 19 22:34:38 BRST 2015


Augusto,

Ha diversas formas de fazer isso. Vou descrever 3, voce ve qual acha
melhor.
No seu arquivo .emacs, voce pode incluir os codigos abaixo, dependendo de
como voce quer usar o atalho. Particularmente, eu uso uma combinacao das
tres formas de criar atalhos, e minha escolha depende do objetivo do atalho
(comando latex, environment em latex, template para gerar pdf e .tex a
partir do org-mode, como artigos e apresentacoes em beamer). Para latex, eu
uso essencialmente a segunda forma.

Uma sugestao: voce pode criar um arquivo abbreviacoes.el, com todas as
abreviacoes e shortcuts, e depois carregar esse arquivo a partir do seu
arquivo .emacs da forma usual:

(setq load-path (cons "path para pasta com abreviacoes.el" load-path))
(require 'abreciacoes)

Aqui vao as tres formas:

Primeira forma:
; define C-c 7 como atalho para escrever o que esta entre aspas
(global-set-key (kbd "C-c 7") "####### \n ## your text... \n ######" )

Segunda forma:
; define 8# como abbreviacao para o que esta entre aspas. Voce digita 8##
; no buffer e depois espaco ou enter ou tab e tudo que esta entre aspas na
segunda
; string aparece no lugar da primeira
(define-abbrev-table 'global-abbrev-table '(
    ;; definindo abreviacoes
    ("8#" "####### \n ## your text... \n ######")
    ("8fr" "\frac{}{}")
)

Terceira forma:
; definindo skeleton
(define-skeleton texto1
  "Meu texto 1"
  nil
"##########
####
##########")
(defun insere-texto1 ()
  (texto1))
; definindo atalho para skeleton
(global-set-key (kbd "C-c 7") 'insere-texto1)


go Emacs!

abs



2015-01-19 18:42 GMT-05:00 Leslie Watter <watter em gmail.com>:

> Augusto,
>
> O que vc precisa é um pouco de elisp.
>
> Emacs  lisp == elisp.
>
> https://www.gnu.org/software/emacs/manual/elisp.html
>
> O caminho das pedras inicial é meio chatinho, mas com alguns exemplos fica
> mais fácil.
>
> Nesse link: https://github.com/watter/moneylog-el
>
> vc tem um exemplo de funções elisp com comentários em portugues.
> Basicamente são funções para inserir informações de texto no formato do
> moneylog.
>
> Qualquer dúvida é só perguntar ;-)
>
> []s
>
>
> Leslie
>
>
>
> 2015-01-19 15:56 GMT-02:00 Augusto Ribas <ribas.aca em gmail.com>:
>
>> Ola pessoal.
>>
>> Estou tentando aprender como faz para criar funções no Emacs, mais
>> especificamente macro.
>>
>> Algo do tipo, eu aperto ctrl c mais alguma coisa e ele colocar um
>> trechinho de texto no buffer que ta selecionando.
>>
>> Por exemplo algo assim
>>
>>
>> #####################
>> #
>> #####################
>>
>> Pra mim escrever um titulo, sei la.
>>
>> Alguém tem algum exemplo de algo assim?
>> Eu estou apanhando um pouco de alguns manuais que estou tentando ler.
>>
>> Bem agradeço a atenção.
>>
>> --
>> Grato
>> Augusto C. A. Ribas
>>
>> Site Pessoal: http://recologia.com.br/
>> <http://augustoribas.heliohost.org>
>> Github: https://github.com/Squiercg
>> Lattes: http://lattes.cnpq.br/7355685961127056
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
>
> --
> Leslie H. Watter
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>



-- 
Diogo Ferrari
PhD Student
University of Michigan, Ann Arbor
Department of Political Science
E-mail: dferrari em umich.edu

Open Source! Use R! Use Linux!

"A vida é a arte de tirar conclusões suficientes de dados insuficientes"
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150119/83aa5e29/attachment.html>


Mais detalhes sobre a lista de discussão R-br