问题就是我们使用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: 留空