From: 張國良 <keith@cheungsfamily.org>
To: "help-gnu-emacs@gnu.org" <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: Thu, 30 Apr 2015 17:56:04 +0800 [thread overview]
Message-ID: <CAP5w8KyJnX54cK+k1_r9t4LiqfdukSQi2JaXg=yGFpJsPXJWfw@mail.gmail.com> (raw)
In-Reply-To: <CAP5w8KzoWu_Gmp4y0QwT-mK0ySo_h=Yujh4LNPd+1O019ay-cg@mail.gmail.com>
Thanks all for the ideas.
I end up use hydra and ace window.
Here is my config if you are interested.
> ** Hydra the windmove keys & move spliter
>
> #+BEGIN_SRC emacs-lisp
>
> (require 'hydra)
>
> (defhydra hydra-windmove (global-map "C-o")
>
> "windmove with ijkl"
>
> ("i" windmove-up "up")
>
> ("j" windmove-left "left")
>
> ("k" windmove-down "down")
>
> ("l" windmove-right "right")
>
> ("n" other-window "next")
>
> ("p" (other-window -1) "prev")
>
> ("[" hydra-move-splitter-left)
>
> ("." hydra-move-splitter-down)
>
> ("," hydra-move-splitter-up)
>
> ("]" hydra-move-splitter-right)
>
> )
>
>
>> (defun hydra-move-splitter-left (arg)
>
> "Move window splitter left."
>
> (interactive "p")
>
> (if (let ((windmove-wrap-around))
>
> (windmove-find-other-window 'right))
>
> (shrink-window-horizontally arg)
>
> (enlarge-window-horizontally arg)))
>
>
>> (defun hydra-move-splitter-right (arg)
>
> "Move window splitter right."
>
> (interactive "p")
>
> (if (let ((windmove-wrap-around))
>
> (windmove-find-other-window 'right))
>
> (enlarge-window-horizontally arg)
>
> (shrink-window-horizontally arg)))
>
>
>> (defun hydra-move-splitter-up (arg)
>
> "Move window splitter up."
>
> (interactive "p")
>
> (if (let ((windmove-wrap-around))
>
> (windmove-find-other-window 'up))
>
> (enlarge-window arg)
>
> (shrink-window arg)))
>
>
>> (defun hydra-move-splitter-down (arg)
>
> "Move window splitter down."
>
> (interactive "p")
>
> (if (let ((windmove-wrap-around))
>
> (windmove-find-other-window 'up))
>
> (shrink-window arg)
>
> (enlarge-window arg)))
>
> #+END_SRC
>
>
>> ** Ace window (switch to window with number)
>
> #+BEGIN_SRC emacs-lisp
>
> (require 'ace-window)
>
> (global-set-key (kbd "M-p") 'ace-window)
>
> #+END_SRC
>
>
>>
2015-04-28 18:56 GMT+08:00 張國良 <keith@cheungsfamily.org>:
> Hi all,
>
> 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?
>
> 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'.
>
>
> 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?
>
>
> Many thanks.
>
>
>
next prev parent reply other threads:[~2015-04-30 9:56 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-28 10:56 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? 張國良
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 ` 張國良 [this message]
[not found] ` <mailman.1786.1430228989.904.help-gnu-emacs@gnu.org>
2015-04-30 17:29 ` unfrostedpoptart
[not found] <mailman.1779.1430218587.904.help-gnu-emacs@gnu.org>
2015-04-28 17:03 ` Emanuel Berg
2015-04-28 17:48 ` Jorge A. Alfaro-Murillo
2015-04-28 18:19 ` Joe Fineman
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='CAP5w8KyJnX54cK+k1_r9t4LiqfdukSQi2JaXg=yGFpJsPXJWfw@mail.gmail.com' \
--to=keith@cheungsfamily.org \
--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.