GitHub - syohex/emacs-anzu: Emacs Port of anzu.vim
source link: https://github.com/syohex/emacs-anzu
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
anzu.el
Introduction
anzu.el
is an Emacs port of anzu.vim.
anzu.el
provides a minor mode which displays current match and total matches
information in the mode-line in various search modes.
Screenshot
Requirements
- Emacs 24 or higher
cl-lib
0.5 or higher (you don't need to installcl-lib
if you use Emacs 24.3 or higher)
Installation
You can install anzu.el
from MELPA with package.el
M-x package-install anzu
Basic Usage
global-anzu-mode
Enable global anzu mode:
(global-anzu-mode +1)
anzu-mode
Enable anzu minor mode:
(anzu-mode +1)
anzu-query-replace
Same as query-replace
except anzu information in mode-line
anzu-query-replace-regexp
Same as query-replace-regexp
except anzu information in mode-line
Add following S-exp in your configuration if you want to use anzu's replace commands by default.
(global-set-key [remap query-replace] 'anzu-query-replace) (global-set-key [remap query-replace-regexp] 'anzu-query-replace-regexp)
Screencast of anzu-query-replace-at-cursor-thing
anzu-query-replace-at-cursor
Same as anzu-query-replace
except from-string is symbol at cursor
anzu-query-replace-at-cursor-thing
Same as anzu-query-replace-at-cursor
except replaced region is
specified by anzu-replace-at-cursor-thing
.
anzu-replace-at-cursor-thing
Same as anzu-query-replace-at-cursor-thing
except not query.
This command is useful in refactoring such as changing variable name
in the function.
anzu-isearch-query-replace
Anzu version of isearch-query-replace
anzu-isearch-query-replace-regexp
Anzu version of isearch-query-replace-regexp
Customization
anzu-mode-line
Face of mode-line anzu information
anzu-mode-line-no-match
Face of mode-line at no matching case
anzu-replace-highlight
Face of from-string of replacement
anzu-replace-to
Face of to-string of replacement
anzu-mode-line-update-function
Function which constructs mode-line string. anzu.el puts its output to mode-line. It is called at searching, inputting replaced word, replacing. This must be non-nil.
The function takes 2 integer arguments, current position and total match number. You can get current-state from anzu--state
('search
, 'replace-query
, replace
).
(defun my/anzu-update-func (here total) (when anzu--state (let ((status (cl-case anzu--state (search (format "<%d/%d>" here total)) (replace-query (format "(%d Replaces)" total)) (replace (format "<%d/%d>" here total))))) (propertize status 'face 'anzu-mode-line)))) (custom-set-variables '(anzu-mode-line-update-function #'my/anzu-update-func))
anzu-cons-mode-line-p
(Default is t
)
Set nil
if you want to display anzu information at any position in mode-line.
anzu.el
cons search information head of mode-line
as default.
For example, show search information tail of minor-mode-alist
(setq anzu-cons-mode-line-p nil) (setcar (cdr (assq 'isearch-mode minor-mode-alist)) '(:eval (anzu--update-mode-line)))
Screenshot
anzu-mode-lighter
Mode name in mode-line
. Default is Anzu
.
anzu-input-idle-delay
(Default is 0.05
)
Delay second of updating mode-line information when you input from-string
anzu-regexp-search-commands
Commands which have regexp input. If the last command is a member of this list,
anzu.el
treats input as regular expression.
The default value is '(isearch-forward-regexp isearch-backward-regexp)
.
anzu-use-migemo
(Default is nil
)
Set to t
if you use migemo.
anzu-search-threshold
(Default is nil
)
Threshold of searched words. If there are searched word more than this value,
anzu.el
stops to search and display total number like 1000+
(as default).
If this value is nil
, anzu.el
counts all words.
anzu-replace-threshold
(Default is nil
)
Threshold of replacement overlay. If this value is nil
,
anzu-minimum-input-length
(Default is 1)
Minimum input length to enable anzu. This parameter is useful for migemo
users.
Searching 1 or 2 characters with migemo
is too heavy if buffer is so large.
Please set 3 or higher if you frequently edit such file.
anzu-deactivate-region
(Default is nil
)
Deactivate region at anzu replace command if this value is non-nil. It is hard to see with anzu replace command when region is active.
anzu-replace-at-cursor-thing
(Default is 'defun)
Thing at point of anzu-query-replace-at-cursor-thing
.
This parameter is same as thing-at-point
.
anzu-replace-to-string-separator
(Default is "")
Separator of to
string.
Sample Configuration
(require 'anzu) (global-anzu-mode +1) (set-face-attribute 'anzu-mode-line nil :foreground "yellow" :weight 'bold) (custom-set-variables '(anzu-mode-lighter "") '(anzu-deactivate-region t) '(anzu-search-threshold 1000) '(anzu-replace-threshold 50) '(anzu-replace-to-string-separator " => ")) (define-key isearch-mode-map [remap isearch-query-replace] #'anzu-isearch-query-replace) (define-key isearch-mode-map [remap isearch-query-replace-regexp] #'anzu-isearch-query-replace-regexp)
Recommend
-
159
emamux.el Interact with tmux from Emacs. Screenshot Introduction emamux.el let emacs interact with tmux. emamux.el is inspired by
-
163
dired-k.el dired-k.el highlights dired buffer like k. (This may works only default dired setting) screenshot k.zsh style
-
177
This package is no longer maintained. If you have an issue or pull request, please send it to https://github.com/FelipeLema/emacs-counsel-gtags counsel-gtags.e...
-
153
helm-ag.el Introduction helm-ag.el provides interfaces of The Silver Searcher with helm. Features Support multiple sea...
-
112
README.md helm-gtags.el
-
95
README.md terraform-mode.el
-
44
vim-which-key Introduction vim-which-key is vim port of emacs-which-key that displays available keybindings in popup.
-
74
README.md go-eldoc.el
-
53
README.md cpp-auto-include.el
-
7
evil-anzu anzu for evil-mode Screencast Installation You can install evil-anzu.el from
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK