标签: oh-my-zsh

如何修复选项卡完成问题,使其不隐藏条目?

我在 Mac OS X 上使用 oh-my-zsh 和自制的 zsh 4.3.12。我最近偶然发现了一个奇怪的问题。在scripts/not-used我有几个.R文件:

breakdowns.R             eventloop.R              process-largeclients.R   process-qt.R
reprocess-pinning.R      calculate-qt-error.R     generate_decision_tree.R process-net.R
process-scalingexp.R
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试ls scripts/not-used/+ 时Tab,第一个完成是ls scripts/not-used/_.Rwhere_代表光标位置。如果我Tab再次按下,我会得到这个奇怪的完成:

$ ls scripts/not-used/.R                                                                          
breakdowns.R  eventloop.R
Run Code Online (Sandbox Code Playgroud)

如何取消这种丑陋(错误)的行为?

设置的选项是:

alwaystoend autocd autonamedirs autopushd cdablevars completeinword
correctall extendedglob extendedhistory noflowcontrol
histexpiredupsfirst histignoredups histignorespace histreduceblanks histverify
incappendhistory
interactive login longlistjobs monitor promptsubst 
pushdignoredups pushdminus pushdsilent pushdtohome
sharehistory shinstdin zle
Run Code Online (Sandbox Code Playgroud)

zsh autocomplete oh-my-zsh

17
推荐指数
1
解决办法
2095
查看次数

grml zsh config 和 oh-my-zsh config 之间的主要区别是什么

现在我在 oh-my-zsh 上,但我不确定它是否是完美的选择。grml zsh config ( github repo ) 和oh-my-zsh config之间的主要区别是什么?在哪种情况下,我应该更喜欢 grml 还是 oh-my-zsh?

zsh grml oh-my-zsh

17
推荐指数
1
解决办法
2万
查看次数

zsh compinit:不安全的目录,运行 compaudit 获取列表

当我尝试以 root 身份登录时,出现此警告。

luvpreet@DHARI-Inspiron-3542:/$ sudo su
Password: 
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]? 
Run Code Online (Sandbox Code Playgroud)

如果我说是,它只是登录,然后我的 shell 从 bash 更改为 zsh。

如果我说不,它会说ncompinit: initialization aborted并登录。

登录后,我的shell 更改为zsh。

我所做的与 zsh 相关的所有事情都是从 github下载oh-my-zsh

发生了什么,为什么?

在戴尔上使用 - Ubuntu 16.04。

shell zsh sudo oh-my-zsh

16
推荐指数
2
解决办法
2万
查看次数

在 Android Studio 中更改 Zsh 主题

我最近跳槽了zsh,我正在使用Oh my Zsh!主题blinks。它在 OSX 终端中看起来很不错,但在 Android Studio 的终端中看起来很糟糕。

所以我的问题是有没有办法检查这个会话是否已在 Android Studio 中打开,而不是在 OSX 终端中打开并zsh据此更改主题?

在此处输入图片说明

在此处输入图片说明

zsh terminal theme oh-my-zsh

14
推荐指数
1
解决办法
2981
查看次数

在 zsh 和 vim 中根据模式更改光标样式

我在oh-my-zsh 中使用vi-modeaf-magic主题

我希望光标样式在 in和 in 中指示我是处于正常模式(块)还是插入模式(梁)。zshvim

这是我到目前为止:

