unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [WIP PATCH] Adding more keybindings to rectangle-mark-mode-map
@ 2021-05-01  5:23 Jim Porter
  2021-05-01 13:29 ` Stefan Monnier
  0 siblings, 1 reply; 21+ messages in thread
From: Jim Porter @ 2021-05-01  5:23 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1469 bytes --]

One thing that always trips me up about the otherwise very nice
`rectangle-mark-mode-map' is that it only has a few key mappings, and
is notably missing `kill-rectangle' and `copy-rectangle-as-kill'. The
attached patch adds these (remapped from `kill-region' and
`kill-ring-save'), but there are still several other rectangle
commands in the `C-x r' prefix that might be worth adding, so I
figured I'd see what others thought:

  C-x r N         rectangle-number-lines
  C-x r c         clear-rectangle
  C-x r d         delete-rectangle
  C-x r r         copy-rectangle-to-register

As far as I'm aware, none of these have non-rect analogues that we
could remap except for `C-x r r', which is similar to `C-x r s'
(`copy-to-register'). Perhaps it makes sense to map these as well, but
I don't typically use any of them so I'm not sure what would be good
mappings. At a guess though, maybe these would work?

  M-N (M-S-n)     rectangle-number-lines
  M-SPC           clear-rectangle
  C-d             delete-rectangle
  C-x r s         copy-rectangle-to-register

Finally, there's `C-x r y' (`yank-rectangle'). As I understand it at
least, this doesn't need/want an active rect so there's no real reason
to map it in `rectangle-mark-mode-map'. However, when I was learning
about rects, I always *expected* `yank-rectangle' to require me to
have an active rect. Maybe it makes sense to do something about that,
or maybe not; that's just my anecdotal experience.

- Jim

[-- Attachment #2: 0001-lisp-rect.el-rectangle-mark-mode-map-Add-kill-rectan.patch --]
[-- Type: application/octet-stream, Size: 953 bytes --]

From d10cf1dc7f459588a905134f84b76c6948f3cace Mon Sep 17 00:00:00 2001
From: Jim Porter <jporterbugs@gmail.com>
Date: Fri, 30 Apr 2021 21:47:29 -0700
Subject: [PATCH] * lisp/rect.el (rectangle-mark-mode-map): Add
 `kill-rectangle' and `copy-rectangle-as-kill' to map

---
 lisp/rect.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lisp/rect.el b/lisp/rect.el
index 504be41b67..bae9142129 100644
--- a/lisp/rect.el
+++ b/lisp/rect.el
@@ -638,6 +638,8 @@ with a prefix argument, prompt for START-AT and FORMAT."
   (let ((map (make-sparse-keymap)))
     (define-key map [?\C-o] 'open-rectangle)
     (define-key map [?\C-t] 'string-rectangle)
+    (define-key map [remap kill-region] 'kill-rectangle)
+    (define-key map [remap kill-ring-save] 'copy-rectangle-as-kill)
     (define-key map [remap exchange-point-and-mark]
       'rectangle-exchange-point-and-mark)
     (dolist (cmd '(right-char left-char forward-char backward-char
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2021-06-19 16:28 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-01  5:23 [WIP PATCH] Adding more keybindings to rectangle-mark-mode-map Jim Porter
2021-05-01 13:29 ` Stefan Monnier
2021-05-01 16:02   ` Jim Porter
2021-05-01 17:20     ` Stefan Monnier
2021-05-01 22:31       ` Jim Porter
2021-05-02  6:57         ` Eli Zaretskii
2021-05-02 15:48           ` Jim Porter
2021-05-02 16:09             ` Eli Zaretskii
2021-05-02 16:36               ` Jim Porter
2021-05-02 18:07                 ` Stefan Monnier
2021-05-03  4:06                   ` Jim Porter
2021-05-03  7:55                     ` Andreas Schwab
2021-05-03 15:26                       ` Jim Porter
2021-05-08  1:52                         ` Stefan Monnier
2021-05-08  7:15                           ` Eli Zaretskii
2021-05-08  6:55                         ` Andreas Schwab
2021-05-08 18:57                           ` [PATCH] Improve docstring for delete-active-region (was Re: [WIP PATCH] Adding more keybindings to rectangle-mark-mode-map) Jim Porter
2021-06-18  3:09                             ` Jim Porter
2021-06-19 12:27                               ` Lars Ingebrigtsen
2021-06-19 16:28                                 ` Jim Porter
2021-05-01 17:26     ` [WIP PATCH] Adding more keybindings to rectangle-mark-mode-map Ergus

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).