[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Deleting a word using keybinding
From: |
Christopher Dimech |
Subject: |
Re: Deleting a word using keybinding |
Date: |
Thu, 15 Oct 2020 22:59:29 +0200 |
I want it to behave as C-<delete>, except that I want to delete the
current word if
the cursor happens to be within a word.
For instance, consider the following sentence. I want that
if the cursor point in on the character w of the word Brown,
the word Brown is also deleted, rather than deleting the word fromw
onwards.
The Brown Fox Jumped a Fence
I also would like that when there are multiple space, I first delete
the spaces
and leave just one space rather than deleting the next word.
Sent: Thursday, October 15, 2020 at 10:25 PM
From: "Harald Jörg" <haj@posteo.de>
To: "Christopher Dimech" <dimech@gmx.com>
Cc: "Help Gnu Emacs" <help-gnu-emacs@gnu.org>
Subject: Re: Deleting a word using keybinding
On 10/15/20 8:44 PM, Christopher Dimech wrote:
> I have updated my function to kill words forward so that even if I am
> in the middle of a word that word will be killed. I also consider
that
> if there are multiple spaces, I delete just the spaces spaces but not
> next word.
This isn't exactly what the function does: If there are two or more
spaces between words, then only spaces to the right of point are
deleted.
Also, when you delete _all_ spaces, you merge two words into one. This
is the cause for your observation:
> I am finding a problem however when deleting part of a sentence by
> contiuing to press C--<delete> because when the point happens to be
> between two words, I end up with the two words stuck together (the
> previous and thn forward), which deletes the two words when I hit
> C-<delete> again.
It really pays off when you spend the effort to write down how you
want the function to behave in all relevant situations. It is good
practice to have a docstring for your command anyway, and you might
detect contradictory requirements before you start writing the
function.
If point is before a whitespace character, you could either do
nothing, or delete the previous, or delete the following word, all of
them make some sense. Deleting whitespace seems somewhat unrelated.
There still are cases where your function does not what you seem to
expect: If the text in the buffer is "foo bar", and point is before
the "a" in "bar", then executing M-x kill-spacword kills "foo".
--
Cheers,
haj
- Deleting a word using keybinding, Christopher Dimech, 2020/10/15
- Re: Deleting a word using keybinding, Jeremie Juste, 2020/10/15
- Re: Deleting a word using keybinding, Harald Jörg, 2020/10/15
- Re: Deleting a word using keybinding, Christopher Dimech, 2020/10/15
- Re: Deleting a word using keybinding, Christopher Dimech, 2020/10/15
- Re: Deleting a word using keybinding, Harald Jörg, 2020/10/15
- Re: Deleting a word using keybinding,
Christopher Dimech <=
- Re: Deleting a word using keybinding, Thien-Thi Nguyen, 2020/10/15
- Re: Deleting a word using keybinding, Christopher Dimech, 2020/10/15
- Re: Deleting a word using keybinding, Christopher Dimech, 2020/10/15
- RE: Deleting a word using keybinding, Drew Adams, 2020/10/15
- Re: RE: Deleting a word using keybinding, Christopher Dimech, 2020/10/15
- Re: Deleting a word using keybinding, Stephen Berman, 2020/10/15
Re: Deleting a word using keybinding, Stephen Berman, 2020/10/15
Re: Deleting a word using keybinding, Stefan Monnier, 2020/10/15