在bash中:
foo_a=1
foo_b=2
declare -p ${!foo_*}
输出:
declare -- foo_a="1"
declare -- foo_b="2"
如何在zsh中执行此操作?
为什么即使将以上内容粘贴到zsh中,也无法设置变量?除非所有粘贴的代码都成功,否则粘贴一段代码似乎没有任何效果?那是怎么回事?
如何打印以foo
以下内容开头的所有参数:
declare -p ${(Mk)parameters:#foo*}
所有变量都存储在parameters
关联数组中,因此足以打印其所有键(k)
并搜索pattern foo*
。(M)
存在该标记以删除不匹配的元素。
输出:
typeset foo_a=1
typeset foo_b=2
(注意declare
与相同typeset
)。
由于最近引入了一个称为bracketed_paste的功能,因此粘贴无法按预期进行:
zle_bracketed_paste
许多终端仿真器具有允许应用程序识别何时将文本粘贴到终端中而不是正常键入的功能。对于ZLE,这意味着可以插入特殊字符(例如制表符和换行符),而不是调用编辑器命令。此外,粘贴的文本形成单个撤消事件,如果该区域处于活动状态,则粘贴的文本将替换该区域。
这个由两个元素组成的数组包含用于启用和禁用功能的终端转义序列。这些转义序列用于在启用ZLE时启用带括号的粘贴,并在其他时间禁用它。取消设置参数的作用是确保括号内的粘贴保持禁用状态。
如果您不喜欢它,只需取消设置即可:
unset zle_bracketed_paste
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句