标签: readline

在 bash 中输入部分命令后,有没有办法使用 ctrl-r ?

在 bash 中,Ctrl+r命令非常有用,我输入Ctrl+r whatever并在我的历史记录中搜索包含单词的命令whatever。但是,如果我输入whatever并意识到我想搜索该词并点击Ctrl+r没有任何反应。

有没有办法按下一个键并让它表现得好像我输入了Ctrl+r whatever而不是whatever Ctrl+ r

我有以下内容.inputrc

"\C-p": history-search-backward
Run Code Online (Sandbox Code Playgroud)

但这仅在行的开头相同时才有效。

bash shell emacs key-binding readline

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

Mac 终端/iTerm 历史光标问题

很多时候,我在 Terminal.app 或 iTerm 中运行一个命令,按向上箭头返回编辑它,光标跳到上面的行或完全错误的地方。当命令太长以至于它绕到下一行时,尤其会发生这种情况。有时这些长命令都出现在一行上,有时它们在多行中正确显示。

这发生在 iTerm 和 Terminal.app 中

在 vi 和 emacs 模式下也会发生,使它们几乎无法使用。

有任何想法吗?谢谢!

bash iterm osx-snow-leopard terminal.app readline

13
推荐指数
1
解决办法
2543
查看次数

PowerShell:历史增强功能(readline)?

我喜欢在 Bash 中做的一些事情,并且很想知道如何在 PowerShell 中做:

  1. 在 Bash 中,我设置了历史滚动,以便它只滚动与当前行具有相同前缀的命令。如果我想查看我的最新提交(例如重用部分评论),我会先写 'git' 然后写?.

  2. 相关当然是历史搜索Ctrl+R

  3. 为了找到其他东西,我写道:

    h | grep foo
    
    Run Code Online (Sandbox Code Playgroud)

    在 PowerShell 中,我使用:

    h -c 1000 | where {$_.commandline.contains("foo")}
    
    Run Code Online (Sandbox Code Playgroud)

    (显然我是新手,必须有更短的方法)

  4. 像:

    mv file.txt{,.bak}
    
    Run Code Online (Sandbox Code Playgroud)

    或者

    mv file.txt !#$.bak
    
    Run Code Online (Sandbox Code Playgroud)
  5. 魔法空间(!$内联扩展)

PowerShell 中有哪些替代方案?

productivity powershell history readline

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

有没有办法在bash中保存键盘宏?

我想永久保存我使用和录制的键盘宏。有没有一种简单的方法可以为我新录制的宏“查看源代码”,以便我可以将它绑定到 ~/.inputrc 中的键盘快捷键?C-x (C-x )

我以为dump-macros会做,但似乎没有...

bash macros readline inputrc

12
推荐指数
1
解决办法
3078
查看次数

在 linux 上使用 sqlite shell 时出现奇怪的键盘

我使用 linux box 连接槽腻子。将它与 bash 一起使用,我的键盘性能良好,但是当我使用 sqlite shell(sqlite3 程序)时,我的键变得疯狂:

del=^[[3~
up=^[[A
left=^[[D
right=^[[C
down=^[[B
Run Code Online (Sandbox Code Playgroud)

这是我的环境(相关部分):

TERM=linux
SHELL=/bin/bash
SHLVL=1
INPUTRC=/etc/inputrc
Run Code Online (Sandbox Code Playgroud)

我想在 sqlite 上正常使用我的密钥,就像在 windows 上一样。

我的输入:

# do not bell on tab-completion
#set bell-style none

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

# Completed names which are symbolic links to
# directories have a slash appended.
set mark-symlinked-directories on

$if mode=emacs

# for linux console and RH/Debian xterm
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history …
Run Code Online (Sandbox Code Playgroud)

linux putty readline

12
推荐指数
1
解决办法
3008
查看次数

我在“vi 模式”下使用 Bash。使用外部编辑器编辑当前命令行的热键序列是什么?

Bash的“Emacs 模式”( set -o emacs) 中,我可以在我最喜欢的外部 $EDITOR 中编辑当前命令行。我所要做的就是按Ctrl+X然后Ctrl+ E

但是,因为我已经切换到 Bash 的“vi 模式”( set -o vi),所以这个按键序列没有任何作用。在“vi 模式”下,如何启动外部编辑器以编写更长的命令?

bash vi key-binding text-editors readline

10
推荐指数
2
解决办法
2561
查看次数

readline 的 Control-Backspace (unix-kill-rubout)?

readline(3)我应该能够将 Control-Backspace 映射到与 Control-W 相同的功能(unix-kill-rubout)。无论我输入什么,~/.inputrc我都无法识别它。

\C-\b: unix-kill-rubout
Run Code Online (Sandbox Code Playgroud)

...例如不起作用。我可以将 Control-Backspace 映射到 readline 中的 unix-kill-rubout 吗?

linux unix readline keymap

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

vi 模式下的 Readline:如何启用向上/向下箭头?

当 bash 具有可用的 vi 绑定(set -o vi)时,向上/向下箭头在命令和插入模式下均可使用。当我将 readline 的 ~/.inputrc 设置为使用 vi 模式(设置编辑模式 vi)时,irb 等应用程序无法获得箭头功能。我试过在 inputrc 中“设置启用键盘”无效。

如何在其他 readline 感知应用程序中获得类似 bash 的箭头功能?

vim vi readline

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

如何确定正在使用的 readline bash 版本?

如何确定我在 bash 会话中使用的 readline 版本?

我特别想知道,因为我似乎有 readline 库 6.3,但set enable-bracketed-paste on在我.inputrc的工作中,即使该功能仅在 readline 7.0 中添加。

我在 macOS 10.11(与 Fink 一起安装)上使用 bash 4.4.0。

bash readline

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

GNU Readline 的鼠标支持

是否可以使用 GNU Readline(例如 Bash、Python REPL 或任何其他响应~/.inputrc)的程序来让您使用鼠标编辑当前行?例如,I\xe2\x80\x99d 希望能够单击行中的特定位置来移动光标,或选择文本区域。

\n\n

我怀疑答案是 \xe2\x80\x9cno,这是不支持的\xe2\x80\x9d,因为我没有找到关于 Readline 的有用的 Google 结果(我发现的最好的 \xe2\x80\x99ve 是 ZSH 中的鼠标支持) ,这很好,因为我确实使用它作为我的 shell,但它对其他 Readline 程序没有帮助),但我也没有能够确认这一点。

\n\n

我在任意 Readline 程序中发现的最接近这种情况的是,某些终端仿真器尝试检测 Readline 何时处于活动状态并在单击时发出箭头键序列。如果可能的话,我宁愿让 Readline 处理这个问题,既因为我希望它能做得更好,也因为我喜欢我当前使用的终端模拟器,它不支持这一点。

\n

mouse terminal bash readline

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