2011-02-01 10 views
14

mam ciąg jak poniżej (separtred gwiazdką):Emacs kwerendy zastąpić nowymi liniami

abc*dddd*fffff* 

muszę wymienić * nową linią. tj. wynik powinien wynosić:

abc 
dddd 
fffff 

Jak mogę to zrobić w Emacs? Próbowałem query-replace, ale naciśnięcie klawisza wprowadziło nie robi tego, co chcę.

Odpowiedz

27

Zacytuj klawisz Enter: C-q C-j. Tam, C-q wstawia następny klucz dosłownie, a C-j podaje znak nowej linii.

+0

'C-j' generuje kod ASCII 0x0a (\ n, znak nowej linii, wierszowanie). Klawisz ENTER generuje 0x0d (\ r, powrót karetki). Ktoś, kto zna to tło? – maxelost

+0

Historycznie, klucze sterujące były reprezentowane (przez terminale szeregowe i inne protokoły strumienia bajtowego) jako '^ A' = 1,'^B' = 2 i tak dalej. A więc '^ J' jest 10. WPROWADZENIE (arbitralnie? Nie wiem) to to samo co'^M' lub 13. – nelhage

+1

Stary post, ale klawisz, który wywołujesz, jest nazywany klawiszem powrotu karetki, podczas gdy klawisz ENTER znajduje się na klawiaturze numerycznej. – Sardtok

6

Spróbuj query-replace     wprowadzić     *     wprowadzić     M-j     wprowadzić    !     Wpisz

Powiązane problemy