Usando emacs, vim e gdb Um guia BEM básico Fábio Augusto Salve Dias fabio.dias@gmail.com
Emacs Editor MACroS http://www.gnu.org/software/emacs/ Disponível para inúmeras plataformas Versátil e expansível Possibilita debug, execução de comandos, leitura de e-mails e até um psiquiatra de maneira integrada.
Vantagens Versões gráficas e modo texto (ssh) Syntax highlight para inúmeras linguagens C/C++, Java, HTML, tex, phyton, vhdl... Auto-tabulação tabulação TAB identa a linha corrente (opinião pessoal) Salva backups automaticamente Tudo pode ser feito por teclas de atalho
Desvantagens Interface pouco intuitiva Utiliza conjuntos de teclas de atalho bastante incomuns, como Ctrl+Y para colar e Ctrl+W para recortar. Selecionar com o mouse automaticamente copia. Em modo texto, os menus são abertos através da tecla F10 Em comparação com o vim, é pesado.
Usando o emacs Abrir arquivo: Jeito fácil: emacs nomearq.txt : Abre o arquivo ou cria se não existir Jeito não-fácil Abra o emacs, adicione um novo buffer (no menu buffer, em console acessível pelo F10), e escreva nele.
Usando o emacs Salvar: Ctrl+X Ctrl+S Sair: Ctrl+X Ctrl+C Recortar: Ctrl+W Colar: Ctrl+Y Identar a linha: TAB Localizar: Ctrl+S Substituir: Alt+Shift+5 (Alt+%) Abrir o Menu: F10
Usando o emacs A tecla META (M) Pode ser acessada como: Alt Exemplo: M-x => Alt+x (sem soltar o alt) Esc apertar e soltar Exemplo: M-x => Esc x
Mais informações Emacs Manual http://www.gnu.org/software/emacs/manual/e macs.html Emacs FAQ http://www.gnu.org/software/emacs/#helpfaq
vim VI improved http://www.vim.org/ Praticamente onipresente em sistemas *nix Syntax highlight para infinitas linguagens e tipos de arquivos, incluindo os arquivos.conf do linux, por exemplo Levíssimo
Usando o vim Básico do básico: O vim funciona em modos. Ao abrir um arquivo, ELE NÃO ESTÁ EM MODO DE EDIÇÃO,, e sim no modo de comando. Para entrar no modo de edição, aperte INSERT. Para ir ao modo de comando, aperte ESC.
Usando o vim Comandos são usados somente no modo de comando, e sempre são precedidos por :. Salvar: :w Sair: :q Salvar e sair: :wq Sair sem salvar: :q!
Maiores informações http://www.las.ic.unicamp.br/~iuriatan/quic kvim.txt www.truth.sk/vim/vimbook-opl.pdf Livro com 572 páginas sobre o vim (!!) www.vim.org
gdb The GNU Project Debugger http://www.gnu.org/software/gdb/ Capaz de depurar código em várias plataformas e linguagens.
Usando o gdb (com gcc) Primeiro passo: Adicionar a opção -g à linha de compilação do programa a ser depurado. Com isso, o gcc adicionará as informações necessárias para depuração no executável. gdb lab6 < lab6.in Abre o gdb, carregando o executável lab6, e usa como entrada deste o arquivo lab6.in
Comandos do gdb b <funcao/arquivo_fonte:num_linha> Cria um breakpoint na função ou linha especificada do código fonte. Ex: ra015988@apoena:~$ gdb gp GNU gdb 2002-04 04-01 01-cvs Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-linux"... (gdb) b main Breakpoint 1 at 0x80490b4: file. main.c, line 70. (gdb)
Comandos do gdb r Executa o programa do início c Continua a execução de um programa
Comandos do gdb p <expressao> Mostra o resultado da expressão. Esta pode ser composta por operações, chamadas de funções e variáveis. Pode-se inclusive alterar o conteúdo da variável. Ex: (gdb) p start $3 = {wall = 1} (gdb) p (start=2) $4 = {wall = 2} (gdb) p start $5 = {wall = 2}
Comandos do gdb L (ele não é case sensitive) Lista 10 linhas do código, a partir do ponto atual de execução ou do fim da listagem anterior. Possui mais opções (gdb) help L
Comandos do gdb where Indica o ponto atual de execução do programa. Útil para localizar os tão temidos SEGFAULT
Comandos do gdb n <num_steps> Avança uma (ou num_steps) linha(s) de código na execução do programa. Não entra em subrotinas s <num_steps> Idêntico ao s, mas entra em sub-rotinas.
Comandos do gdb k Interrompe a execução do programa atual. q Sai do gdb
Maiores informações http://www.gnu.org/software/gdb/documen tation/ (gdb) help [comando]