DoneVII CET & CPPLITE

textmate 支持 gb2312 的方法

下载 Textmate Bundle

问题就是我们使用TextMate不支持GB2312等编码,用着及其不方便,下面是解决方案:

打开Bundle Editor
选则Show all

选则文件夹TextMate(或者随便你选则什么)
增加一个新的template‘openEncodedFile’(或者随便你自己命名)
在Template data中如下设定
Extension:中 留空

Command(s):

# open CocoaDialog’s file select menu

file=$(CocoaDialog fileselect \
        --title "Open an encoded file" \
        --with-directory $HOME/ \
)
# check for valid file
if [ -n "$file" ]; then
# open CocoaDialog's dropdown menu
# for more encodings add them to '--items'
# to list all possibile encodings use the Terminal with 'iconv -l'
        res=$(CocoaDialog dropdown \
                --title "Open an encoded file" \
                --text "Choose the encoding:" \
                ??exit?onchange \
                --button1 "Open" \
                --button2 "Cancel" \
                --items "BIG5" "EUC-TW" "GB2312" "SJIS" "EUC-JP" "KOI8-R" \
        )
# if user canceled exit
        [[ $( (tail -r <<<"$res") | tail -n1)  == "2" ]] && \
                exit_discard
        res=$(tail -n1 <<<"$res")
# add more 'elif' according to '--items' if needed
        if [ "$res" == 0 ]; then
                ENC="BIG5"
        elif [ "$res" == 1 ]; then
                ENC="EUC-TW"
        elif [ "$res" == 2 ]; then
                ENC="GB2312"
        elif [ "$res" == 3 ]; then
                ENC="SJIS"
        elif [ "$res" == 4 ]; then
                ENC="EUC-JP"
        elif [ "$res" == 5 ]; then
                ENC="KOI8-R"
        fi
# start conversion to UTF-8 and send the result as a new file back to TM
        iconv -f "$ENC" -t utf-8 "$file" > "$TM_NEW_FILE"
fi
Output: Insert as Text - Activation: Key Equivalent shift+option+o (我的建议) - Scope: 留空

Comments on: "textmate 支持 gb2312 的方法" (3)

  1. 请问,这些都弄好了,test也可以了,但是怎么应用到textmate上?我新打开文件还是乱码的

  2. 如果能看见请与我联系,邮箱已留,多谢
    或者q我64267549

  3. 如果你是按我说的设置的 shift + option + o 做为快捷键的话,那么你按这组快捷键后在弹出的窗口里打开你要编辑的 GB2312 文件就行了。

Leave a comment for: "textmate 支持 gb2312 的方法"

Tag Cloud