小编Zor*_*war的帖子

取消 zsh 选项卡完成

有没有办法在开始后取消完成?我有时会愚蠢地按 Tab 键来自动完成 make 目标(仅仅是因为懒惰),然后最终不得不等待比我自己输入整个“安装”或“检查”更长的时间。

我在 zshzle 手册页中没有看到任何值得注意的东西,但也许我错过了什么?有没有其他shell有这个功能?

编辑:琐碎的答案。所以相反:有没有办法让 zsh 估计选项卡完成需要相对较长的时间来执行,而是询问用户是否愿意这样做?

zsh autocomplete

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

zsh I/O 重定向:重定向然后管道;到底是怎么回事?

有人可以解释一下这个命令中发生了什么:

echo foo >&2 | grep foo
Run Code Online (Sandbox Code Playgroud)

Zsh (5.0.2) 打印foo两次。一个似乎是标准输出,一个是标准错误,因为运行这些命令:

{ echo foo >&2 | grep foo } >/dev/null
Run Code Online (Sandbox Code Playgroud)

和:

{ echo foo >&2 | grep foo } 2>/dev/null
Run Code Online (Sandbox Code Playgroud)

两者都只打印foo一次。

zsh pipe io-redirection

9
推荐指数
1
解决办法
887
查看次数

在不中断按键事件的情况下在按键上运行程序

是否可以将(全局)按键绑定到某个命令并且仍然不会中断按键完成?我的意思是,如果我尝试在此处其他地方发布的 bindkey 解决方案:

# In file: ~/.xbindkeysrc
# Bind key 'q' to running 'some_command'
"some_command"
  q
Run Code Online (Sandbox Code Playgroud)

然后按键'q'永远不会完成,因为它会做:即,永远不会在终端上打印字符'q',例如。

利用xdotool发送“Q”按键是这样的:

# In file: ~/.xbindkeysrc
# Bind key 'q' to running 'some_command'
"some_command && xdotool key q"
  q
Run Code Online (Sandbox Code Playgroud)

导致循环,因为执行的“q”键xdotool将通过绑定执行另一个“some_command”。

更清楚一点,我希望按键“q”像往常一样执行,另外还执行一些外部命令。上面的解决方案用执行一些外部命令替换了 'q' 按键事件。问题是,如果该外部命令也模拟了“q”键按下,那么绑定会重新启动外部命令,我就会陷入无限循环。

xbindkeys xdotool

7
推荐指数
1
解决办法
3605
查看次数

如何拆分ddrescue磁盘映像以及如何再次使用它?

我有一个 500GB 的外置硬盘,我需要拯救其中的内容。不幸的是,我只有两个 400GB 的分区来保存内容。我可以将磁盘映像拆分为:

~$ cd /mnt/part1/Recovery/
/mnt/part1/Recovery/$ ddrescue -f -n -i0 -s250...00 /dev/disk disk.part1.ddraw disk.part1.log
/mnt/part1/Recovery/$ cd /mnt/part2/Recovery/
/mnt/part2/Recovery/$ ddrescue -f -n -i250...00 /dev/disk disk.part2.ddraw disk.part2.log
Run Code Online (Sandbox Code Playgroud)

(为方便起见,数字值缺少几个零)。也就是说,我可以使用-i-s标志手动将磁盘映像分成两部分吗?

其次,有没有办法可以将图像的两个部分安装为一个?

mount cloning split ddrescue

5
推荐指数
1
解决办法
2878
查看次数