Tôi có một tệp văn bản. Emacs có thể chọn văn bản dựa trên regex và đặt nó trong kill-ring, vì vậy tôi có thể sao chép nó ở một nơi khác? Một cái gì đó giống như regex-kill-ring-save?Emacs sao chép với regex
Trả lời
lấy cảm hứng từ những ý kiến đã được đưa ra (câu trả lời Charles không làm việc như tôi muốn nó), tôi đã thêm một chức năng mới cho isearch/isearch-regexp bản đồ chế độ trong đó đặt chỉ chuỗi khớp vào vòng kill (trong khi Charles đề nghị giết chết từ điểm hiện tại đến cuối phù hợp với string):
(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)
những điều tốt đẹp về isearch/isearch-regexp cách tiếp cận (mà bạn có thể bật với C-s
và C-M-s
tương ứng) là bạn có thể thấy chuỗi tìm kiếm của mình đang phát triển và bạn có thể sao chép nó với M-w
ngay sau khi bạn hài lòng (và quay lại nơi bạn đã ở trước với C-u C-Space
).
Điều này phù hợp với tôi với Emacs 23.1. Không biết nếu nó sẽ làm việc trong mọi tình huống. Dù sao tôi hy vọng bạn thấy nó hữu ích :)
CẬP NHẬT: thông qua các emacswiki Tôi tình cờ hơn KillISearchMatch cho thấy nhiều hay ít giống nhau (cộng thêm một số mẹo khác ...).
Chúc mừng, Daniel
Tôi không chắc chắn nếu có một chức năng như vậy đã có, nhưng những gì bạn có thể làm điều đó với một macro bàn phím:
- Bắt đầu ghi macro kbd:
C-x (
- Tìm kiếm regexp của bạn với
search-forward-regexp
- Di chuyển đến đầu trận đấu của bạn (văn bản bạn muốn giết) bằng các lệnh điều hướng emacs khác nhau, ví dụ:
search
hoặcbackward-word
, vv - Mark:
C-spc
- Di chuyển đến cuối trận đấu của bạn
- Giết đoạn Phúc Âm:
C-w
Sau đó bạn có thể đặt tên cho vĩ mô bàn phím với M-x name-last-kbd-macro
để bạn có thể thực hiện macro có tên thay vì với C-x e
.
Nếu bạn muốn lưu macro cho các phiên trong tương lai, bạn có thể mở .emacs
và chèn macro vào bộ đệm với M-x insert-kbd-macro
. Sau khi bạn có thể liên kết khóa với macro giống như bạn liên kết các khóa với các hàm emacs bình thường, ví dụ: (global-set-key "\C-c m" 'funky-macro-macro)
.
Isearch+ thực hiện điều này rồi. Tùy chọn đặt khu vực xung quanh mục tiêu tìm kiếm. Bạn có thể sử dụng C-SPC bất kỳ lúc nào trong khi Tìm kiếm để chuyển đổi điều này.
- 1. Emacs sao chép các dòng phù hợp
- 2. Sao chép/Dán trong vỏ anac emacs ansi
- 3. Cách sao chép vào clipboard trong Emacs Lisp
- 4. emacs: Có thể kết hợp các chuỗi với parens cân bằng với emacs regex không?
- 5. Thay thế Regex bằng Emacs
- 6. sao chép Selective với CouchDB
- 7. Emacs regex tương tác thay thế
- 8. Sao chép NSString không sao chép?
- 9. Hàng sao chép/sao chép Laravel4
- 10. copy_backward hoặc sao chép với reverse_iterators?
- 11. Sao chép và Dán Android với TextView
- 12. thuật toán sao chép với ifstream
- 13. Sao chép chuyển đổi css3 với jquery
- 14. Sao chép() so với vòng lặp for?
- 15. emacs sao chép kill-ring vào clipboard của hệ thống ở chế độ nowindow
- 16. Cho phép kiểm soát-c và kiểm soát-v sao chép và dán trong Emacs
- 17. Whats cách tốt nhất để sao chép/sao chép dự án thành một mới với git?
- 18. Làm thế nào để sao chép/sao chép một bản ghi sql với CakePhp?
- 19. Emacs sao chép chức năng M-RET của chế độ org ở chế độ đầu tiên
- 20. Sao chép/Sao chép/Sao chép một Hồ bơi Ứng dụng Hiện tại trong IIS 7
- 21. Sao chép máy chủ SQL không sao chép khóa ngoài
- 22. Sao chép bằng hộp thoại sao chép Windows
- 23. Có cách nào để sao chép văn bản từ các emacs với các khuôn mặt trong Windows không?
- 24. Cách sao chép văn bản từ Emacs sang ứng dụng khác trên Linux
- 25. Emacs cách sao chép-dán, thay đổi mũi tên chữ, vv
- 26. Sao chép constructor: sâu sao chép một lớp trừu tượng
- 27. Cách sao chép hoặc sao chép một mảng các mảng
- 28. Sao chép/Sao chép Bản đồ Javascript Biến
- 29. Sao chép SQL Azure
- 30. Trình soạn thảo Eclipse có tương đương với "align-regex" của Emacs không?
Cảm ơn, đó chỉ là những gì tôi muốn, nhưng không thể thực hiện được kể từ khi tôi hút LISP. –