all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Emanuel Berg <embe8573@student.uu.se>
To: help-gnu-emacs@gnu.org
Subject: Re: Can I use 'C-x o o o o o' instead of C-x o C-x o C-x o C-x o C-x o?
Date: Tue, 28 Apr 2015 19:03:36 +0200	[thread overview]
Message-ID: <87h9s0xk0n.fsf@debian.uxu> (raw)
In-Reply-To: mailman.1779.1430218587.904.help-gnu-emacs@gnu.org

<keith@cheungsfamily.org> writes:

> Scenario 1 - I split many windows. - I wish to
> switch to some other windows. - I type C-x o, C-x o,
> C-x o repeatedly until the cursor landed on the
> desired window. Is there a way to use C-x
> o o o instead?

You can't do that the normal way because then you'd
have to set up prefix keys, but they themselves would
have to be commands! - so Emacs cannot tell if it is
a prefix key (i.e. it should await more input) or if
it is a command (i.e. it should act).

However, you can do it with programming, as always,
and here's how:

The first command, which you should bind to a key,
should re-bind the keys - all keys. "o" should be
"move to the next window". All other keys should be -
let's say normal behavior is B - all other keys should
be:

    a) exit this window roaming mode
    b) do normal behavior B

This will make for transparency - except for the
particular key "o"! Perhaps you can insert that with
`C-u o' when you don't want to go to the next window
(only necessary in window roaming mode, of course).

This closely resembles what I did (out of someone
else's work) - this code [1] should be understandable
(I hope) and the principle is exactly the same.

Come back with more questions if need be!

> I aware that I can use C-u num C-x o, if I know the
> desired window is num step away. But there are times
> that I do not know 'num'.

OK: instead of iteration, I'd assign each window
a letter (a, b, c...) and show that in the mode bar.
Then do a function that accepts an argument which is
such a letter. Then jump to that window. I'd say this
idea is much better.

> Scenario 2 - I use the windmove package. - I bind
> the windmove-up/down/left/right to C-o i, C-o k, C-o
> j, C-o l respectively. Now, if I want to windmove to
> up-left, I type C-o i, C-o j. Is there a way to use
> C-o i j instead?

First, good bindings! `C-o i' for up etc. are great.
I love the 'ijkl' keys for 2D movements ever since
playing a monochrome Lode Runner on a Mac Plus in
the 80s.

Second, you can't do that for the same prefix/command
reason above. It would require some timeout solution
for the prefix key which would be too slow to use
anyway to be pleasant. Instead, why don't you use the
same principle as you already did and use "u", "o",
".", and "m" for combinations? E.g., "u" is up, then
left? But, here I actually think it is better to use
`C-o i', then `C-o j' and so on. I don't see any
comfort or speed disadvantage to speak of with that.

Good luck!

[1] http://user.it.uu.se/~embe8573/conf/emacs-init/caps-back.el

-- 
underground experts united
http://user.it.uu.se/~embe8573


       reply	other threads:[~2015-04-28 17:03 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.1779.1430218587.904.help-gnu-emacs@gnu.org>
2015-04-28 17:03 ` Emanuel Berg [this message]
2015-04-28 17:48   ` Can I use 'C-x o o o o o' instead of C-x o C-x o C-x o C-x o C-x o? Jorge A. Alfaro-Murillo
2015-04-28 18:19 ` Joe Fineman
2015-04-28 10:56 張國良
2015-04-28 13:47 ` Tassilo Horn
2015-04-28 13:49 ` Yuri D'Elia
2015-04-28 13:50 ` Jorge A. Alfaro-Murillo
2015-04-28 14:22   ` Jorge A. Alfaro-Murillo
2015-04-28 14:07 ` Drew Adams
2015-04-28 14:07 ` Phillip Lord
2015-04-28 14:23 ` Tak Kunihiro
2015-04-28 19:04 ` Robert Thorpe
2015-04-30  9:56 ` 張國良
     [not found] ` <mailman.1786.1430228989.904.help-gnu-emacs@gnu.org>
2015-04-30 17:29   ` unfrostedpoptart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h9s0xk0n.fsf@debian.uxu \
    --to=embe8573@student.uu.se \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.