[分享]终极Shell——Zsh

仅仅用于软件推荐,不适合发求软件或软件使用问题方面的贴子
回复

心动VS行动?

行动
87
44%
心动
21
11%
以静制动
91
46%
 
总计票数: 199
kardinal
帖子: 750
注册时间: 2006-03-19 11:39

#46

帖子 kardinal » 2008-08-01 2:05

又想起来一个功能 8)
同时重定向stdout和stderr到file: command |& >file
同时重定向到多个文件: command >file.1 >file.2

比如装系统的时候,可以用这个命令

代码: 全选

 blkid >> /boot/grub/menu.lst >> /etc/fstab
还有很多,想起来再说 :lol:
hk2717
帖子: 2
注册时间: 2008-06-22 2:24

#47

帖子 hk2717 » 2008-08-06 10:12

请教一下,在 fish 里面,如果我输入“.pekwm”,再按向上箭头,fish 只会列出包含“.pekwm”的历史记录,比如“vim ~/.pekwm/mouse”,或“cd .pekwm”。在 zsh 里面要怎样配置才能实现这样的功能?
junlovemin
帖子: 26
注册时间: 2006-09-26 19:55

#48

帖子 junlovemin » 2008-09-04 16:36

图片
这个配置里的颜色怎么改啊,比如--的,还有别的颜色在哪儿改?
附件
1.GIF
1.GIF (8.47 KiB) 查看 4143 次
kardinal
帖子: 750
注册时间: 2006-03-19 11:39

#49

帖子 kardinal » 2008-09-08 12:07

代码: 全选

