小编gro*_*xda的帖子

为什么在输入超过一行的命令时 tmux 无法“滚动”?(OSX Terminal.app)

当我使用tmux并输入超过该行的命令时,它无法重绘上一行。它只是清除当前行,我看不到我刚刚写的内容。它只重绘第一行。

当我按下up并且最后一个命令不适合当前行(我只看到最后一行)时,也会发生这种情况。如果我再按updown,我可以看到命令的所有行。

我不确定是什么导致了这个问题,但这很烦人。它必须对我的提示做些什么吗?以防万一,这里是:

export PS1="%{$fg[blue]%}%n%{$reset_color%}@%{$fg[green]%}%m %{$fg[yellow]%}%~ %{$reset_color%}% "
export PS2=$_>
($TERM is set to screen)
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我正在使用 zsh 和 OSX Termial,但问题也存在于 bash 中。

xterm(XQuartz)也不存在这个问题,所以我猜它是由 OSX 的 Terminal.app 引起的。

  • 有没有人知道解决这个问题的方法?
  • 也许我可以以某种方式强制重绘?

刚刚在 tmux 邮件列表上找到了这个旧线程

我为$TERM(screen, screen-256colors, xterm, xterm-color, nsterm)尝试了不同的值,但错误仍然存​​在。

所以我想尽管切换到另一个终端模拟器我无能为力?

command-line tmux line-editor

8
推荐指数
1
解决办法
1840
查看次数

在 zsh(vi 模式)中按 esc 后如何回到“正常”编辑模式?

我正在使用zshvi-mode

当我进入正常模式ESC然后回到插入模式(例如使用i,as)时,行编辑器会“保护”字符前面的行部分,当我重新进入插入模式时.

我通过重新绑定它为退格字符修复了它

bindkey "^?" backward-delete-char
Run Code Online (Sandbox Code Playgroud)

但是仍然有其他类似的绑定^W不能开箱即用(可能是因为它们绑定到vi-*)。

如果我理解正确,这种行为对于vi.

有没有办法让zle行为像vim而不必重新绑定这么多键?

zsh vi-mode zle

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

查找命令:-or 选项不起作用

我想为匹配模式的每个文件执行一个命令。但是似乎正确的命令对我不起作用,我不知道为什么。

$ find . -type f -name '*.c' -or -name '*.h' -or -name '*.cpp' -exec ls {} \;
$ ls
script.sh  test.c  test.h
Run Code Online (Sandbox Code Playgroud)

find wildcards patterns

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

标签 统计

command-line ×1

find ×1

line-editor ×1

patterns ×1

tmux ×1

vi-mode ×1

wildcards ×1

zle ×1

zsh ×1