標籤: sublime text

  • MacOS 上將指定資料夾內檔案繁體轉簡體

    MacOS 上將指定資料夾內檔案繁體轉簡體

    因為有案子需要簡繁轉換,除了精確的用詞轉換之外,需要先有一個初步的字體修改,以下提供 OpenCC + Python 作法,先說注意事項:

    1. Mac 上如果已經安裝 pyenv 工具,記得在指定資料夾內把 pyenv local 設定好,這次使用的 python 版本是 3.7.4 。
    2. 程式碼中需要設定 target_folder 和 file_extension 變數,作為資料夾路徑和要變更結尾的副檔名。如果有需求請更為從外部輸入。
    3. 使用 cmd 觸發執行,基本上就是一個工程師小工具。

    在 macOS 上,您可以使用腳本來批次將資料夾內指定副檔名的檔案從繁體中文轉為簡體中文。以下是解決方案的步驟:

    使用 Python 和 OpenCC

    我們將使用 Python 和 OpenCC 庫來完成繁簡轉換。

    1. 安裝必要工具

    1. 安裝 Python
      macOS 通常自帶 Python,但建議使用 Homebrew 安裝最新版: brew install python
    2. 安裝 OpenCC
      使用 pip 安裝 OpenCC: pip install opencc

    2. 建立批次轉換腳本

    以下是 Python 腳本範例:

    import os
    from opencc import OpenCC
    
    # 初始化 OpenCC
    cc = OpenCC('t2s')  # 繁體轉簡體配置
    
    # 設定目標資料夾路徑與副檔名
    target_folder = "/path/to/your/folder"  # 替換為您的資料夾路徑
    file_extension = ".txt"  # 指定需要處理的副檔名
    
    def convert_file_to_simplified(filepath):
        try:
            with open(filepath, 'r', encoding='utf-8') as f:
                content = f.read()
            # 進行繁簡轉換
            simplified_content = cc.convert(content)
            with open(filepath, 'w', encoding='utf-8') as f:
                f.write(simplified_content)
            print(f"轉換完成: {filepath}")
        except Exception as e:
            print(f"處理檔案時發生錯誤: {filepath},錯誤訊息: {e}")
    
    # 遍歷目標資料夾中的所有檔案
    for root, dirs, files in os.walk(target_folder):
        for file in files:
            if file.endswith(file_extension):
                full_path = os.path.join(root, file)
                convert_file_to_simplified(full_path)

    3. 執行腳本

    1. 將上述腳本存為 convert_to_simplified.py
    2. 使用終端機執行腳本: python3 convert_to_simplified.py

    4. 說明

    • 替換 target_folder 為您的資料夾路徑。
    • 如果處理其他副檔名,將 file_extension 的值改為相應的副檔名(例如 .md)。
    • 腳本會遍歷資料夾和子資料夾中的所有符合條件的檔案。

    使用者界面工具選擇

    如果您不熟悉編程,可以考慮使用支持繁簡轉換的文字編輯器,例如:

    • Sublime Text: 安裝相關插件進行批次轉換。
    • OpenCC GUI: 下載圖形化工具版本進行手動處理。

    以上。

  • Claude 的 Sublime Text4 外掛

    Claude 的 Sublime Text4 外掛

    昨天作了一份 ChatGPT 的外掛(請參考這裡),這次補 claude.ai 的外掛,克勞德這個名字聽起來就有種惡靈古堡個感覺(那是克勞薩),也是軟體設計很愛用的 AI 工具之一,希望補上 Sublime Text 裡面可以有一些貢獻與幫助。

    操作方式與上篇 ChatGPT 外掛操作相當,差異在 api 不是同加公司,還有快捷鍵需要分開設定。先附上 API 文件(貼心的是他有中文) 與外掛 repository 位置,這裡

    安裝前需要準備:

    1. Sublime Text 最新版
    2. anthropic 帳號,已有信用卡儲值(我們需要用 claude API


    安裝的方式有別於使用 Package Control 安裝,這使用手動安裝,主要是把 git 中的 “chatgpt” 資料夾放到 Sublime Text 的 Packages 資料夾中就行了。 Packages 資料的夾的位置請參考這裡,可以從 Sublime Text 的 “Preferences -> Browse Packages” 開啟。

    另外我們需要設定 anthropic 的 API Key,請參考官方網站這裡 取得,在 Sublime Text 的的外掛設定: “Preferences -> package-settings -> 👽 ChatGPT -> Settings – User” 之中添加 koken 參數(也可以複製修改 Default 的設定格式)

    使用上有設定 keymap,因為我是 mac用戶,所以操作上,選定一串文字以後快速鍵 cmd+g ,稍等幾秒 ChatGPT 將會回覆資料,將回應貼到選定文字的後面。
    修改快速鍵的話,也是從 “Preferences -> package-settings -> 👽 ChatGPT-> Key Bindings – User” 修改即可。

    手動執行的話也能在 Topbar 的 Tools 中找到 “☁️ Claude” 選項,點一下就執行。記得要選取你要的對話文字喔!

    最後來秀一下資料夾內容

    主要的 claude.py 和之前寫 chatgpt.py 功能差不多,都可以當作簡單的 request/response 機制。

    值得一提的是 claude 的 api 應該是使用了 cloudflare 來處理,我從 curl 上呼叫沒問題,但 Sublime Text 會一直收到 1010 的 403 error code ,這在幾個月前第一次嘗試的時候就有遇到,那時傻傻的一直問 AI 然後他一直旋轉我,現在突然會 Google 了XD 後來無奈只能加上 user-agent 的 header ,這太荒謬但有用。

    而且滿值得吐嘈的是:不管 ChatGPT 或是 Claude 直接詢問 API 呼叫的程式碼時,得到的 API endpoint 根本就是幻想生成的,還好 AI 公司算有良心,API 文件不是用 AI 生成的,這次沒注意到為了 www.anthropic.com 和 api.anthropic.com 卡了半小時有點嘔就是。

  • ChatGPT 的 Sublime Text4 外掛

    ChatGPT 的 Sublime Text4 外掛

    Sublime Text 是我一直很愛用的編輯器,他輕巧和可客製化真的很方便,無論是開啟速度和需要才使用的外掛,我再處理 PHP 、Python 、Nodejs 甚至是 Vue3 的專案時都滿常用他來開啟的,我在 Sublime Text 上使用的 AI 工具是 Tabnine 這套外掛的免費版本,主要是不連網路使用。而有時也會想要方便有外掛可以連網,但是好像找不到相關可用的外掛安裝,於是自己研究做了一個,有空在研究看怎麼上傳到官方的套件管理上吧。

    先上 repository 位置,這裡

    安裝前需要準備:

    1. Sublime Text 最新版
    2. OpenAI 帳號,已有信用卡儲值(我們需要用 OpenAI API)

    安裝的方式有別於使用 Package Control 安裝,這使用手動安裝,主要是把 git 中的 “chatgpt” 資料夾放到 Sublime Text 的 Packages 資料夾中就行了。 Packages 資料的夾的位置請參考這裡,可以從 Sublime Text 的 “Preferences -> Browse Packages” 開啟。

    另外我們需要設定 OpenAI 的 API Key,請參考官方網站這裡 取得,在 Sublime Text 的的外掛設定: “Preferences -> package-settings -> 👽 ChatGPT -> Settings – User” 之中添加 koken 參數(也可以複製修改 Default 的設定格式)

    使用上有設定 keymap,因為我是 mac用戶,所以操作上,選定一串文字以後快速鍵 cmd+g ,稍等幾秒 ChatGPT 將會回覆資料,將回應貼到選定文字的後面。
    修改快速鍵的話,也是從 “Preferences -> package-settings -> 👽 ChatGPT-> Key Bindings – User” 修改即可。

    手動執行的話也能在 Topbar 的 Tools 中找到 “👽 ChatGPT” 選項,點一下就執行。記得要選取你要的對話文字喔!

    最後來秀一下資料夾內容

    其中 data 參數可以依照自己的需要修改,如果你是習慣用 Sublime Text 來寫文章的朋友,可以把 system 的 content 改成你要的提示,或是模型按照需求和官方支援修改也行。官方文件參考,這裡

    以上,謝謝大家。

  • 解決 Sublime text 4 上 Package Control 無法使用的問題

    解決 Sublime text 4 上 Package Control 無法使用的問題

    自從開始使用 Mac 時,Sublime text 就是自己愛用的文字編輯器,基本上 PHP 的網站製作從 Sublime text 2 用到了 4,前年發現更新 mac 之後突然無法使用 package contol 的功能了。最近才有辦法解決,筆記一下,附上解決邏輯:

    首先先更新一下,看是否有需要更新。

    備份設定檔案、外掛檔案:
    開啟 Top Bar 上的「Sublime Text」->「Settings」-> 「Browse Packages…」,會開啟 finder 得到一個路徑,返回上一頁把 Sublime Text 資料夾的東西先備份起來,可能會用到 Installed Packages 和 Packages 這兩個資料夾,放的是外掛檔案設定。

    查看 sublime text 上的 log:
    重新開啟,點開 Top Bar 上的 「View」,選擇「Show Console」,會顯示 runtime 的執行訊息。

    至此我發現錯誤訊息:

    AttributeError: dlsym(0x7f876fc44440, EVP_PKEY_size): symbol not found

    查資料找到這篇文章,看起來是因為更新 Mac 產生 OpenSSL 的問題:

    附上文章內提供的解決方法翻譯:

    簡單來說,在 console 中執行這段指令(使用 urllib 透過 sublime 自帶的 ssl )重新安裝 Package Control 即可:

    from urllib.request import urlretrieve;urlretrieve(url="https://github.com/wbond/package_control/releases/latest/download/Package.Control.sublime-package", filename=sublime.installed_packages_path() + '/Package Control.sublime-package')

    安裝以後依照提示,裝置會需要重啟兩三次。
    而我有因為有把 Sublime Text 重新安裝,如果操作上資料會消失的話,可使用備份把檔案放回去即可。

    以上。我認真覺得 Sublime Text 是一個輕便好用的編輯器,尤其是同時需要開其他 IDE 或是編輯器的時候,電腦不起飛阿。