我已经开始制作自己的oh-my-zsh主题,但遇到了一些问题。我正在尝试根据分支的名称更改 git 输出的颜色,除了一个重要的警告外,它工作得很好:它在启动时将颜色更改为正确的颜色zsh,但从不重新评估颜色应该是什么除非我重新启动zsh。
这是实际问题的屏幕截图:
我是否做错了什么,或者oh-my-zsh是否zsh支持这种事情?
几天前我做了 oh-my-zsh 的自动升级。现在我的过滤历史记录(输入几个字母和向上箭头)不再起作用。我没有意识到我对它有多么依赖。
\n\n编辑:
\n\n例如,我曾经输入命令的几个字母,然后按向上箭头来搜索我的历史记录:
\n\n\xe2\x9e\x9c scratch git:(develop) up # press \xe2\x86\x91 arrow key\nRun Code Online (Sandbox Code Playgroud)\n\n提示更改为:
\n\n\xe2\x9e\x9c scratch git:(develop) upupdowndownleftrightleftrightbabastartselect # 3 key presses\nRun Code Online (Sandbox Code Playgroud)\n\n我不知道我运行的是什么版本。现在:
\n\n\xe2\x9e\x9c scratch git:(develop) echo $ZSH_VERSION\n5.0.2\nRun Code Online (Sandbox Code Playgroud)\n\n以下是我的 .zshrc 文件中的几行,我认为这些行可以使增量搜索工作:
\n\n# Set bindkeys to start search from last word\nbindkey '\\e[A' history-beginning-search-backward\nbindkey '\\e[B' history-beginning-search-forward\nRun Code Online (Sandbox Code Playgroud)\n 我将 ZSH 与“OH MY ZSH”一起使用。
在$GREP_OPTIONS具有多个值的“OH MY ZSH”变量导出中:
$ echo $GREP_OPTIONS
--color=auto --exclude-dir=.cvs --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用时,grep我看到了grep.
如果我$GREP_OPTIONS用单个值设置一切都很好
$ export GREP_OPTIONS='--color=auto'
$ ls -l ~/ | grep .zsh
drwxr-xr-x 11 petr petr 4096 Sep 10 09:23 .oh-my-zsh
drwxr-xr-x 4 petr petr 4096 Sep 24 13:10 .zsh
lrwxrwxrwx 1 petr petr 19 Sep 22 12:24 .zshenv -> /home/petr/.zsh/env
-rw-r--r-- 1 petr petr 5141 Sep 23 10:31 .zshrc
-rw-r--r-- 1 petr petr 17 Sep …Run Code Online (Sandbox Code Playgroud) 我试图安装的Symfony2和混帐对插件的zsh在我的搬运工容器。
FROM php:7-fpm
# Install Packages
RUN apt-get update && apt-get install -y vim zsh git
RUN docker-php-ext-install pdo pdo_mysql mysqli zip mbstring
# Instal Oh my Zsh
RUN bash -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
RUN sed -i -- 's/robbyrussell/wezm+/g' /root/.zshrc # Other awesome theme: random kafeitu sonicradish wezm+
RUN echo "plugins=(git symfony2)" >> ~/.zshrc
Run Code Online (Sandbox Code Playgroud)
但是自动完成不起作用。好像没有安装插件。
我错过了什么?
所以,我最近开始使用zsh和oh-my-zsh。我使用的是纯(精炼)主题,提示在提示上方显示额外信息。
Ctrl当我使用+清除终端时L,整个终端都会被清除,但显示当前目录和 git 信息的提示符之前的行也会被清除。但是,当我键入时clear,该行会保留提示,而终端会被清除。
Ctrl当我按+时有没有办法保留该行L?该快捷方式指向什么以及如何更改它?在我的终端首选项(我使用的是 Manjaro Budgie)中,快捷方式列表中不存在该键绑定。
我最近从 bash 切换到 zsh,现在当我输入时
ls *
Run Code Online (Sandbox Code Playgroud)
它不是简单地列出此目录中的所有文件,而是显示一个两级树。
还
rm -rf somepath/*
Run Code Online (Sandbox Code Playgroud)
输出失败 zsh: no matches found:
这曾经与 bash 一起工作得很好。谁能帮我恢复这种行为?
我确实安装了 oh-my-zsh。
ls我为和cd+自定义了目录和文件颜色TAB。这是我的配置。
我的配置
我的系统环境。
Ubuntu 10.10
zsh 4.3.10 (x86_64-unknown-linux-gnu)
oh-my-zsh // http://git://github.com/robbyrussell/oh-my-zsh.git
Terminal
Run Code Online (Sandbox Code Playgroud)
我的 .zshrc 在 $HOME 中。
// .zshrc
echo "Sourcing $0."
ZSH=$HOME/.oh-my-zsh
ZSH_THEME="josh"
source $ZSH/oh-my-zsh.sh
Run Code Online (Sandbox Code Playgroud)
~/.oh-my-zsh/custom/completion.zsh 中的自定义 zsh 脚本
// completion.zsh
echo "Sourcing $0."
# Same completion colors when using cd as with ls.
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*:*:*:*:*' menu yes select
Run Code Online (Sandbox Code Playgroud)
~/.oh-my-zsh/custom/theme-and-appearance.zsh 中的自定义 zsh 脚本
// theme-and-appearance.zsh
echo "Sourcing $0."
export LS_COLORS='di=1;34:ln=35:so=32:pi=0;33:ex=32:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=1;34:ow=1;34:'
Run Code Online (Sandbox Code Playgroud)
问题描述。
当我第一次打开终端时,会获取 3 个文件。请注意,它.zshrc确实出现了,但没有显示其路径或文件名。
Sourcing zsh. …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了colour-man-pages zsh 插件。
它运行良好,但我在底部消息上有一个难看的颜色输出:
在不覆盖所有内容的情况下个性化插件颜色的正确方法是什么?似乎颜色是在插件激活过程中直接设置的。
或者它可能是我的系统的错误,可以用另一种方式修复?事实上,这种默认的不可读的颜色输出看起来很奇怪。
我在 Ubuntu 18.10 和 gnome-terminal 下运行。
这个问题基本上是这个问题的重复:https://askubuntu.com/questions/91740/how-to-move-all-files-in-current-folder-to-subfolder
但我问的是如何在 Mac OS X 终端中使用 oh-my-zsh 来完成此操作。
我对给出的解决方案的问题是它们似乎在我的终端中不起作用(将问题中的文件夹“new”替换为“oldCodeBase”)
[~/Sid/Moonshine_Machine, 127, master+3]: mv !(oldCodeBase) oldCodeBase
zsh: number expected
Run Code Online (Sandbox Code Playgroud)
这里等待的号码是多少?
转向另一个建议的解决方案是使用 shopt 命令。
但我似乎没有可用的 shopt 命令:
~/Sid/Moonshine_Machine, 1, master+3]: shopt -s extglob dotglob
zsh: command not found: shopt
Run Code Online (Sandbox Code Playgroud)
所以目前这两种解决方案似乎都不起作用。
我发现 zsh 中的“setopt”似乎是与“shopt”类似的命令,但会导致以下问题
[~/Sid/Moonshine_Machine, 127, master+3]: setopt -s extglob dotglob
setopt: no such option: extglob
Run Code Online (Sandbox Code Playgroud) 我在终端 Zsh (Mac OSx) 上定义了多个别名,安装Oh My Zsh后,我无法执行旧别名,通过运行别名,我会看到 Oh My Zsh 添加的许多新别名的列表。这是否意味着它覆盖了我的旧的?是否可以恢复旧的别名?