Skip to content

[Question]: bracketed paste在哪开呢? #334

Description

@lywasw

你的问题 / Your question

Image 粘贴多行命令时总是提示“当前未开启 bracketed paste,多行内容可能立即执行。是否继续?” bracketed paste功能在哪里开呢,调试网络设备经常需要使用到多行命令同时复制粘贴。一直没有找到设置的地方。

补充信息 / Additional context

No response

Activity

  1. feigeCode commented on Oct 1, 2026

    @feigeCode
    Owner

    这个提示不是「有个开关还没打开」——bracketed paste 没法在 Navop 里手动开启。它由终端里运行的程序(bash/zsh 的 readline)主动向终端请求,Navop 只有在收到该请求后,才会把粘贴内容作为一次粘贴事件整体下发。

    网络设备(Cisco / Huawei / H3C 等)以及 telnet 网管设备的 CLI 没有 readline,不会发这个请求,所以在那里始终进不了 bracketed paste 模式;即使强行发送对应控制序列,设备也只会把它当普通字符显示出来。

    要在这个场景下正常批量粘贴,把这条防护关掉即可:

    终端工具侧边栏 → 设置 → 安全确认 → 关闭「非 bracketed 多行粘贴需确认」

    关闭后多行内容会直接下发、逐行生效。

    另外几种情况仍会提示,可按需一并调整:

    • 内容含 heredoc 或未闭合引号:提示「已拦截不安全的多行粘贴」,避免后续行被 shell 当作续行并入同一块
    • 超过 200 行或 32 KB 的大段粘贴:提示「确认大段粘贴」
    • 命中高危命令规则(reboot、systemctl stop/disable 开头的行等):提示「确认高危命令」,可在同一区域关闭「高危命令粘贴需确认」

    感谢反馈。这个弹窗确实缺少跳转设置和「不再提示」的入口,我们会在后续版本补上;也会考虑为网络设备这类场景增加「逐行发送 + 行间延迟」的粘贴方式——对没有 readline 的 CLI 来说,它比 bracketed paste 更实用。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions