diff options
| author | Tino Calancha | 2016-07-03 21:42:02 +0900 |
|---|---|---|
| committer | Tino Calancha | 2016-07-03 21:42:02 +0900 |
| commit | b56a8bcd0e68451d0360ab6ed98c88d890324838 (patch) | |
| tree | bd1fa2ecd23e6dcc7750511cf164fd801d7c5062 | |
| parent | 1e97ecb964a478e8b2f08b628695ac02b923eabe (diff) | |
| download | emacs-b56a8bcd0e68451d0360ab6ed98c88d890324838.tar.gz emacs-b56a8bcd0e68451d0360ab6ed98c88d890324838.zip | |
Ibuffer: unmark all buffers without confirmation
* lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
(ibuffer-mouse-popup-menu): Use it.
(ibuffer-mode): Update mode doc.
(ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
Rebind 'ibuffer-do-replace-regexp' to 'r'.
; * etc/NEWS: Add entry for this change.
| -rw-r--r-- | etc/NEWS | 5 | ||||
| -rw-r--r-- | lisp/ibuffer.el | 17 |
2 files changed, 18 insertions, 4 deletions
| @@ -193,6 +193,11 @@ questions, with a handy way to display help texts. | |||
| 193 | ** Ibuffer | 193 | ** Ibuffer |
| 194 | 194 | ||
| 195 | --- | 195 | --- |
| 196 | *** A new command 'ibuffer-unmark-all-marks' to unmark | ||
| 197 | all buffers without asking confirmation; bound to | ||
| 198 | 'U'; 'ibuffer-do-replace-regexp' bound to 'r'. | ||
| 199 | |||
| 200 | --- | ||
| 196 | *** A new command `ibuffer-mark-by-content-regexp' to mark buffers | 201 | *** A new command `ibuffer-mark-by-content-regexp' to mark buffers |
| 197 | whose content matches a regexp; bound to '% c' and '% g'. | 202 | whose content matches a regexp; bound to '% c' and '% g'. |
| 198 | 203 | ||
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index 126b5a32b2b..2f875f49afa 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el | |||
| @@ -471,6 +471,7 @@ directory, like `default-directory'." | |||
| 471 | (define-key map (kbd "DEL") 'ibuffer-unmark-backward) | 471 | (define-key map (kbd "DEL") 'ibuffer-unmark-backward) |
| 472 | (define-key map (kbd "M-DEL") 'ibuffer-unmark-all) | 472 | (define-key map (kbd "M-DEL") 'ibuffer-unmark-all) |
| 473 | (define-key map (kbd "* *") 'ibuffer-unmark-all) | 473 | (define-key map (kbd "* *") 'ibuffer-unmark-all) |
| 474 | (define-key map (kbd "U") 'ibuffer-unmark-all-marks) | ||
| 474 | (define-key map (kbd "* M") 'ibuffer-mark-by-mode) | 475 | (define-key map (kbd "* M") 'ibuffer-mark-by-mode) |
| 475 | (define-key map (kbd "* m") 'ibuffer-mark-modified-buffers) | 476 | (define-key map (kbd "* m") 'ibuffer-mark-modified-buffers) |
| 476 | (define-key map (kbd "* u") 'ibuffer-mark-unsaved-buffers) | 477 | (define-key map (kbd "* u") 'ibuffer-mark-unsaved-buffers) |
| @@ -568,7 +569,7 @@ directory, like `default-directory'." | |||
| 568 | (define-key map (kbd "R") 'ibuffer-do-rename-uniquely) | 569 | (define-key map (kbd "R") 'ibuffer-do-rename-uniquely) |
| 569 | (define-key map (kbd "S") 'ibuffer-do-save) | 570 | (define-key map (kbd "S") 'ibuffer-do-save) |
| 570 | (define-key map (kbd "T") 'ibuffer-do-toggle-read-only) | 571 | (define-key map (kbd "T") 'ibuffer-do-toggle-read-only) |
| 571 | (define-key map (kbd "U") 'ibuffer-do-replace-regexp) | 572 | (define-key map (kbd "r") 'ibuffer-do-replace-regexp) |
| 572 | (define-key map (kbd "V") 'ibuffer-do-revert) | 573 | (define-key map (kbd "V") 'ibuffer-do-revert) |
| 573 | (define-key map (kbd "W") 'ibuffer-do-view-and-eval) | 574 | (define-key map (kbd "W") 'ibuffer-do-view-and-eval) |
| 574 | (define-key map (kbd "X") 'ibuffer-do-shell-command-pipe) | 575 | (define-key map (kbd "X") 'ibuffer-do-shell-command-pipe) |
| @@ -753,6 +754,8 @@ directory, like `default-directory'." | |||
| 753 | :help "Mark buffers which have not been viewed recently")) | 754 | :help "Mark buffers which have not been viewed recently")) |
| 754 | (define-key-after map [menu-bar mark unmark-all] | 755 | (define-key-after map [menu-bar mark unmark-all] |
| 755 | '(menu-item "Unmark All" ibuffer-unmark-all)) | 756 | '(menu-item "Unmark All" ibuffer-unmark-all)) |
| 757 | (define-key-after map [menu-bar mark unmark-all-marks] | ||
| 758 | '(menu-item "Unmark All buffers" ibuffer-unmark-all-marks)) | ||
| 756 | 759 | ||
| 757 | (define-key-after map [menu-bar mark dashes] | 760 | (define-key-after map [menu-bar mark dashes] |
| 758 | '("--")) | 761 | '("--")) |
| @@ -973,8 +976,7 @@ width and the longest string in LIST." | |||
| 973 | (popup-menu ibuffer-mode-groups-popup)) | 976 | (popup-menu ibuffer-mode-groups-popup)) |
| 974 | (let ((inhibit-read-only t)) | 977 | (let ((inhibit-read-only t)) |
| 975 | (ibuffer-save-marks | 978 | (ibuffer-save-marks |
| 976 | ;; hm. we could probably do this in a better fashion | 979 | (ibuffer-unmark-all-marks) |
| 977 | (ibuffer-unmark-all ?\r) | ||
| 978 | (save-excursion | 980 | (save-excursion |
| 979 | (goto-char eventpt) | 981 | (goto-char eventpt) |
| 980 | (ibuffer-set-mark ibuffer-marked-char)) | 982 | (ibuffer-set-mark ibuffer-marked-char)) |
| @@ -1335,6 +1337,12 @@ With optional ARG, make read-only only if ARG is not negative." | |||
| 1335 | t))))) | 1337 | t))))) |
| 1336 | (ibuffer-redisplay t)) | 1338 | (ibuffer-redisplay t)) |
| 1337 | 1339 | ||
| 1340 | (defun ibuffer-unmark-all-marks () | ||
| 1341 | "Remove all marks from all marked buffers in Ibuffer." | ||
| 1342 | (interactive) | ||
| 1343 | ;; hm. we could probably do this in a better fashion | ||
| 1344 | (ibuffer-unmark-all ?\r)) | ||
| 1345 | |||
| 1338 | (defun ibuffer-toggle-marks (&optional group) | 1346 | (defun ibuffer-toggle-marks (&optional group) |
| 1339 | "Toggle which buffers are marked. | 1347 | "Toggle which buffers are marked. |
| 1340 | In other words, unmarked buffers become marked, and marked buffers | 1348 | In other words, unmarked buffers become marked, and marked buffers |
| @@ -2426,7 +2434,8 @@ Marking commands: | |||
| 2426 | `\\[ibuffer-unmark-forward]' - Unmark the buffer at point. | 2434 | `\\[ibuffer-unmark-forward]' - Unmark the buffer at point. |
| 2427 | `\\[ibuffer-unmark-backward]' - Unmark the buffer at point, and move to the | 2435 | `\\[ibuffer-unmark-backward]' - Unmark the buffer at point, and move to the |
| 2428 | previous line. | 2436 | previous line. |
| 2429 | `\\[ibuffer-unmark-all]' - Unmark all marked buffers. | 2437 | `\\[ibuffer-unmark-all]' - Unmark buffers marked with MARK. |
| 2438 | `\\[ibuffer-unmark-all-marks]' - Unmark all marked buffers. | ||
| 2430 | `\\[ibuffer-mark-by-mode]' - Mark buffers by major mode. | 2439 | `\\[ibuffer-mark-by-mode]' - Mark buffers by major mode. |
| 2431 | `\\[ibuffer-mark-unsaved-buffers]' - Mark all \"unsaved\" buffers. | 2440 | `\\[ibuffer-mark-unsaved-buffers]' - Mark all \"unsaved\" buffers. |
| 2432 | This means that the buffer is modified, and has an associated file. | 2441 | This means that the buffer is modified, and has an associated file. |