在我的~/.zshrc

    # vim mode config
    # ---------------

    # Activate vim mode.
    bindkey -v

    # Remove mode switching delay.
    KEYTIMEOUT=5

    # Change cursor shape for different vi modes.
    function zle-keymap-select {
      if [[ ${KEYMAP} == vicmd ]] ||
         [[ $1 = 'block' ]]; then
        echo -ne '\e[1 q'

      elif [[ ${KEYMAP} == main ]] ||
           [[ ${KEYMAP} == viins …
Run Code Online (Sandbox Code Playgroud)

vim zsh oh-my-zsh caret-cursor

14
推荐指数
2
解决办法
1万
查看次数

zsh 中的每个目录历史记录

我很高兴使用zsh一段时间了,我对我的历史设置非常满意,它们是:

# Write to history immediately
setopt inc_append_history
# History shared among terminals
setopt share_history
# Save extended info in history
setopt extended_history
# Ignore duplicates
setopt hist_ignoredups
Run Code Online (Sandbox Code Playgroud)

但是经常发生我需要在某些特定目录中使用特定命令的情况。例如,当我在时~/my_project我通常会调用make target1 && ./run1,但是当我在时~/second_project我通常需要make target2 && cat foobar | ./run2.

即:不同的目录,但相似的命令。

所以,我通常会cd ~/my_project输入make然后在历史中向后搜索,直到找到我需要的东西。但是如果碰巧我在 . 工作second_project,在搜索历史时我会发现一些我不需要的命令。

所以,我的问题是:zsh 是否存在插件/设置/某些东西,以便在历史记录中搜索时,首先显示在当前目录中调用的命令?

理想情况下,所有其他匹配的历史命令都将出现在这些命令之后,可选择指定最大优先级元素数。

我会尝试自己写这样的东西,但我仍然不知道如何编写自定义zsh插件,如何处理历史记录等等。

command-history zsh oh-my-zsh

13
推荐指数
2
解决办法
2443
查看次数

将 url 粘贴到终端(urxvt,zsh)失败,一些字符被转义

最近几个月,我发现如果我在 Chrome 中复制 URL,然后在 中 Shift-Insert urxvt,粘贴的 URL 会被转义。

例如,原始网址是:

http://example.com/?a=c
Run Code Online (Sandbox Code Playgroud)

粘贴的内容是:

http://example.com/\?a\=c
Run Code Online (Sandbox Code Playgroud)

但是,如果我将其粘贴到其他地方,例如在 Web 浏览器中或在 中vim,则无法逃脱。

我用的是 Arch Linux, urxvt, zsh,oh-my-zsh.

zsh clipboard rxvt oh-my-zsh

12
推荐指数
2
解决办法
4705
查看次数

zsh 选项卡完成。到 。/

不是重复的:
我不是在寻找一种方法来完成目录名称或从固定目录执行脚本。我试图解决的问题是在按的情况下完成当前目录/


我希望 zsh 完成选项卡../喜欢 bash。

使用 bash,我习惯于按下.TABTAB以查看当前工作目录中的所有文件,因为它首先完成./并显示该目录中的所有内容。我希望/不惜一切代价避免的原因是,这/在我的德语键盘上要困难得多,TAB因为它要么用 2 个手指带 shift 要么在小键盘上远离,我宁愿切换回 bash 而不是键入 a /。我想实现什么,换句话说 bash 做什么:

$ .               <TAB>
$ ./              <TAB>
foo.sh   somedir/
$ ./              <F><TAB>
$ ./foo.sh        <ENTER>
Run Code Online (Sandbox Code Playgroud)

当我点击时使用 zsh / oh-my-zsh.TAB我得到.(点空间)这对我来说根本没有用。

  • 使用zstyle ':completion:*' special-dirs truewith setopt auto_cd(这是 oh-my-zsh 默认值)给了我一个更不实用的选项../on …

zsh oh-my-zsh

11
推荐指数
1
解决办法
712
查看次数

为什么我会丢失 ZSH 历史记录?

每隔一段时间我就会发现我的zsh历史记录被截断了(或者可能完全丢失了,很难说),我必须从备份中恢复它。

例如,今天:

ls -lh ~/.zsh_history
-rw-------  1 stripe  staff    32K 21 Feb 10:20 /Users/stripe/.zsh_history
Run Code Online (Sandbox Code Playgroud)

但是在我几天前的备份中:

-rw-------@  1 stripe  staff  203K 17 Feb 22:36 /Volumes/Time Machine Backups/.../Users/stripe/.zsh_history
Run Code Online (Sandbox Code Playgroud)

我已经配置zsh为保存大量历史记录,所以这不应该是 shell 有意修剪文件的问题。

unsetopt share_history
setopt inc_append_history
setopt hist_ignore_all_dups
HISTSIZE=500000
SAVEHIST=$HISTSIZE
Run Code Online (Sandbox Code Playgroud)

有没有其他人经历过这种情况并找到了缓解它的方法?是否有一些zsh我不知道的春季大扫除功能?

command-history zsh oh-my-zsh macos

11
推荐指数
3
解决办法
3525
查看次数

像 VIM 一样在屏幕上完成单词(Bash 或 Tmux)

如何配置 Bash、Zsh 或 Tmux 以完成屏幕上最后一个匹配的标识符?考虑这个常见的场景:

$ git fetch
remote: Counting objects: 16, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 9 (delta 4), reused 0 (delta 0)
Unpacking objects: 100% (9/9), done.
From /opt/git/thunder
 * [new branch]      issue540   -> origin/issue547314
   e9204cf..4d42c3f  v2.1       -> origin/v2.1
Run Code Online (Sandbox Code Playgroud)

如何让 Bash/Zsh/Tmuxissue547在 CLI 上轻松完成?当我Tab$ git checkout isGit 帮助完成 to后按下时issue,但我必须自己完成数字,因为所有前面的数字实际上都匹配现有的 Git 分支

在 VIM 中,按Ctrl+ Pfor omnicomplete 将作为前一个匹配完成,因此在这种情况下issue547314实际上会完成。如何在 …

bash zsh tmux autocomplete oh-my-zsh

10
推荐指数
1
解决办法
1293
查看次数