[求助]zsh的补全如何写?我想把用拼音补全中文的chsdir脚本移植到zsh

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

[求助]zsh的补全如何写?我想把用拼音补全中文的chsdir脚本移植到zsh

#1

帖子 lilydjwg » 2009-11-08 20:36

刚刚转zsh。相信zsh有这个能力,可惜俺自己看了半天文档也没有弄明白zsh的补全该怎么弄。求zsh达人指点一下!
头像
guanbeilang
帖子: 15
注册时间: 2008-09-23 18:01

Re: [求助]zsh的补全如何写?我想把用拼音补全中文的chsdir脚本移植到zsh

#2

帖子 guanbeilang » 2010-05-25 13:12

同样遇到此问题,希望有人能够解决。 :em11
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: [求助]zsh的补全如何写?我想把用拼音补全中文的chsdir脚本移植到zsh

#3

帖子 tusooa » 2010-07-18 21:19

代码: 全选

tlcr: 0 庚寅年六月初七日 21:08:32  ~
>> dog ~/.zsh/complete | grep -A7 ^_ds
_ds-打印脚本.bash()
{
    find "$HOME/应用/脚本" -name '??-*.*' | \
    while read line ; do
        reply=("${reply[@]}" "${line#$HOME/应用/脚本/}")
    done
}
compctl -K _ds-打印脚本.bash ds-打印脚本.bash
tlcr: 0 庚寅年六月初七日 21:08:37  ~
>> 
懂不懂?
compctl -K function command
compctl -g "glob glob2..." command

代码: 全选

] ls -ld //
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: [求助]zsh的补全如何写?我想把用拼音补全中文的chsdir脚本移植到zsh

#4

帖子 lilydjwg » 2010-07-19 15:03

tusooa 写了:

代码: 全选

tlcr: 0 庚寅年六月初七日 21:08:32  ~
>> dog ~/.zsh/complete | grep -A7 ^_ds
_ds-打印脚本.bash()
{
    find "$HOME/应用/脚本" -name '??-*.*' | \
    while read line ; do
        reply=("${reply[@]}" "${line#$HOME/应用/脚本/}")
    done
}
compctl -K _ds-打印脚本.bash ds-打印脚本.bash
tlcr: 0 庚寅年六月初七日 21:08:37  ~
>> 
懂不懂?
compctl -K function command
compctl -g "glob glob2..." command
不行唉。比如补全 y,返回结果有 “音乐”,但是因为“音乐”不是以 y 开头,所以 zsh 并不补全它。
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: [求助]zsh的补全如何写?我想把用拼音补全中文的chsdir脚本移植到zsh

#6

帖子 lilydjwg » 2010-07-19 18:18

大哥,这个我有,我不会的是让zsh补全时调用它啊~~~
头像
adam8157
帖子: 2794
注册时间: 2009-03-05 16:31
联系:

Re: [求助]zsh的补全如何写?我想把用拼音补全中文的chsdir脚本移植到zsh

#7

帖子 adam8157 » 2010-07-19 18:28

代码: 全选

zstyle ':completion:*' user-expand _pinyin
function _pinyin() { reply=($($HOME/bin/chsdir 0 $*)) }
http://github.com/roylez/dotfiles/blob/master/.zshrc
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: [求助]zsh的补全如何写?我想把用拼音补全中文的chsdir脚本移植到zsh

#8

帖子 lilydjwg » 2010-07-19 19:23

adaml 写了:

代码: 全选

zstyle ':completion:*' user-expand _pinyin
function _pinyin() { reply=($($HOME/bin/chsdir 0 $*)) }
还是不行,执行后没有任何变化。。。
头像
whodare
帖子: 66
注册时间: 2006-11-14 18:39

Re: [求助]zsh的补全如何写?我想把用拼音补全中文的chsdir脚本移植到zsh

#9

帖子 whodare » 2010-11-16 19:06

同求可用的解决方案
头像
PithornDawn
帖子: 456
注册时间: 2012-04-14 11:00
系统: ArchLinux
联系:

Re: [求助]zsh的补全如何写?我想把用拼音补全中文的chsdir脚本移植到zsh

#10

帖子 PithornDawn » 2014-11-26 15:33

https://github.com/adaptee/pinyin-completion

我做了个AUR的包
aur/pinyin-completion-git 30.48dd34c-1 [installed] (0)
complete path name based upon the pinyin acronym of Chinese characters
My personal blog

毛概老师:大家知道一个有名的空想社会主义吗?同学:乌邦图

用Linux有感:
得,用了1年多linux,感觉自己还是个菜鸟。。。
用了2年了,感觉自己还是一般菜。。。
第3年...头半年感觉和去年没啥变化。。。后半年算是能发挥点主观能动性了吧。。
第4年。。感觉自己算个伪Geek了
第5年,虽然有同学管我叫大神,但我还是觉得自己菜的一笔。。
回复