readline

修改 inputrc/set readline 以允许向下箭头从历史记录中删除未完成的命令
readline

修改 inputrc/set readline 以允许向下箭头从历史记录中删除未完成的命令

在默认的 Fedora 和 Debian 以及其他发行版安装中,可以输入 bash 并使用向上箭头循环以前的历史记录,并使用向下箭头返回未完成的命令。按下未完成命令上的向下箭头不会循环到空白板,因为历史记录缓冲区似乎在未完成的命令处结束。我想按下向下箭头循环到空白板,但仍允许按向上箭头返回未完成的命令。在空白状态下输入新命令将替换上一个未完成的命令。readline 可以做到这一点吗?如果可以,如何实现?请原谅我问了主要问题的范围之外的问题,但是 zsh 可以做到这一点吗? ...

Admin

在 Bash 中,如何读取名为“history-size”的 readline 变量的值?
readline

在 Bash 中,如何读取名为“history-size”的 readline 变量的值?

我的 Bash 版本已从 v590 更新至版本 5.2.15(1)-release (i686-pc-linux-gnu)。 我使用 Kubuntu 20.04 和 KNOPPIX 9.1。 readline 变量history-size可以设置为开启或关闭,可以绑定到键序列(但通常不绑定),并且具有一个值。 该值默认为 的值$HISTSIZE。 我想检查hist-sizereadline 中变量的值,看它是否实际上与$HISTSIZEshell 中的值相等。 我如何读取变量的值hist-size? 早些年我曾使用过“Readline Library”,但现...

Admin

如何在 PowerShell 中绑定 TabCompleteNext/TabCompletePrevious?
readline

如何在 PowerShell 中绑定 TabCompleteNext/TabCompletePrevious?

我尝试使用以下命令在 PowerShell 7.2.4 中绑定 Ctrl-N 和 Ctrl-P,但它们没有效果 - 新的绑定不起作用。 Remove-PSReadLineKeyHandler Tab Remove-PSReadLineKeyHandler Tab -ViMode Command Remove-PSReadLineKeyHandler Shift-Tab Remove-PSReadLineKeyHandler Shift-Tab -ViMode Command Set-PSReadLineKeyHandler Ctrl+N -Function...

Admin

大写字母的控制序列
readline

大写字母的控制序列

我正在尝试提高我的盲打技术,它的准确度和速度都很低。 我注意到自己在输入大写字母时遇到了很大困难。我经常不得不离开主行,或者如果我伸小指去按换档键,我总是会打错。 我在使用退格键时遇到了同样的问题,但通过改用 ^H 解决了这个问题,我的控制键处于大写锁定状态,因此我可以轻松执行大多数 readline 快捷键,并且可以轻松地纠正错误而无需离开主行。 也许有办法转义大写字母?就像我们可以用 ^V 转义序列,或者像我们可以用 ^T 转置光标中的字符一样。有办法将光标中的字符大写吗? 编辑:为澄清起见,如所问: 我目前使用的是 macOS,默认 shell 是 z...

Admin

将相对链接复制到绝对链接
readline

将相对链接复制到绝对链接

