行内代码能不能直接复制,不带 markdown 格式啊

使用行内代码格式,那么,当全选的时候,就会把 markdown 的格式一并复制出来。

问题是,当我们复制的时候,大部分情况下都是想要行内的代码本身,而不是加上**的代码

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    24800 引用 • 101996 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 会把 markdown 的格式一并复制出来

    选中文本复制应该不会带 Markdown 标记符的,要么是思源版本比较低,要么是操作不对。

    建议更新思源到 3.1.24 试试,还有问题的话录屏看看操作。

  • EmberSky
    1. 左键点击行级代码, 右键 复制纯文本

      PixPin20250313173022.gif

    2. 选中, 右键 复制纯文本

      PixPin20250313173123.gif

    3. 添加 js 片段, 点击行级代码, 使用 ctrl+c 复制, 复制的就是纯文本

      (()=>{
      function sleep(ms) {
          return new Promise(resolve => setTimeout(resolve, ms));
      }
      
      // 判断是否选取了文本
      function hasSelectedText() {
          const selection = window.getSelection();
          return selection && selection.toString().length > 0;
      }
      
      // 获取光标所在的元素
      function getElementAtCursor() {
          const selection = window.getSelection();
      
          if (selection.rangeCount > 0) {
              const range = selection.getRangeAt(0);
              const startContainer = range.startContainer;
      
              // 如果是文本节点,获取其父元素
              const element = startContainer.nodeType === 3 ? startContainer.parentNode : startContainer;
              return element;
          }
          return null; // 如果没有选中内容或光标位置无效
      }
      
      // 当前块是否被选中
      function isSelectedBlock(element) {
          return element?.closest(".protyle-wysiwyg--select")
      }
      
      // 处理复制行级代码
      async function handle_cp_line_code(element) {
          if (!element) {
              return;
          }
          if (element.getAttribute('data-type') === 'code' && !hasSelectedText() && !isSelectedBlock(element)) {
              // 是行级代码 && 没有选中内容 && 没有选中块
              // 则复制行级代码内容
              console.log("[行级代码] 复制行级代码, 功能生效")
              // 获取行级代码内容
              let content = element.textContent;
              if (content.startsWith('\u200B')) {
                  content = content.slice(1); // 移除前面的零宽空格
              }
              // 复制到剪切板
              await navigator.clipboard.writeText(content);
              await sleep(20)
          }
      }
      
      // 事件监听
      document.addEventListener('keydown', async (event) => {
          let element = getElementAtCursor();
          // event.preventDefault(); // 防止快捷键默认行为
          // event.stopPropagation();  // 停止事件传播
          if (event.ctrlKey && !event.shiftKey && !event.altKey && event.key.toLowerCase() === 'c') {
              // 如果光标在行级代码里面, 就复制行级代码纯文本, 而不是复制整个块
              handle_cp_line_code(element);
          }
      });
      
      })()
      
      
    1 回复
  • 如果是复制粘贴到其他软件的话就不需要那么复杂,直接 Ctrl+C 就是纯文本

    竟然改了, 选中后复制到其他软件就是纯文本; 不过我更喜欢不选择, 直接 ctrl+c 就只复制行级代码, 且是纯文本. 因为选择要滑动鼠标进行微操, 有点麻烦
    EmberSky

推荐标签 标签

  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 760 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    31 引用 • 96 回帖
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1440 引用 • 10067 回帖 • 490 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 392 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    151 引用 • 257 回帖 • 2 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • 倾城之链
    23 引用 • 66 回帖 • 158 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    28 引用 • 197 回帖 • 25 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 5 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 3 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    189 引用 • 1057 回帖
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    6 引用 • 15 回帖 • 35 关注
  • Access
    1 引用 • 3 回帖 • 6 关注
  • Excel
    31 引用 • 28 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 2 关注
  • Word
    13 引用 • 40 回帖
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    124 引用 • 74 回帖
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 19 关注
  • Anytype
    3 引用 • 31 回帖 • 12 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 400 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 8 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 2 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    494 引用 • 928 回帖
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 609 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    92 引用 • 752 回帖 • 1 关注