[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Replace all tab characters in buffer with newline
From: |
Kevin Rodgers |
Subject: |
Re: Replace all tab characters in buffer with newline |
Date: |
Wed, 15 Jan 2014 23:30:18 -0700 |
User-agent: |
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20 |
On 1/15/14 9:51 AM, Angus Comber wrote:
Hi I found a way to do this:
c-m-% then C-Q<tab> replace with: C-Q C-J
C-j is the key thing that works.
Reason is that C-J means a newline and if you just press enter that is
interpretted by emacs as the end of the command. (Or anyway is interpretted
differently).
[Please don't top-post.]
For a precise explanation of that interpretation:
1. C-h f read-event
Note that evaluating (read-event "Event: ") in the *scratch* buffer and then
hitting the Enter key returns [return] i.e. a vector with 1 element which
is a symbol.
2. C-h f read-key
Note that evaluating (read-key "Key: ") in the *scratch* buffer and then
hitting the <Enter> key returns 13, which is the ASCII code for Control-M:
(format "%c" 13) returns "^M" i.e. a string with 1 character which is
Control-M.
3. See the "Named ASCII Chars" node in the Emacs manual.
4. See the "Function Keys" and "Translation Keymaps" nodes in the Emacs Lisp
manual.
5. C-h v local-function-key-map
You can get C-q <Enter> to behave as you expected with this:
(defadvice quoted-insert (around translate-enter-to-newline activate)
(let ((local-function-key-map (copy-keymap local-function-key-map)))
(define-key local-function-key-map [return] [?\C-j])
ad-do-it))
> On Wednesday, 15 January 2014 16:41:08 UTC, Angus Comber wrote:
>> I have eg:
>>
>> text1<tab>text2<tab>text3
>> text4<tab>text5<tab>text6
>>
>> I want to transform into:
>>
>> text1
>> text2
>> text3
>> text4
>> text5
>> text6
>>
>> Using c-m-% I tried this:
>>
>> c-m=% Used C-Q for quorted then entered tab key on keyboard
>>
>> For replacement I used C-Q (quoted) then entered<enter> key
>>
>> But then I end up with:
>>
>> text1^Mtext2^Mtext3
>> text4^Mtext5^Mtext6
>>
>> How should I have done it?
>>
>> Platform is Windows by the way.
--
Kevin Rodgers
Denver, Colorado, USA