1 安裝

  1. 從obsidian.md安裝 Obsidian
  2. 在「設定」>「社群外掛程式」中啟用社群外掛程式
  3. 安裝 Better Paste:點擊「瀏覽」,搜尋「Better Paste」,然後點擊「安裝」

2 功能說明

以下是十個範例。其中有些會在每次貼上內容時自動執行,其餘則是您在需要時才執行的指令。

2.1 自訂片段

使用正規表達式撰寫您自己的「尋找與替換」規則,這些規則會在每次貼上內容時自動執行。以下這個規則會移除 Perplexity 的引用標記:

The fix shipped last week[1][2] and rollout begins today[3].

變成

The fix shipped last week and rollout begins today.

此外掛附帶兩個預設片段,可隨時編輯或關閉:移除標題中的粗體標示,以及收起空白行。維基上還有更多可匯入的片段,例如轉換 ChatGPT 的數學公式。規則的撰寫方式詳見第 3.5 節。

2.2 來自 Safari 的圖片

在 Safari 中使用「複製圖片」功能時,剪貼簿會同時儲存兩個版本:圖片本身及其網頁網址。Obsidian 會貼上網址,但您複製的是圖片,自然期望貼上的是圖片。Better Paste 則會貼上圖片,並將其儲存至您的金庫中:

