LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: aegean sea

问有关于界面问题

[复制链接]
 楼主| 发表于 2009-6-29 09:28:53 | 显示全部楼层
试了一下,时间线变漂亮。
不过以前的大小写自动调整识别怎么不见了?
cd mus  “tab”
cd Music
这个功能

另外问一下zsh怎么没有修改环境变量PATH?我不太了解PATH,记得以前安装完一些东西要在bashrc里加入PATH,现在用zsh不加也可以执行命令。。。糊涂了

原来kardinal兄弟就是《开源世界旅行手册》的作者,久仰久仰。很喜欢这本手册,关于GNU/Linux的介绍真是应有尽有,太赞了~期待完整版。
回复 支持 反对

使用道具 举报

发表于 2009-6-29 10:02:41 | 显示全部楼层
Post by kardinal;2001949
fc -R 可以切换,问题是怎么切回来

M-p 的时候检查 HISTFILE ,设成 $HISTDIR/${PWD//\//:}

[[ ! $HISTFILE=$HISTDIR/${PWD//\//:} ]] && $HISTFILE=$HISTDIR/${PWD//\//:}
[[ $HISTFILE=$HISTDIR/${PWD//\//:} ]] && fc -R

zshaddhistory 的时候可以加一个判断,只要当前操作和上一次不一样,就把 HISTFILE 设回global,这个也不难,关键是如何检测当前执行的zle命令和上一次执行的是否相同
兄弟呀,都靠你了。偶们只能依样画葫芦,最多挑点小错啥的。
回复 支持 反对

使用道具 举报

发表于 2009-6-29 12:02:27 | 显示全部楼层
Post by aegean sea;2001953
试了一下,时间线变漂亮。
不过以前的大小写自动调整识别怎么不见了?
cd mus  “tab”
cd Music
这个功能

另外问一下zsh怎么没有修改环境变量PATH?我不太了解PATH,记得以前安装完一些东西要在bashrc里加入PATH,现在用zsh不加也可以执行命令。。。糊涂了

原来kardinal兄弟就是《开源世界旅行手册》的作者,久仰久仰。很喜欢这本手册,关于GNU/Linux的介绍真是应有尽有,太赞了~期待完整版。

检查下有没有这句:
  1. zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'
复制代码


PATH 在 /etc/profile 文件中的吧,
  1. echo $PATH
复制代码

可执行文件路径不在 $PATH 中的不能执行

《旅行手册》现在移到 linuxtoy 的 wiki 上了,用 docbook 写太繁琐了。目前主要工作是复制粘贴……这可是一个体力活儿……
回复 支持 反对

使用道具 举报

发表于 2009-6-29 12:04:09 | 显示全部楼层
Post by zhuqin_83;2001968
兄弟呀,都靠你了。偶们只能依样画葫芦,最多挑点小错啥的。


俺再好好的 man zshall 看看有没有比较好的解决办法
zsh 的 man 几乎不是给人看的…… -_-|||
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-29 12:20:24 | 显示全部楼层
明白,是俺太笨了,以后要认真看资料后再提问
回复 支持 反对

使用道具 举报

发表于 2009-6-29 15:10:31 | 显示全部楼层
试了半天,不成……
暂时还是用原来的方案,用 fc -p 和 fc -P 吧,绑定个快捷键,凑合先用着……
不过这得在 chpwd 之前操作,很容易马后*了
还有一个办法就是
[php]
cphist() {
    fc -R $HISTDIR/${OLDPWD//\//:}
    history -fi
}
zle -N cphist
bindkey "\e\e" cphist #不知道绑到哪好,随便绑了一个
[/php]
如果需要上一个目录中执行的命令,直接 \e\e 把上一个目录中的纪录读入……我试了几下,还成……目前比较可行的解决办法了 -_-|||

Post by aegean sea;2002004
明白,是俺太笨了,以后要认真看资料后再提问
呵呵,俺用五笔,倒是不介意多打几个字
回复 支持 反对

使用道具 举报

发表于 2009-7-2 10:47:51 | 显示全部楼层
研究了半天,绑到了 ESC SPC
  1. bindkey "\e\ " cphist
复制代码

这个改了下,以前的时候要
TAB SPC TAB ,然后出 "cd ~"
填入 pkg ,TAB ,出 "cd ~PKG"
现在可以直接 "cd  pkg"(中间两个空格) TAB,补全为 "cd ~PKG"
也可以使用原来的方式
……总的说来,现在可以少按一次 TAB,舒服多了
  1.         cd\ \ * )                  # TAB + 空格 替换为 "cd ~"
  2.             BUFFER=${BUFFER/\ \ /\ ~}
  3.             zle end-of-line
  4.             zle expand-or-complete
  5.             ;;
复制代码
回复 支持 反对

使用道具 举报

发表于 2009-7-2 11:25:22 | 显示全部楼层
还是不懂,这个cphist有啥用阿?列出所有历史记录?
回复 支持 反对

使用道具 举报

发表于 2009-7-2 13:30:27 | 显示全部楼层
比如说你在 $home 下执行了
du -h --max-depth=1

然后到其它目录,这时是没有 du -h --max-depth=1 这个纪录的
cphist 后,fc -l 就有了 ,并且上翻可以找到
hist 则没有这个命令,翻出来后如果不执行,这个命令也不纪录到 histfile 中

PS:其实不用列出也是一样的。但是这个操作一点反应也没有,列出来能够提醒一下
如果不想列出,把 history -fi 那行删了就行,绝对一点动静没有,唯一的表现是按了空格光标却没有动 ;)
回复 支持 反对

使用道具 举报

发表于 2009-7-2 13:50:39 | 显示全部楼层
如果列出的话,还要自己按下回车
加了一行,回车不用自己按了
  1. cphist() {
  2.     fc -R $HISTDIR/${OLDPWD//\//:}
  3.     print '\n'
  4.     history -fi
  5.     zle accept-line
  6. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表