PROMPT='%{^[[36m%}%n%{^[[35m%}@%{^[[34m%}%M %{^[[33m%}%D %T  %{^[[32m%}%/ 
%{^[[31m%}>>%{^[[m%}'
这是第一种提示符 里面的数字代表某一种颜色 如31代表红色
不过可以使用的颜色不是很多……

代码: 全选

$PR_CYAN$PR_SHIFT_IN$PR_ULCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
$PR_GREEN%(!.%SROOT%s.%n)$PR_GREEN@%m:%l\
$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_HBAR${(e)PR_FILLBAR}$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
$PR_MAGENTA%$PR_PWDLEN<...<%~%<<\
$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_URCORNER$PR_SHIFT_OUT\

$PR_CYAN$PR_SHIFT_IN$PR_LLCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
%(?..$PR_LIGHT_RED%?$PR_BLUE:)\
${(e)PR_APM}$PR_YELLOW%D{%H:%M}\
$PR_LIGHT_BLUE:%(!.$PR_RED.$PR_WHITE)%#$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
$PR_NO_COLOUR '
第二种提示符用变量来表示颜色,只要改变一下名称就可以了

代码: 全选

zstyle ':completion:*:descriptions' format $'\e[01;33m -- %d --\e[0m'
zstyle ':completion:*:messages' format $'\e[01;35m -- %d --\e[0m'
zstyle ':completion:*:warnings' format $'\e[01;31m -- No Matches Found --\e[0m'
descriptions就是补全类型提示的格式、颜色
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: [分享]终极Shell——Zsh

#50

帖子 roylez » 2008-10-29 5:47

去过的路径补全。

setopt auto_pushd
图片
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
aaazjz
帖子: 444
注册时间: 2007-03-24 9:08
来自: 青岛
联系:

Re: [分享]终极Shell——Zsh

#51

帖子 aaazjz » 2008-10-29 11:44

roylez 写了:去过的路径补全。

setopt auto_pushd
图片
这点激发我的欲望了…… :em05
头像
cyf3732
帖子: 174
注册时间: 2006-07-24 19:22

Re:

#52

帖子 cyf3732 » 2008-10-29 19:23

roylez 写了:动态screen title,需要与screen配合。

代码: 全选

#screen integration to set caption bar dynamically
function title {
if [[ $TERM == "screen" || $TERM == "screen.linux" ]]; then
    # Use these two for GNU Screen:
    print -nR $'\033k'$1$'\033'\\\

    print -nR $'\033]0;'$2$'\a'
elif [[ $TERM == "xterm" || $TERM == "urxvt" ]]; then
    # Use this one instead for XTerms:
    print -nR $'\033]0;'$*$'\a'
    #trap 'echo -ne "\e]0;$USER@$HOSTNAME: $BASH_COMMAND\007"' DEBUG
fi
}



#set screen title if not connected remotely
function precmd {
    title "`print -Pn "%~" | sed "s:\([~/][^/]*\)/.*/:\1...:"`" "$TERM $PWD"
    echo -ne '\033[?17;0;127c'
}

function preexec {
    emulate -L zsh
    local -a cmd; cmd=(${(z)1})
    if [[ $cmd[1]:t == "ssh" ]]; then
        title "@"$cmd[2] "$TERM $cmd"
    elif [[ $cmd[1]:t == "sudo" ]]; then
        title "#"$cmd[2]:t "$TERM $cmd[3,-1]"
    elif [[ $cmd[1]:t == "for" ]]; then
        title "()"$cmd[7] "$TERM $cmd"
    elif [[ $cmd[1]:t == "svn" ]]; then
        title "$cmd[1,2]" "$TERM $cmd"
    else
        title $cmd[1]:t "$TERM $cmd[2,-1]"
    fi 
}

这里不太明白,这段代码应该放到 .zshrc 里还是在 .screenrc 里面呢?

另外 roylez 可否分享下你视频里面的 screen status-bar 的配置?感谢! :em01
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: Re:

#53

帖子 roylez » 2008-10-30 7:16

cyf3732 写了:
roylez 写了:动态screen title,需要与screen配合。

这里不太明白,这段代码应该放到 .zshrc 里还是在 .screenrc 里面呢?

另外 roylez 可否分享下你视频里面的 screen status-bar 的配置?感谢! :em01
放到zshrc里面。

vermaden的screen hardstatus

代码: 全选

hardstatus alwayslastline '%{= G} %l %=%{= w}%-w%{+b r}%n*%t%{-b r}%{w}%+w%= %{c}%d %D %{B}%c '
图片

我的screen hardstatus

代码: 全选

hardstatus alwayslastline "%{=b}%{-b}%{R}[%{=b B}%-w%{=b BK}%>%n %t%{-}%+w%{-b}%< %=%{R}][%{-b}%{M}%m-%d %D %{G}%c%{R}]"
图片
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
头像
cyf3732
帖子: 174
注册时间: 2006-07-24 19:22

Re: [分享]终极Shell——Zsh

#54

帖子 cyf3732 » 2008-10-30 8:49

感谢!太赞了!哈哈,终于用上了! :em05

灰常感谢 roylez :em01
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: [分享]终极Shell——Zsh

#55

帖子 roylez » 2008-10-31 10:37

再来两个

敲目录名自动cd,当然,补全还是可以用的

代码: 全选

setopt auto_cd
补全目录名: ~/w/p <TAB> ==>补全成 ~/workspace/python

代码: 全选

setopt complete_in_word
kill补全

代码: 全选

zstyle ':completion:*:*:kill:*' menu yes select
zstyle ':completion:*:*:*:*:processes' force-list always
zstyle ':completion:*:processes' command 'ps -au$USER' 
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
williswatson
帖子: 234
注册时间: 2006-07-25 22:02

Re: [分享]终极Shell——Zsh

#56

帖子 williswatson » 2008-11-23 15:48

各位啊,你们都说ZSH好可是我SSH过去再打个ZSH出来的总有乱码啊,和你们截的图不一样啊,郁闷了我几个星期了
yjice821
帖子: 19
注册时间: 2008-11-06 16:16

Re: [分享]终极Shell——Zsh

#57

帖子 yjice821 » 2008-11-26 10:26

看过10楼的大作了,Fish的确好用,推荐一下
kardinal
帖子: 750
注册时间: 2006-03-19 11:39

Re: [分享]终极Shell——Zsh

#58

帖子 kardinal » 2008-11-27 11:56

@williswatson:估计不是Zsh的问题,可能是系统编码不同。比如用PuTTY,需要在translation中选择UTF-8
@yjice821:最新版本: http://linuxtoy.org/docs/guide/
Razor.PY
帖子: 1
注册时间: 2008-12-05 23:01

Re: [分享]终极Shell——Zsh

#59

帖子 Razor.PY » 2008-12-06 13:14

某年开国际黑客大会,大家发现真正会Zsh的不超过5人,还包括zsh作者自己。

一般人会bash的10%,算是很牛了。。。。
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: [分享]终极Shell——Zsh

#60

帖子 roylez » 2008-12-07 6:44

Razor.PY 写了:某年开国际黑客大会,大家发现真正会Zsh的不超过5人,还包括zsh作者自己。

一般人会bash的10%,算是很牛了。。。。
话这样说是没错。但是真正的好软件,不是要你全学会才能用得舒服的。比如vim/emacs,有几个人敢说自己全会的,大家不是一样用得舒舒服服的?
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
回复