![](https://images.example.com/2026/05/skyline-8f21a.jpg?auto=format&w=2400)

變成

![[skyline-8f21a.jpg]]

2.3 追蹤參數

從電子報和社群應用程式複製的連結往往會附帶大量追蹤垃圾資料。Better Paste 能將其清除:

https://www.theverge.com/2026/1/9/story?utm_source=newsletter&utm_medium=email&fbclid=IwAR2x9

變成

https://www.theverge.com/2026/1/9/story

2.4 連結標題

貼上一個純網址,它就會轉為一個帶有真實頁面標題的 Markdown 連結:

https://obsidian.md

變成

[Obsidian - Sharpen your thinking](https://obsidian.md)

網址會立即被貼上,並在標題送達時自動更新,因此不會造成任何阻塞。

連結清單同樣適用。將多個網址分別貼在不同行上,每個網址都會顯示對應的標題。

檢索到的標題通常以網站名稱結尾,例如· GitHub 或- YouTube 。內建的「從標題中移除網站名稱」連結片段會刪除這些網站名稱,您也可以新增自己的規則,請參閱第 3.5 節。

Reddit、YouTube、TikTok 和 Loom 會阻擋一般的頁面查詢,因此其標題會改從各網站自身的嵌入服務中取得;而 Stack Overflow 及其他 Stack Exchange 網站則透過 Stack Exchange API 取得標題。Dropbox 分享連結會將檔案或資料夾名稱作為標題,而 Obsidian 的網址則會將筆記名稱作為標題。

2.5 嵌套清單

複製一個嵌套清單,將其貼到另一個清單的深層位置時,原有的縮排會一併帶入,導致樹狀結構被破壞。Better Paste 會重新調整整個清單的縮排,使其符合您要貼上的項目。例如:

- [ ] Trip planning
    - [ ] Book hotel
    - [ ] Pack
        - [ ] Chargers

貼到中的空項目上

- Projects
    - Summer
        -

變成

- Projects
    - Summer
        - [ ] Trip planning
            - [ ] Book hotel
            - [ ] Pack
                - [ ] Chargers

無論目標位置層級多深,也無論複製內容使用的是制表符還是空格,此功能皆可處理項目符號、編號清單及核取方塊。若貼上內容並非純粹的清單,或未置於清單項目上,則顯示效果將與以往完全相同。來自網頁的富文本內容則會透過 Obsidian 的 HTML 轉換功能進行處理。

2.6 段落引用

將數段文字貼入塊引用中時,僅第一行會被引用,這是Obsidian 多年來一直存在的問題。Better Paste 會將每行貼入的內容都納入引用,因此整個貼入的內容都會保留在引用標記內。例如:

We started in a garage.

Two years later we were forty people.

貼入說明框中

> [!quote] From the interview
>

變成

> [!quote] From the interview
> We started in a garage.
>
> Two years later we were forty people.

無論是純文字的段落引用還是註解框,都能正常運作。

2.7 終端輸出

終端機會在視窗邊緣將長行分割。每次貼上時都會移除逃脫碼,而當您選取已貼上的輸出內容並執行「清理終端機輸出」時,這些行便會重新連接起來:

npm warn deprecated inflight@1.0.6: This module is not supported and leaks memory. Do
  not use it. Check out lru-cache instead.

變成

npm warn deprecated inflight@1.0.6: This module is not supported and leaks memory. Do not use it. Check out lru-cache instead.

2.8 PDF 中的文字

PDF 會將段落換行成短行,並使用連字號將單字拆分。請選取已貼上的文字,然後執行「清理 PDF 文字」功能:

The findings suggest that long-term expo-
sure has a measurable effect on the out-
come in both groups.

變成

The findings suggest that long-term exposure has a measurable effect on the outcome in both groups.

像「fi」這樣的連字也變成真正的字母,因此搜尋功能又能找到這些單字了。

此指令會開啟一個附有預覽功能的對話方塊,讓您在結果實際套用前先查看效果。有兩個開關可處理任何規則都無法預測的情況:移除頁碼,或將所有內容合併為一個段落。您的選擇會被記住,以便下次使用。

2.9 人工智慧生成的文字清理

聊天機器人的文字中包含花括號引號、長破折號以及隱形字元。每次貼上時,隱形字元都會被移除;若啟用「引號」和「破折號」功能,其餘內容也會轉為純文字:

“It works,” she said — finally.

變成

"It works," she said - finally.

2.10 逗號與引號

您是否偏好將逗號放在引號之外?請選取文字,然後執行「將逗號移至引號外」功能:

She called it "finished," then left.

變成

She called it "finished", then left.

將逗號移至引號內時,情況則恰好相反。


3 設定

以下就是您實際上需要尋找的設定。

3.1 行為

  • 清理所有貼文:主開關。將其關閉,即可僅使用指令,或僅清理標記為bp: true 的筆記(參見第 4 節)。
  • 「筆記」屬性(預設值為bp ):此為第 4 節中所述的「每則筆記」開關。若此名稱與您金庫中的其他項目衝突,請重新命名;若要關閉此功能,則留空即可。

3.2 附件

  • 網頁圖片:當貼上內容連結到網頁上的圖片時(無論是單純的圖片網址,還是複製自網頁的內容),會發生什麼情況?預設的「連結並顯示預覽」模式會貼上一段嵌入碼,直接從網頁顯示圖片。「下載並顯示預覽」則會將副本儲存至您的保險庫(位置取決於您的附件設定),並以原始檔案名稱命名,因此不再會出現image.png 這樣的網址。「不執行任何操作」會將圖片貼上任務交由 Obsidian 處理。在瀏覽器中複製的圖片會將實際圖片存入剪貼簿,因此無論選擇「附預覽連結」或「附預覽下載」,該圖片都會儲存至您的保管庫中(參見範例 2.2)。
  • 貼上檔案:當您從裝置貼上檔案(例如 PDF 和螢幕截圖)時,系統會如何處理。選擇「不執行任何操作」(預設設定)將由 Obsidian 自動處理貼上操作,並包含預覽。選擇「僅連結(不顯示預覽)」則會插入純文字連結,例如![[Document.pdf]] 會變成[[Document.pdf]] 。檔案仍會依照您的 Obsidian 附件設定進行儲存。
  • 檔案名稱:請自行設定格式,例如{{name}}-YYYY-MM-DD 。您也可以使用{{noteName}} 作為筆記名稱、{{property:xyz}} 作為任何前置資訊屬性,以及{{counter}} 或{{counter:2}} 作為遞增的編號。 由於螢幕截圖沒有來源名稱,因此會被命名為Pasted image 加上時間戳記,這與 Obsidian 賦予的名稱相同。若在筆記中設定attachName: demo 並採用{{property:attachName}}-{{counter}} 這種格式,貼上來的螢幕截圖將分別變為demo-1.png 、demo-2.png 及demo-3.png 。此格式適用於 Better Paste 儲存的每張圖片,包括螢幕截圖在內。
  • 尺寸與樣式:為每張儲存的圖片設定寬度、類別,或兩者皆有,如此一來貼上時便會呈現為![[photo.jpg#invert|400]] 。您可以定義自己的逗號分隔清單,例如200, 400, 600 和invert, invertW ,接著將單一值套用至所有情況,或選擇「每次貼上時詢問」,以便每次透過小型對話方塊進行選擇(按下 Enter 即套用,且上次選擇的選項會預先選中)。 類似#invert 的類別是由主題和 CSS 片段定義的,例如在深色模式下將圖片顛倒。Image width 屬性(預設值為image-width )會設定每則筆記的寬度,詳見第 4 節。

替代文字會保留下來,若下載失敗,原始連結仍會保留在您的筆記中。大於 50 MB 或下載速度慢於 30 秒的圖片將保留為連結。若筆記設定了專屬的image-width 屬性(參見第 4 節),則會覆寫大小設定。

3.3 連結

  • 擷取貼上連結的標題:預設為開啟,請參閱上方的範例 2.4。
  • 清理貼上的連結:移除各處常見的追蹤程式,以及來自 YouTube、Google 和 Amazon 等網站的已知雜項內容。
  • 連結移除:請輸入您希望在所有位置或特定網站上一併移除的參數名稱。在您貼上之前,線上測試工具會預先顯示結果:
https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=PLxAbC123&si=8f2a1c&utm_source=share&t=42
https://www.amazon.com/dp/B0CHX1W1XY/ref=sr_1_3?crid=2ABCDE&keywords=usb+hub&qid=1735689600&sr=8-3
https://www.google.co.uk/search?q=obsidian+plugins&client=safari&sca_esv=9f1&sourceid=chrome

變成

https://www.youtube.com/watch?v=dQw4w9WgXcQ&list=PLxAbC123&t=42
https://www.amazon.com/dp/B0CHX1W1XY/ref=sr_1_3?keywords=usb+hub
https://www.google.co.uk/search?q=obsidian+plugins

刪除操作如下所示:

fbclid
mine.example | source, ref

fbclid 會在每個網站上移除該參數。mine.example | source, ref 會從 mine.example 及其子網域中移除source 和ref ,同時保留其他所有參數。而google.* 則同時適用於 google.com 和 google.se。 您可以查看所有內建的移除項目,該檔案的更新會隨外掛程式發佈而推出。建議您在移除參數時,先開啟 opens betterpaste.md 並填入您的清單。在該處檢視後,再於您的電子郵件應用程式中開啟草稿。經加密簽名的連結將保持不變。共享檔案和贈送文章會保留其存取參數。

在檔案中新增一行「! 」,即可停用某個網站的內建移除功能:

!youtube.com

3.4 文字處理

  • 修剪周圍的空白:移除貼上內容周圍的空行與多餘空格。中間的空行則保留不變。
  • 隱藏字元:移除零寬度空格,並將不可拆分空格轉換為普通空格。表情符號、波斯文與阿拉伯文連接符,以及中日韓(CJK)間距則保持不變。
  • 引號:將花括號引號和撇號轉換為直引號,因此“don’t” 會變成"don't" 。預設為關閉狀態,因此您的排版將維持不變,直到您選擇啟用為止。
  • 破折號:將半破折號(en dash)和全破折號(em dash)轉換為連字號。此功能預設為關閉。程式碼、連結及註解名稱中的引號和破折號則維持不變。

3.5 自訂處理

  • 文字片段:您自訂的正規表達式規則,會在內建規則執行完畢後,套用至整個貼入的內容。每個片段都有專屬的開關,且會依照清單順序執行,因此可透過拖曳來重新排序。移除標題中的粗體字以及「收起空白行」功能均為本外掛的內建功能。
  • 連結片段:這類規則會在每個貼入的連結其標題出現後,對該連結執行一次。規則會識別已完成的 Markdown 連結,而網址則保持不變。移除標題中的網站名稱是此外掛的內建功能,並會刪除如· GitHub 和- YouTube 之類的結尾部分。
  • 每條規則即為一行 JavaScript 正規表達式替換,格式為s/find/replace/flags 。以# 開頭的行為註解:
# Remove Perplexity citations
s/\[\d+\]//g
  • 試試看:輸入範例文字,即可即時觀看所有已啟用的程式片段如何套用在該文字上。連結程式片段附有專屬的測試工具,可接受 Markdown 連結。程式片段編輯器也會針對您正在編寫的程式片段顯示相同的預覽畫面。
  • 「匯入片段」與「匯出片段」:透過剪貼簿在各儲存庫之間移動片段。現成的片段可在維基上找到;請從那裡複製一個並貼入此處。
  • 開啟正規表示式練習平台:開啟「regex101」,該平台已依據規則運作方式進行設定,供您建立及測試搜尋模式。

3.6 結構

  • 貼上時保持清單嵌套:預設為開啟,請參閱上方的範例 2.5。
  • 貼上時延續區塊引用:預設亦為啟用狀態,請參閱上文範例 2.6。

結構規則會在文字規則之後執行,因為它們會讀取游標周圍的註解,並重新調整已清理過的文字以符合該註解。


4 每音符控制

在筆記的前置資料中加入 `bp: false `,Better Paste 便不會干擾該筆記。非常適合用於日誌和對話紀錄:

---
bp: false
---

反之亦然:即使「每次貼上時清理」功能已關閉,bp: true 仍會清理筆記。

清理所有貼文 沒有bp 屬性 bp: true bp: false
已 已清理 已清理 未處理
關閉 保持原狀 已清理 被遺棄

而image-width 則會設定貼入該筆記中的圖片寬度:

---
image-width: 400
---

圖片會以![[picture.png|400]] 的格式輸出,這是 Obsidian 專屬的尺寸語法。400x300 同樣有效。


5 項指令

九項指令,可自行設定熱鍵(設定、熱鍵)。這些 ID 適用於 URI 方案及 Commander 等外掛程式,前綴為better-paste: 。

  • 貼上(paste):即使在已選擇不參與的筆記中,也會依照規則進行貼上。
  • 不經處理直接貼上(paste-raw ):精確貼上剪貼簿中的內容。
  • 清理選取範圍(selection-clean ):對選取的文字套用文字規則。
  • 清理終端機輸出內容(selection-clean-terminal ):將換行後的行重新合併、移除開頭的縮排,並將選取範圍內的• 項目符號轉換為 Markdown 清單。此操作需依需求執行,因為只有您知道該文字來自終端機。
  • 清理 PDF 文字(selection-clean-pdf ):將PDF 版面配置所產生的短行重新合併、修復被連字號分割的單字,並展開選取範圍內的連字。對話方塊會預覽結果,並提供頁碼和段落選項。
  • 執行程式碼片段(selection-run-snippet ):選擇一個程式碼片段並將其套用至選取範圍,即使是已關閉「貼上」功能的片段亦然。
  • 將逗號移至引號內(selection-commas-inside )與將逗號移至引號外(selection-commas-outside ):將逗號置於右引號旁的樣式,套用至選取範圍。
  • 切換自動清理功能(toggle-cleanup ):切換主開關。

6 值得了解

  • 貼入程式碼區塊、內嵌程式碼或前置資訊中的文字將保持不變,而貼入內容中的柵欄式程式碼也會原樣保留。 有一項例外:當Web 圖片設定為「下載並預覽」時,若在原始碼模式下將圖片網址貼入空的屬性欄位中,系統會將圖片儲存至您的儲存庫,並將該屬性設定為"[[skyline-8f21a.jpg]]" 。Obsidian Bases 可將其顯示為封面圖片,且本機副本可在離線時使用。
  • 螢幕截圖會由 Better Paste 儲存,其檔名將與 Obsidian 預設的檔名相同,除非您自行設定了檔案名稱格式。
  • 豐富內容(HTML)會先由 Obsidian 轉換為 Markdown;接著 Better Paste 會清理連結,並將「網頁圖片」設定套用至轉換結果中的圖片。

7 種語言

Better Paste 支援 21 種語言:阿拉伯語、中文(簡體)、中文(繁體)、荷蘭語、英語、法語、德語、印尼語、義大利語、日語、韓語、波斯語、波蘭語、葡萄牙語、葡萄牙語(巴西)、俄語、西班牙語、泰語、土耳其語、烏克蘭語及越南語。 該軟體會遵循 Obsidian 設定的語言(切換後需重新啟動方能生效)。


8 隱私權

Better Paste 在本地執行,且僅在以下三種情況下會發出網路請求:

  • 下載您貼上的圖片
  • 擷取您貼上連結的標題(若要停用此功能,請關閉「擷取貼上連結的標題」選項)
  • 從 GitHub 載入「歡迎」與「最新動態」對話方塊的圖檔

沒有遙測資料、沒有分析資料,且絕不會上傳任何內容。設定存於.obsidian/plugins/better-paste/data.json ,並始終保留在您的儲存庫中。

每次發布都會透過TypeScript、搭配官方Obsidian ESLint 外掛的 ESLint、Stylelint、Prettier、Vitest以及死碼檢查進行驗證。若出現警告,建置即會失敗。


9 關於

我是約翰·桑內布拉德(Johan Sanneblad)。我擁有軟體開發博士學位,並曾為蘋果(Apple)、美商藝電(Electronic Arts)、谷歌(Google)、微軟(Microsoft)、樂高(Lego)、SKF、沃爾沃汽車(Volvo Cars)、沃爾沃集團(Volvo Group)及雅馬哈(Yamaha)等企業從事創新開發工作。此外,我也開發了「Notebook Navigator」——這是 Obsidian 最受歡迎的檔案瀏覽器外掛程式。

歡迎在LinkedIn 上與我建立聯繫!


10 個問題或疑慮?

請在GitHub 儲存庫中開啟一個問題。針對貼上錯誤,您最應提供的是剪貼簿中的內容:請在您進行複製的應用程式中開啟https://dynalist.io/clipboard,將內容貼上至該頁面,並附上其顯示的輸出結果。

不接受 Pull Request;請改以功能請求的形式提出構想。詳情請參閱CONTRIBUTING.md。


11 授權

GNU 通用公共授權條款 v3.0。請參閱LICENSE 檔案。