相关疑难解决方法(0)

为什么“shift-tab”会导致终端中的“Escape”?

我只是偶然注意到了这一点。

我用的是vireadline模式(run set -o viin bash)所以特别明显;在emacsreadline 模式下我不认为Esc做任何事情,但在vi模式下它退出插入模式(进入正常模式)。

我没有看到Shift-Tab记录在 中man bash,似乎它作为Esc密钥的解释比bash. 可能在readline中?

它适用于 Mac OS X 和 Linux。

我在哪里可以找到这个文档?

bash terminal readline escape-characters

4
推荐指数
1
解决办法
2405
查看次数

为什么 [UP] 键生成的代码在 ssh 会话后发生了变化

我在 cygwin 环境的薄荷窗口中。

当我输入⎈ Ctrl+ Vthen键时,我得到了:^[[A

然后我 ssh 进入 Raspberry Pi,并立即退出。

现在我输入⎈ Ctrl+V然后键我得到:^[OA

~$ ^[[A
~$ ssh rasp
Last login: Tue Dec 24 12:08:16 2019 from 192.168.0.5
raspberrypi%
Connection to 192.168.0.12 closed.
~$ ^[OA
Run Code Online (Sandbox Code Playgroud)

有人可以帮我理解吗?

ssh terminal keyboard cygwin

4
推荐指数
1
解决办法
139
查看次数

.zshrc 快捷方式适用于 Arch 但不适用于 Ubuntu

我在 Ubuntu 和 Arch 上使用 zsh shell 作为默认 shell。

我配置了一个快捷方式(向上箭头)以在 zsh shell 中自动完成历史记录,在我的 中使用以下行.zshrc

bindkey "^[[A" history-beginning-search-backward
Run Code Online (Sandbox Code Playgroud)

然而,当我.zshrc在 Ubuntu 中启动和/或重新启动时,快捷方式不起作用(我只得到上一个命令,无论我开始输入什么),而在 Arch 上它工作得很好(我只得到最后一个以什么开头的命令)我打字)。

有谁知道如何解决这个问题?

shell keyboard-shortcuts zsh

3
推荐指数
1
解决办法
530
查看次数

Tmux 是否支持 Hyper 修饰键?

在我重新映射Caps Lock到的许多其他修改中Hyper,一个来自Space-cadet 键盘的古老修饰键 。

但是我找不到如何将它用于 Tmux 中的键绑定的示例,它具有类似 Emacs 的键绑定定义,例如C-k在它们两个中都定义了 Ctrl-k,所以我尝试了H-k在 Emacs 中完美运行的方法,但是作为事实证明,不是在 Tmux 中。

来自我的确切绑定定义 .tmux.conf

bind-key -T copy-mode H-k send-keys -X -N 30 scroll-down
Run Code Online (Sandbox Code Playgroud)

导致以下错误:

/home/attila/.tmux.conf:21: unknown key: H-k
Run Code Online (Sandbox Code Playgroud)

我知道有一个技巧可以将Hyper键模仿为同时按下所有其他修饰键,但是我使用xcape,所以这不是一个选项。

tmux

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

命令将字符泄漏到 bash

在构建一个小的 Expect 脚本时,我注意到,执行脚本后,一些字符会自动出现在 bash 的输入中。我以前在其他程序上见过这种情况,但在这里我有一些可重现的东西。

我的期望脚本如下:

#!/usr/bin/expect
spawn ssh root@[lindex $argv 0]
expect "password:"
send "[lindex $argv 1]\r"
expect "~#"
Run Code Online (Sandbox Code Playgroud)

这是结果:

user@PC:~$ expect test.exp 192.168.0.2 root
spawn ssh root@192.168.0.2
root@192.168.0.2's password:

^[[51;117Rroot@device:~# user@PC:~$ ;117R
-bash: syntax error near unexpected token `;'
user@PC:~$
Run Code Online (Sandbox Code Playgroud)

正如您在输出的第五行中看到的那样,stdout ( ^[[51;117R) 上有一些随机字符,其中一些泄漏到 shell 输入行 ( ;117R) 上。如果我在执行 Expect 脚本后按 Enter 键,bash 会尝试解释该 ( ;117R),就像我已将其输入到 bash 中一样。

我的问题是,这里发生了什么以及如何阻止它?

shell bash expect stdout stdin

0
推荐指数
1
解决办法
708
查看次数

在 `tmux` 中设置 `xterm-keys` 会影响 `vim` 中的 Shift-Enter

xterm-keys在 tmux 中启用了正常的 xterm 键绑定,例如使用Ctrl 箭头键进行全字移动。

但是,通过启用xterm-keys它会导致Shift-Entervim. 特别是,Shift-Enter在正常模式下按下可切换从光标位置开始的 13 个字母的大写,而与单词边界无关。在命令模式下按这些键会退出该模式,然后切换 13 个字母的大写。通常在 中vim,此按键的结果是向下移动一行(正常模式)或执行任何输入的命令(命令模式),据我所知,这些是默认行为。

我转载空这个效果.tmux.conf.vimrc文件,所以它不是其他配置设置的副作用。

vim tmux xterm

0
推荐指数
1
解决办法
555
查看次数