Geçtiğimiz günlerde Emacs'i bir Python IDE olarak kullanmaya başladım ve gayet sezgisel değil ... Şu anda mücadele ettiğim sorun, komut satırı argümanlarını alt seviyeye nasıl geçireceğimizdir Tampon Cc Cc ile değerlendirildiğinde python kabuğu. Yardım için teşekkürler.Emacs: arabellek değerlendirmesi sırasında alt Python kabuğuna argümanları iletme
cevap
Bu, kolayca mümkün görünmüyor; python.el
modülü tarafından yönetilen inferior süreç, python-send-buffer
(ve arkadaşların) birçok çağrışımını sürdürmek için tasarlanmıştır. eğer
(defun python-send-buffer-with-my-args (args)
(interactive "sPython arguments: ")
(let ((source-buffer (current-buffer)))
(with-temp-buffer
(insert "import sys; sys.argv = '''" args "'''.split()\n")
(insert-buffer-substring source-buffer)
(python-send-buffer))))
, o zaman, *scratch*
tamponu içinde bu işlevi Yürütme ve/veya .emacs
dosyaya kaydetmek: buldum bir çözüm alt sürecin içinden programlı sys.argv
setleri kendi işlevini yazmaktır İsterseniz, uygun bir tuş dizisine bağlayın. C-c C-a
yüzden belki, python-mode
tarafından kullanılacak görünmüyor:
(global-set-key "\C-c\C-a" 'python-send-buffer-with-my-args)
komut argümanlar kullanmak için, daha sonra sys.argv
ayarlayan bir kod parçacığı ile prepending, geçici tampon içine kaynak tampon kopyalamak isteyecektir Sağladığınız argümanların listesine ve son olarak python-send-buffer
'u arayacaktır. Eğer onları boşluk var argümanları tedarik gerekiyorsa, daha sofistike bir algoritma gerekir böylece
Yukarıdaki kod sadece safça sen, boşluk yazdığınız dize bölecek.
- 1. emacs arabellek otomatik kapat?
- 2. İletme isteği sırasında yönlendirilemiyor
- 3. emacs: seçimdeki arabellek listesini kapat
- 4. Emacs devre dışı * İletiler * arabellek
- 5. Emacs shell komutu arabellek üzerinde
- 6. Geçerli arabellek Emacs'deki Python yorumlayıcısına nasıl yüklenir?
- 7. Köşeli Yönergesi, argümanları denetleyiciye iletme ve denetleme
- 8. Yüce metin 3 python kabuğuna nasıl erişebilirim?
- 9. Emacs: Varsayılan olarak dikey bölmede arabellek aç
- 10. .emacs uzantısı olmadan arabellek dosyası adı edinin
- 11. Symfony2'nin Servisi Konteyner - Servis kurucusuna sıradan argümanları iletme
- 12. Aynı işlevsellik sırasında C# 'da kısa devre değerlendirmesi nasıl önlenir
- 13. Python Hizmeti Özel Komut Argümanları
- 14. emacs,
- 15. Python argümanları ve anahtar kelime argümanları en iyi uygulamalar
- 16. Değiştirilmiş bir python dosyasını emacs python kabuğunda yeniden yükleme
- 17. Bogus ayrıştırması/karmaşık hazırlıklar değerlendirmesi
- 18. Arabellek değişikliklerini vurgula
- 19. Emacs org modu: arabellek değişkenini ve erişim değişkenini tanımlayın
- 20. İletme argümanlar
- 21. Test dizinini rebar3 kabuğuna yükleyin
- 22. Python bağlantı noktası iletme/çoğullama sunucusu
- 23. python - işlev nesnesi bekleniyor argümanı iletme
- 24. Bir e-postayı python ile iletme smtplib
- 25. Emacs lisp'de argümanları başka bir işleve nasıl geçirirsiniz?
- 26. Kivy (Python) TypeError: beklenen dize veya arabellek
- 27. Python (json): TypeError: beklenen dize veya arabellek
- 28. Emacs python modu için özel Python kabuğu
- 29. Bir işlev ve argümanları R? Python
- 30. Python dekoratörü koruma işlevi argümanları oluştur
Teşekkür ederim Sean, fikrim var. Bu hile yapar. Bu durumda, temel işlevi çağırmadan önce argümanları doğrudan sys.argv değişkenini ayarlayarak da aktarabilirim. Harika bir fikir için – Sammy
+1. –
bu hata 'progn alırsanız: Symbol fonksiyon tanımı geçersizdir: python-send-buffer'' piton-kabuk-send-buffer' değişen 'piton-send-buffer' deneyin. – boclodoa