help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Keybinding Default Command and Execution with Argument


From: Christopher Dimech
Subject: Re: Keybinding Default Command and Execution with Argument
Date: Thu, 5 Nov 2020 17:19:16 +0100

My Emacs is insane then as it does not give me the link to simple.el


> Sent: Thursday, November 05, 2020 at 4:58 PM
> From: tomas@tuxteam.de
> To: help-gnu-emacs@gnu.org
> Subject: Re: Keybinding Default Command and Execution with Argument
>
> On Thu, Nov 05, 2020 at 04:41:11PM +0100, Christopher Dimech wrote:
> > I made a simple defun to move the current character over n other characters.
> > It behaves a differently than transpose-chars, because the cursor point 
> > stays
> > on the same character, rather than moving to the cursor next to the swapped
> > character to the right.
> > 
> > When using transpose-chars. one can use transpose-chars without any 
> > argument,
> > taking the default of one.
> > 
> >   M-x transpose-chars
> > 
> > Alternatively, one can pass an argument (e.g. 3) as follows
> > 
> >   C-u 3 M-x transpose-chars
> > 
> > Currently, I can only use Skip-Over-Chars with argument.  Is there a way to
> > use the function Skip-Over-Chars without requiring an argument, but 
> > defaulting
> > the argument to one as what can be done with transpose-chars?
> 
> Ask `transpose-chars' itself :)
> 
> I.e. do
> 
>   C-h f transpose-chars
> 
> You'll get a small help buffer explaining transpose-chars. Basically the
> function's docstring, and then something.
> 
> Part of this something is the function's location, like so:
> 
>     "transpose-chars is an interactive compiled Lisp function in
>      in ‘simple.el’.
> 
>      It is bound to C-t.
> 
>      [more stuff]"
> 
> The simple.el is highlighted as a link. It is a link. If your
> Emacs installation is sane, you can put point at this link
> (alternatively you click on it), and you get to transpose-char's
> definition, in simple.el. There you see:
> 
>   (defun transpose-chars (arg)
>     "Interchange characters around point, moving forward one character.
>   With prefix arg ARG, effect is to take character before point
>   and drag it forward past ARG other characters (backward if ARG negative).
>   If no argument and at end of line, the previous two chars are exchanged."
>     (interactive "*P")
>     (when (and (null arg) (eolp) (not (bobp))
>           ... ) ...) ...)
> 
> So they are using (interactive "P") for that. You can look up what that
> means in `interactive's documentation. The asterisk is there to ensure
> that the buffer is writable.
> 
> Emacs teaches you the tricks of the Grandmasters ;-)
> 
> Cheers
>  - t
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]