zsh 贝壳,oh-my-zsh 框架,zsh的配置(有或没有相同的问题zsh-completions):见.zshrc最后。如果目录包含:
makefile目标:hello,hello.o和main.o,foo,bar和baz,调用make+ TAB 显示为完成:
bar baz foo hello hello.o main.o makefile
而不仅仅是makefile的目标。
在这方面,我如何自定义zsh以使其行为bash(仅显示makefile's 目标)?
这是我的.zshrc:
export ZSH=/home/bitouze/.oh-my-zsh
ZSH_THEME="gnzh"
plugins=(git zsh-completions)
autoload -U compinit && compinit
source $ZSH/oh-my-zsh.sh
export LANG=fr_FR.UTF-8
source $HOME/.aliases
# texdoc completion
compctl -k "(($(grep …Run Code Online (Sandbox Code Playgroud) 我使用 macOS 10.15.2 和 iTerm2、zsh 5.7.1 和 oh-my-zsh(主题 robbyrussell)。
我注意到提示打印相对于 bash 打印稍慢。例如,如果我按enter,光标最初位于下一行的开头,然后过了一会儿,shell 提示出现并且光标移动到其自然位置。例如,如果? ~是我在主文件夹时的提示,[]是我的光标,当我按 Enter 时,我看到:
0 - 空闲状态
? ~ []
1 - 按下后立即 enter
[]
2 - 回到空闲状态
? ~ []
当我多次快速按下 Enter 时,这种缓慢尤为明显。在这种情况下,我看到一些空行。这是我看到的
? ~
? ~
? ~
? ~
? ~
? ~
? ~
? ~
? ~ []
Run Code Online (Sandbox Code Playgroud)
我来自 bash shell,当我使用 bash 时,没有这么慢。我不确定这是 oh-my-zsh 或其自然行为的问题。我想更多地了解这个问题,并最终了解如何解决它。谢谢。
PS:问题来自 oh-my-zsh,即使我禁用了所有插件,它仍然存在。
PPS:我之前在 SO 上发布了这个问题。感谢user1934428的帮助并建议我将这个问题移到这里。
我在我的 mac(unix) 上使用这个配置来自定义我的 shell。我正在使用 zsh 而不是 bash,并且 zsh 有太多的东西。此.dotfile配置包含vim, zsh, git, homebrew, nvm, nginx, neovim相应的主题和配置。随着Oh-my-zsh我可以定制这么多的主题,但这里zsh是我的控制壳~/.zshrc是创建一个符号链接.dotfiles/zsh/zshrc.symlink文件,我从GitHub的.dotfile捆绑使用它。我已将 oh-my-zsh 版本的 zshrc 文件重命名为 ~/.zshrc.bak。此外,将主题配置添加到文件zsh's版本~\zshrc不起作用。如何,我可以更改主题zsh吗?
来自 ~/.dotfiles 的 zshrc 符号链接
? cat ~/.zshrc
# Ruby Motion android tool
export RUBYMOTION_ANDROID_SDK=/Users/abhimanyuaryan/.rubymotion-android/sdk
export RUBYMOTION_ANDROID_NDK=/Users/abhimanyuaryan/.rubymotion-android/ndk
export DOTFILES=$HOME/.dotfiles
export ZSH=$DOTFILES/zsh
# display how long all tasks over 10 seconds take
export REPORTTIME=10
[[ -e ~/.terminfo ]] && export TERMINFO_DIRS=~/.terminfo:/usr/share/terminfo …Run Code Online (Sandbox Code Playgroud) 我是oh-my-zsh第一次安装。我只想知道如何修改历史记录中记住的过去命令的数量?我在哪里可以设置这个设置?
我想为我的 ls 命令添加别名,但它有一个先前定义的别名,我相信它在我的定义之前首先被调用!我使用 .zshrc 来定义我的别名,这就是我所做的:
alias ls="ls --classify --almost-all --group-directories-first"
这是别名命令的输出:
$ alias | grep "ls="
ls='ls --color=tty'
Run Code Online (Sandbox Code Playgroud)
是否有任何可能的操作来查看另一个别名的定义位置?或者用新的覆盖它?
注意:我使用 ZSH,并且我已经在 .profile 和我知道可能有帮助的其他相关文件中搜索了它。如果有任何文件需要我检查,请评论。
我已经安装了 oh-my-zsh 一段时间,我可以只使用一个字母输入完整路径,然后按 Tab 键不区分大小写自动完成整个事情。例如,如果我有一个文件 at ~/Documents/sites/great-site/great-file.txt,我可以输入vim ~/d/s/g/g并按 Tab 键,它会将路径扩展到正确的路径,或者如果有多个可能的路径,它会尽可能地扩展并跳转到有冲突的地方.
我卸载了oh-my-zsh,因为它启动很慢并且一直想侵入式更新。有没有办法在没有 oh-my-zsh 的情况下为文件路径获得相同的不区分大小写的完成和部分单词/单字母样式的完成?
我在 zsh 中为 git 创建了一些别名,例如 gch = git checkout、grb = git rebase --committer-date-is-author-date 和一些更复杂的用于 git 命令的有用 zsh 函数。但是如何允许这些别名使用 zsh git 自动完成功能?
每当我打开一个新的 TMux 会话时,我都会看到以下内容:
/home/foo/.oh-my-zsh/oh-my-zsh.sh:3: command not found: env
env_default:1: command not found: env
env_default:1: command not found: grep
env_default:1: command not found: env
env_default:1: command not found: grep
Run Code Online (Sandbox Code Playgroud)
我已经删除了我的.tmux.conf文件,以下是文件中的行oh-my-zsh.sh:
1 # Check for updates on initial load...
2 if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then
3 env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh
4 fi
5
Run Code Online (Sandbox Code Playgroud)
常规终端会话没有这个问题...但是,由于某种原因,这确实...好吧,我应该说,它不会显示这些错误。可能还有一个我不知道的问题。现在想起来,oh-my-zsh 要求更新自己已经有一段时间了。
另外,Vim 似乎.vimrc也没有在 Tmux 中加载...这是 PATH 问题吗?
对这里可能出什么问题有什么想法吗?
编辑
这是我的.tmux.conf
# remap prefix from 'C-b' to 'C-a' …Run Code Online (Sandbox Code Playgroud) 是否可以在 zsh shell 中自动触发 fzf 历史搜索?
在这个视频中,用户点击“Ctrl+r”开始历史搜索,然后开始输入。当我开始输入任何内容时,是否可以自动启动历史搜索?或者,是否可以配置 zsh 以便新提示始终以“Ctrl + r”模式启动?
有人可以给我 Kali 使用的默认 ZSH 主题的名称吗?另外,如果可以的话请提供一个链接。
oh-my-zsh ×10
zsh ×8
autocomplete ×3
terminal ×3
alias ×2
fzf ×1
kali-linux ×1
make ×1
path ×1
prompt ×1
shell-script ×1
tmux ×1