J'ai écrit 100 exercices narray qui est une version Ruby de 100 exercices numpy dans Markdown, mais je l'ai écrit dedans. Vous devrez copier et coller un morceau de code. C'était assez ennuyeux de répéter cette exécution de copier-coller, alors j'ai cherché comment rendre possible l'exécution de la plage de sélection du fichier ouvert par Emacs avec une seule commande M-x.
CentOS Linux release 7.2.1511 (Core)
GNU Emacs 24.3.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.8.8)
Le but est de sélectionner et d'exécuter la partie de code dans ce Markdown.
## Sample MD
Python:
```python
import numpy as np
Z = np.arange(10)
print(Z)
```
Ruby:
```ruby
require "numo/narray"
z = Numo::DFloat.new(10).seq
```
Il existe deux façons d'exécuter Python dans le tampon Emacs: python.el et python-mode.el.
Il est inclus dans Emacs en standard, donc aucune installation n'est requise.
(require 'python)
Ce paramètre est inutile car il sera chargé automatiquement lorsque vous ouvrez .py, mais il est nécessaire car il ne sera pas chargé lorsque vous exécuterez un morceau de code de Markdown.
Ouvrez le fichier Markdown dans Emacs, sélectionnez le code Python et exécutez la commande suivante.
M-x python-shell-send-region
Ensuite, python en mode interactif démarre et le résultat de l'exécution est enregistré dans le tampon * Python [nom de fichier] *
, mais il n'apparaît pas au premier plan, vous devez donc basculer vers le tampon.
(2) python-mode.el
Cela prend également en charge IPython.
Récupérez la source sur le site python-mode.el et installez-la.
(require 'python-mode)
Ceci est également nécessaire lors de l'exécution d'extraits de code Markdown.
M-x py-execute-region
Le mode interactif python démarre, et un tampon appelé `` * Python * '' apparaît sur l'écran partagé et le résultat de l'exécution est affiché.
Si vous souhaitez le transmettre à IPython au lieu du mode interactif python, utilisez la commande suivante.
M-x py-execute-region-ipython
Inf-ruby.el (Inferior Ruby Mode) est utilisé pour exécuter Ruby dans le tampon Emacs, mais il existe également deux types.
Ce qui est inclus dans le code source de Ruby. La mise à jour est arrêtée depuis longtemps.
Placez misc / inf-ruby.el dans l'arborescence des sources Ruby dans un chemin approprié.
(autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process")
(require 'inf-ruby)
M-x run-ruby
M-x ruby-send-region
Développé sur https://github.com/nonsequitur/inf-ruby. Cela a été modifié à partir de la version de pièce jointe Ruby ci-dessus et prend également en charge Pry. La version que j'ai essayée était la 2.4.0.
Obtenez inf-ruby.el à partir de l'URL ci-dessus. Lorsque vous utilisez irb, de nombreuses invites inutiles sont affichées telles quelles et il est difficile de les voir, alors modifiez-les en ajoutant --inf-ruby-mode à l'option, puis placez-les dans un chemin approprié.
diff --git a/inf-ruby.el b/inf-ruby.el
index deb5769..39f586d 100755
--- a/inf-ruby.el
+++ b/inf-ruby.el
@@ -83,7 +83,7 @@ Also see the description of `ielm-prompt-read-only'."
:group 'inf-ruby)
(defcustom inf-ruby-implementations
- '(("ruby" . "irb --prompt default --noreadline -r irb/completion")
+ '(("ruby" . "irb --prompt default --inf-ruby-mode -r irb/completion")
("jruby" . "jruby -S irb --prompt default --noreadline -r irb/completion")
("rubinius" . "rbx -r irb/completion")
("yarv" . "irb1.9 -r irb/completion")
(autoload 'inf-ruby "inf-ruby" "Run an inferior Ruby process" t)
M-x inf-ruby
M-x ruby-send-region
Si vous souhaitez utiliser Pry au lieu d'irb, ajoutez la ligne suivante à ~ / .emacs.el.
(setq inf-ruby-default-implementation "pry")
référence: http://d.hatena.ne.jp/rubikitch/20140627/pry
Recommended Posts