Bir metin dosyasına sahibim. Emacs, regex'e göre metni seçebilir ve öldürme halkasına koyabilir, böylece başka bir yere kopyalayabilirim? Regex-kill-ring-save gibi bir şey mi?Emacs regex ile kopyala
cevap
(Charles cevap bunu isteyeyim olarak çalışmıyor), sadece eşleştirme dizesi koyar ISearch/ISearch-regexp modu Haritaya yeni fonksiyon eklendi
(defun hack-isearch-kill()
"Push current matching string into kill ring."
(interactive)
(kill-new (buffer-substring (point) isearch-other-end))
(isearch-done))
(define-key isearch-mode-map (kbd "M-w") 'hack-isearch-kill)
(sırasıyla C-s
ve C-M-s
ile etkinleştirebilirsiniz) ISearch/ISearch-regexp yaklaşımının iyi şudur: Kill ringe (Charles önerisi anki noktadan öldürür oysa dize eşleşen sonuna kadar) arama dizenizi büyüyebilir ve kopyalayabilirsiniz memnun kaldığınız anda M-w
ile (ve C-u C-Space
ile daha önce bulunduğunuz yere geri dönün).
Bu benim için Emacs 23.1 ile çalışır. Her durumda çalışıp çalışmadığını bilmiyorum. Ben aşağı yukarı aynı anlaşılacağı KillISearchMatch (artı biraz daha ipucu ...) üzerinde tökezledi emacswiki geçiyor: Neyse ben bunu yararlı :)
GÜNCELLEME bulursun.
Alkış, Daniel
böyle bir işlev zaten varsa emin değilim, ancak bir klavye makro ile bunu yapabileceklerini: search-forward-regexp
ile regexp için C-x (
- Başlat bir kbd makro kaydetme
- Çeşitli emacs gezinme komutlarıyla eşleştirmenin (öldürmek istediğiniz metin) başına gidin.
search
veyabackward-word
vb - Mark:
C-w
Ardından yürütmek böylece M-x name-last-kbd-macro
ile klavye makro adlandırabilirsiniz:
C-spc
C-x e
yerine bir ada sahip makro. Makroyu gelecek oturumlar için kaydetmek isterseniz, .emacs
'nu açıp makroyu M-x insert-kbd-macro
numaralı arabelleğe ekleyebilirsiniz. Daha sonra, anahtarları normal emacs işlevlerine bağladığınız gibi makroya bir anahtar bağlayabilirsiniz. (global-set-key "\C-c m" 'funky-macro-macro)
. Zaten verilen yorumlarla esinlenerek
Isearch+ zaten bunu yapar. İsteğe bağlı olarak arama hedefi çevresindeki bölgeyi ayarlar. Bunu değiştirmek için, İş Arama sırasında herhangi bir zamanda C-SPC'u kullanabilirsiniz.
- 1. Emacs as Finder/Explorer - dosyaları kopyala
- 2. Kopyala Laravel ile yeniden adlandırma
- 3. ben Emacs ile çalışırken
- 4. Emacs regex word sınırı (özellikle alt çizgilerle ilgili)
- 5. Kopyala yapıştır
- 6. Regex ile -, ::, (ve)
- 7. Django filtresi regex ile
- 8. ile ve regex
- 9. Python: Regex ile değiştir
- 10. Android TextView ile Kopyala ve Yapıştır
- 11. Vikipedi dökümünü python -m ile kopyala gensim.scripts.make_wiki
- 12. Yalnızca varolan dosyaları robocopy ile kopyala
- 13. Emacs, R, Sweave: Emacs
- 14. Emacs
- 15. Emacs
- 16. Emacs
- 17. Emacs
- 18. Dosyayı dosya klasörüne kopyala
- 19. Emacs
- 20. Emacs
- 21. Emacs
- 22. emacs,
- 23. Emacs
- 24. Emacs
- 25. Emacs
- 26. Emacs
- 27. Regex ile CSS ifadesini ayrıştırma
- 28. MongoDB regex Array ile arama
- 29. Sayısal Regex egrep ile karıştırılıyor?
- 30. Yazdır regex java ile eşleşiyor
Teşekkürler, istediğim şey buydu, ama LISP'ye emdiğimden beri yapamadım. –