给定一个/path/to/files包含许多相对链接的目录foo -> ../other/data/foo,如何将中的链接复制files/为绝对路径链接/mydata/path/ 我以为使用 ls -s $(readlink /path/to/files/*) /mydata/path/ 会这样做,但它只会在新位置创建重复旧位置的相对路径,这意味着所有链接都指向虚空。 我最终需要的是: /path/to/files/foo -> ../other/data/foo /mydata/path/foo -> /path/to/other/da...

Admin

从命令中删除参数
readline

从命令中删除参数

如果我有这样的命令行: sunday.exe monday tuesday-wednesday 我想删除到最后一个空格,或者说最后一个参数。我试过了Ctrl + Backspace,但它只删除到第一个连字符。这可能吗? ...

Admin

背景
readline

背景

背景 到目前为止,我发现它非常有用,readline因为只需修改一个配置文件(即~/.inputrc),您就可以配置所有依赖于的程序readline。我在工作流程中使用的可以与、、、、一起使用的程序readline是。maximapythonbashbcluasqlite3 在阅读文档时bash,我发现edit-and-execute-command功能并考虑是否可以在readline(即~/.inputrc)的配置文件中使用相同的函数,以便我能够在依赖于的每个程序中使用该函数readline。尝试之后,我意识到它没有列在函数和变量索引从readline...

Admin

无法在终端中跨换行退格
readline

无法在终端中跨换行退格

假设你的终端窗口宽 80 列,并且你运行的 Python 脚本仅包含以下内容: print("x" * 81 + "\b\by") 您可能希望输出是一行,x除了最后一行,而最后一行应该是y。我的问题是,我得到的输出是一行x,而第二行只包含一个y。事实是,每当要将退格符打印到 stdout 时,它都会按预期工作,除非有换行,它应该将光标放在上一行:在这种情况下,它似乎被排除在 stdout 缓冲区之外。 我可以沿着上面代码片段的思路用多种方式重现这种行为,例如echo -e "xx...x\b\by"尝试使用 bash 和 sh、printf(...)...

Admin

vim-tmux-navigator 使用 tmux 前缀而不是 C-
readline

vim-tmux-navigator 使用 tmux 前缀而不是 C-

我在 tmux 和 vim 端安装了 vim-tmux-navigator,我可以使用Ctrl-[hjkl] 但是:这意味着 readline(或 bash?)快捷方式被覆盖,例如Ctrl-k(删除到行尾),我想要使用它。 我尝试重新映射键以需要 tmux 前缀(例如Ctrl-b [hjkl]vim-tmux-navigator)但都失败了。 有人有解决这个问题的方法吗? 注意:我使用 Cb 作为示例,下面有一个很好的解决方案。我一直在使用 C-Space,这让事情变得有点复杂。 ...

Admin

如何让 Ctrl+D 分离 tmux,同时保留 Bash 中的 GNU readline 功能?
readline

如何让 Ctrl+D 分离 tmux,同时保留 Bash 中的 GNU readline 功能?

根据我对此日复一日的研究,我可能在寻求不可能的事情。 情况 我已经.bashrc很好地配置好了,可以tmux在连接时产生一个新的,或者如果存在的话,附加到它。 我总是按Ctrl+D退出 shell 会话。它已经刻在我的肌肉记忆中。在做了三十年系统管理之后忘记它也是不可能的事情。 我想能够摆脱tmux仅使用Ctrl+ 的束缚D,而不是让它杀死我的外壳。 我不完美的方法 我能绑定Ctrl+D到。detach​.tmux.conf 问题是,我emacs的肌肉记忆中也刻有按键绑定,因此当我开始编辑命令行时,我会按Ctrl+D来使用 GNU readlin...

Admin

将 vi 模式字符串移动到 bash 提示符的末尾
readline

将 vi 模式字符串移动到 bash 提示符的末尾

我在 bash 中使用 vi 编辑模式。我在 ~/.inputrc 中将“show-mode-in-prompt”设置为“on”。 提示时显示模式(关闭) 如果设置为 On,则在提示符开头添加一个字符串,指示编辑模式:emacs、vi 命令或 vi 插入。模式字符串可由用户设置(例如 emacs-mode-string)。 所以现在我可以在提示的开头看到编辑模式。 i:$ # This is ins mode c?$ # This is cmd mode i:$ cat ~/.inputrc set editing-mode vi s...

Admin

空格键在 python shell 或 pdb 中不起作用
readline

空格键在 python shell 或 pdb 中不起作用

希望这里的某个人也经历过这种情况。我经常使用 ipython 作为本地 python shell,一切都运行良好。但有时我喜欢使用 pdb 和默认的 python shell。我正在使用 mac 终端,但无法使用空格。如果有人遇到过这种情况并知道发生了什么,或者可以给我指出正确的方向,我将不胜感激! ...

Admin

“向后删除行”和“unix 行丢弃”之间的区别
readline

“向后删除行”和“unix 行丢弃”之间的区别

我正在阅读 bash 手册页并记住键盘快捷键。C-x rubout绑定到backward kill line,并且C-u绑定到unix line discard,但这些命令的描述看起来相同。 这些命令之间有什么区别? ...

Admin

GNU Readline 的鼠标支持
readline

GNU Readline 的鼠标支持

是否可以使用 GNU Readline 程序(例如 Bash、Python REPL 或响应 的其他任何程序~/.inputrc)让您使用鼠标编辑当前行?例如,我希望能够单击行中的特定位置来移动光标,或选择文本区域。 我怀疑答案是“不,不支持”,因为我没有在 Google 上找到关于 Readline 的有用结果(我发现的最好的结果是 ZSH 中的鼠标支持,这很好,因为我确实将它用作我的 shell,但它对其他 Readline 程序没有帮助),但我也无法证实这一点。 在任意 Readline 程序中,我发现最接近这种情况的是某些终端仿真器尝试检测 Re...

Admin

Mac 10.14 上适用于 Python 3.6 的 Readline
readline

Mac 10.14 上适用于 Python 3.6 的 Readline

我在 Mac 10.14 上安装了 Python 3.6.5。在 Python 解释器中,编辑/导航快捷键(例如箭头、^e、^a 等)不起作用,而是显示转义字符,例如: Python 3.6.5(默认,2018 年 6 月 17 日,12:13:06) darwin 上的 [GCC 4.2.1 兼容 Apple LLVM 9.1.0 (clang-902.0.39.2)] 输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。 导入 blah ^...

Admin