Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cute-jumper/ace-pinyin
Jump to Chinese character by pinyin with `avy' or `ace-jump-mode`
https://github.com/cute-jumper/ace-pinyin
ace-jump-mode avy chinese emacs pinyin
Last synced: about 2 months ago
JSON representation
Jump to Chinese character by pinyin with `avy' or `ace-jump-mode`
- Host: GitHub
- URL: https://github.com/cute-jumper/ace-pinyin
- Owner: cute-jumper
- Created: 2015-04-05T09:27:49.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-02-17T16:57:18.000Z (almost 2 years ago)
- Last Synced: 2024-08-02T01:26:19.752Z (5 months ago)
- Topics: ace-jump-mode, avy, chinese, emacs, pinyin
- Language: Emacs Lisp
- Homepage:
- Size: 1.27 MB
- Stars: 87
- Watchers: 3
- Forks: 19
- Open Issues: 3
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+TITLE: ace-pinyin
[[http://melpa.org/#/ace-pinyin][file:http://melpa.org/packages/ace-pinyin-badge.svg]]
[[http://stable.melpa.org/#/ace-pinyin][file:http://stable.melpa.org/packages/ace-pinyin-badge.svg]]Jump to Chinese characters using =avy= or =ace-jump-mode=.
使用 =avy= 或者 =ace-jump-mode= 跳转到中文字符。
* Setup
Install via [[http://melpa.org/#/ace-pinyin][melpa]].Or if you prefer to install this package manually:
: (add-to-list 'load-path "/path/to/ace-pinyin.el")
: (require 'ace-pinyin)* Usage
By default this package is using =avy=. If you want to use =ace-jump-mode=,
set =ace-pinyin-use-avy= to =nil=.Note =ace-pinyin-use-avy= variable should be set *BEFORE* you call
=ace-pinyin-global-mode= or =turn-on-ace-pinyin-mode=.Example config to use =ace-pinyin= globally:
: ;; (setq ace-pinyin-use-avy nil) ;; uncomment if you want to use `ace-jump-mode'
: (ace-pinyin-global-mode +1)* Supported Commands
When using =avy=, all =avy= commands (as of 05/06/2016) related to char/word
jumping are supported:
- =avy-goto-char=
- =avy-goto-char-2=
- =avy-goto-char-in-line=
- =avy-goto-word-0=
- =avy-goto-word-1=
- =avy-goto-subword-0=
- =avy-goto-subword-1=
- =avy-goto-word-or-subword-1=When using =ace-jump-mode=, the following command is supported:
- =ace-jump-char-mode=When the =ace-pinyin-mode= is enabled, the supported commands will be able to
jump to both Chinese and English characters/words. That is, you don't need
remember extra commands or create extra key bindings in order to jump to
Chinese characters. All you need to do is to enable the minor mode and use
your =avy= or =ace-jump-mode= key bindings to jump to Chinese characters.In addition, you can also use English punctuations to jump to Chinese/English
punctuations. For example, use =.= to jump to both =。= and =.=, and =<= to
jump to both =《= and =<= etc. Behind the scene, =ace-pinyin= uses
[[https://github.com/cute-jumper/pinyinlib.el][pinyinlib.el]] to translate the letter to Simplified/Traditional Chinese
characters and English punctuations to Chinese punctuations. To see the full
list of punctuations that are supported, see [[https://github.com/cute-jumper/pinyinlib.el][pinyinlib.el]].Besides, all other packages using =ace-jump-mode= (or =avy=) will also be able
to handle Chinese characters. For example, if you've installed [[https://github.com/waymondo/ace-jump-zap][ace-jump-zap]],
it will also be able to zap to a Chinese character by the first letter of
pinyin. Note =ace-jump-zap= is implemented by using =ace-jump-mode=, so you
can't use =avy= in this case. You can check out my fork of =ace-jump-zap=
using =avy=: [[https://github.com/cute-jumper/avy-zap][avy-zap]].* Traditional Chinese Characters Support
By default, =ace-pinyin= only supports simplified Chinese characters. You can
make =ace-pinyin= aware of traditional Chinese characters by the following
setting:
: (setq ace-pinyin-simplified-chinese-only-p nil)* Disable Word Jumping Support
By default, =ace-pinyin= will remap both word jumping and character jumping
methods in =avy=. If you only want to remap character jumping methods, use:
: (setq ace-pinyin-treat-word-as-char nil)After setting this, the following commands in =avy= are not able to jump to
Chinese characters:
- =avy-goto-word-0=
- =avy-goto-word-1=
- =avy-goto-subword-0=
- =avy-goto-subword-1=
- =avy-goto-word-or-subword-1=* Disable Punctuations Translation
If you don't like the punctuation support(/i.e./, using English punctuations
to jump to both Chinese/English punctuations), use the following code to
disable it:
: (setq ace-pinyin-enable-punctuation-translation nil)* Other available commands
These commands are not provided in either =avy= or =ace-jump-mode=. They're
provided in this package in case someone finds them useful. You need to assign
key bindings for the commands if you want to use them.
** =ace-pinyin-dwim=
If called with no prefix, it can jump to both Chinese characters and English
letters. If called with prefix, it can only jump to Chinese characters.** =ace-pinyin-jump-word=
Using this command, you can jump to the start of a sequence of Chinese
characters(/i.e./ Chinese word) by typing the sequence of the first letters
of these character's pinyins. If called without prefix, this command will
read user's input with a default timeout 1 second(You can customize the
timeout value). If called with prefix, then it will read input from the
minibuffer and starts search after you press
@@html:@@enter@@html:@@.* Demos
*WARNING*: The following demos are a little bit outdated.Enable =ace-pinyin-mode= and use =ace-jump-char-mode= to jump to Chinese
characters:
[[./screencasts/ace-pinyin-jump-char.gif]]If you have installed [[https://github.com/waymondo/ace-jump-zap][ace-jump-zap]], then enabling =ace-pinyin-mode= will also
make =ace-jump-zap-to-char= capable of handling Chinese characters.
[[./screencasts/ace-jump-zap.gif]]* Change Log
UPDATE(2015-11-26): Now jumping to traditional Chinese characters is supported
by setting =ace-pinyin-simplified-chinese-only-p= to =nil=.UPDATE(2016-05-01): Now =ace-pinyin= uses =avy= by default. If you want to use
=ace-jump-mode=, use:
: (setq ace-pinyin-use-avy nil)UPDATE(2016-05-02): A new variable =ace-pinyin-treat-word-as-char= is added and
its default value is =t=. When this variable is =t=, =ace-pinyin= remaps both
word and character jumping commands in =avy= or =ace-jump-mode=. For example, if
you're using =avy=, setting this variable to =t= will make =avy-goto-word-*= and
=avy-goto-subword-*= be able to jump to Chinese characters as well as English
words.UPDATE(2015-05-05): Add =ace-pinyin-enable-punctuation-translation=.
UPDATE(2015-05-05): Now =ace-pinyin= depends on [[https://github.com/cute-jumper/pinyinlib.el][pinyinlib.el]].
* Related Packages
- [[https://github.com/cute-jumper/evil-find-char-pinyin][evil-find-char-pinyin]]
- [[https://github.com/cute-jumper/pinyinlib.el][pinyinlib.el]]
- [[https://github.com/cute-jumper/fcitx.el][fcitx.el]]