fgallina / region-bindings-mode

A minor mode that enables custom bindings when mark is active.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This package contains region-bindings-mode.el

Info

Introduction

Minor mode that enables the ability of having a custom keys for working with regions. This is a pretty good way to keep the global bindings clean.

Requirements

This package was tested with GNU/Emacs 24 only, it should work with others versions too but I can’t ensure anything. Besides from that nothing else is required.

Installation/Usage

Add this to your .emacs:

(add-to-list 'load-path "/folder/containing/file")
(require 'region-bindings-mode)
(region-bindings-mode-enable)

Then add some nice bindings that will be enabled only when you happen to be working on a region, Here’s an example setup integrating the excellent multiple-cursors package:

(define-key region-bindings-mode-map "a" 'mc/mark-all-like-this)
(define-key region-bindings-mode-map "p" 'mc/mark-previous-like-this)
(define-key region-bindings-mode-map "n" 'mc/mark-next-like-this)
(define-key region-bindings-mode-map "m" 'mc/mark-more-like-this-extended)

In this use case, you would probably want these bindings to work within specific scenarios. For example, multiple-cursors doesn’t make much sense in read-only buffers. You could prevent region-bindings-mode in these by setting region-bindings-mode-disable-predicates to:

((lambda () buffer-read-only))

You can also exclude specific modes via region-bindings-mode-disabled-modes, or specify a white-list of allowed modes via region-bindings-mode-enabled-modes.

Bug Reports

If you find a bug please report it sending an email listed in the top of the file or just use the github tracker.

License

region-bindings-mode.el is free software under the GPL v3, see LICENSE file for details.

About

A minor mode that enables custom bindings when mark is active.

License:GNU General Public License v3.0


Languages

Language:Emacs Lisp 100.0%