defering indent upon newline
Tim Connors
tconnors+xemacs
Tue Oct 31 23:26:20 EST 2006
On Tue, 31 Oct 2006, stephen at xemacs.org wrote:
> Tim Connors writes:
>
> > In perl-mode with font-lock on, when you have whitespace at the end of
> > line, including when you have just indented, you end up with an ugly
> > underline. This is of course intentional, to encourage you to get rid of
> > wasted whitespace.
> >
> > But, if you have newline-and-indent turned on, you get whitespace
> > automatically, and this only gets removed if you put in more newlines.
>
> You mean if I enter
>
> RET "some text" RET RET "more text" RET
>
> I should get ("~" = an ordinary space made visible, the initial
> numeral and space would not appear in the buffer)
>
> 1 ~~~~some text
> 2
> 3 ~~~~more text
> 4 ____
>
> with line 2 empty and line 4 ready for more indented text? That's
line 4 with nothing in it yet, until I type "e" (for "even more text" :)
> what autoindenting normally does. AIUI, you're satisfied with this
> behavior, but you want to be able to insert vertical white space into
> an existing block of text. Is that right?
Yup.
> > If you want to seperate a block by newlines either side, you have to
> > juggle the cursor all over the place before you end up with two blank
> > lines, and a line in the middle indented correctly.
>
> Actually, if you have
>
> 1 ~~~~some text-!-
> 2 ~~~~more text
>
> where -!- marks the position of point, you can use M-x open-line
> (normally bound to C-o as well) to open up a line without inserting
> space in most modes. You could also do this at the beginning of the
> second line. Then you have
>
> 1 ~~~~some text-!-
> a
> 2 ~~~~more text
>
> where a indicates the newly opened line.
Hmmm, how did I miss that keybinding?
> > And you can't just kill the whitespace on an otherwise blank line
> > with ctrl-k, because it kills the entire line including the
> > newline.
>
> M-x delete-horizontal-space (usually bound to M-\) is perfect for
> this.
>
> > So, in light of this, does it make sense to defer the indenting of the
> > current line until a character is actually input on that line?
>
> I think this probably violates POLA, and it's better to learn to use
> C-o and M-\. But if you really want to do it, you'd need to replace
> or hook into self-insert-command, I think. I'm not going to think
> about it until you say you're sure. :-)
Looks like I've got to go teach my finger-macros some new behaviour.
Thanks.
--
Tim Connors
URL: http://site.aao.gov.au/twc
e-mail twc at aaocbn.aao.gov.au
More information about the XEmacs-Beta
mailing list