2011-02-01 34 views
14

Tôi có một chuỗi như thế này (separtred bởi dấu hoa thị):Emacs query-replace với newlines

abc*dddd*fffff* 

tôi cần phải thay thế các * với một dòng mới. tức là kết quả phải là:

abc 
dddd 
fffff 

Làm cách nào để thực hiện điều này trong Emacs? Tôi đã thử query-replace nhưng nhấn nhập không làm những gì tôi muốn.

Trả lời

27

Trích dẫn phím enter: C-q C-j. Ở đó, C-q chèn khóa tiếp theo theo nghĩa đen và C-j cho dòng mới.

+0

'C-j' tạo ASCII 0x0a (\ n, dòng mới, dòng thức ăn). Phím ENTER tạo ra 0x0d (\ r, vận chuyển trở về). Bất cứ ai biết nền tảng cho điều này? – maxelost

+0

Trong lịch sử, các phím điều khiển được biểu diễn (trên các thiết bị đầu cuối nối tiếp và các giao thức luồng byte khác) như '^ A' = 1,'^B' = 2, v.v. Và vì vậy '^ J' là 10. ENTER là (tùy ý? Tôi không biết) giống như'^M', hoặc 13. – nelhage

+1

Bài cũ, nhưng khóa bạn đang gọi ENTER thực sự được gọi là phím trả về vận chuyển, trong khi phím ENTER là phím trên bàn phím số. – Sardtok

6

Hãy thử query-replace     nhập     *     nhập     M-j     nhập    !     nhập

Các vấn đề liên quan