Emacs equivalente deste comando Vim para executar meus testes?

2

Estou usando o Emacs no momento e fazendo experimentos para o desenvolvimento do Rails e há uma coisa que faço regularmente no Vim e gostaria de saber se existe um equivalente no Emacs ou um fluxo de trabalho alternativo para alcançar o comportamento que eu preciso.

O comando no Vim é

:map ;t :!rspec --no-color %<cr>

Essencialmente, isso mapeia uma combinação de teclas para executar um comando bash / shell no arquivo representado pelo buffer atual ( % expande para o nome do arquivo em tempo de execução, o <cr> é apenas um retorno de carro no final para executar o comando comando).

Eu mapeio todos os tipos de pequenos comandos aleatórios como e quando eu preciso deles e realmente sinto falta do imediatismo dessa abordagem.

Como posso conseguir algo semelhante?

    
por eightbitraptor 22.11.2011 / 21:21

1 resposta

3

esta função solicita um comando e o executa no arquivo de buffer atual. se nenhum arquivo estiver associado ao buffer atual, haverá um erro

(defun shell-command-on-buffer-file ()
 "prompts for a command and executes that command on to the associated 
 file of current buffer. if no buffer is associated gives an error"
  (interactive)
  (or (buffer-file-name) (error "no file is associated file to this buffer"))
  (let* ((my-cmd (read-shell-command "Command to run: "))
         (cmd-to-run (concat my-cmd " " (buffer-file-name))))
   (shell-command cmd-to-run)))

como de costume, o emacs salva o histórico dos comandos que você deu até agora, que podem ser acessados usando M-p, M-n

    
por 23.11.2011 / 01:12

Tags