原文地址:http://codefalling.com/2015/11/02/fcitx-vim-for-OS-X/
背景
vi-mode 是一種高效的編輯方式串结,但是最令人頭疼的莫過于在普通模式下輸入命令的時候卻被輸入法擋住把夸,對于我這種經(jīng)常忘記切輸入法的人來說非常痛苦障贸。
為了解決這種問題,很早以前就有了 vim-scripts/fcitx.vim (for Vim)和 cute-jumper/fcitx.el (for Emacs)澡腾。利用插件和 fcitx
進(jìn)行溝通庐镐,讓輸入法隨著用戶的需要自動改變莫湘。
但是 fcitx 是 Linux only 的,OS X 下無法使用粗合。
fcitx-remote
是 fcitx 提供的一個命令行小工具萍嬉,用于在命令行下控制輸入以及獲取輸入法狀態(tài)。早期版本的 fcitx.vim
和 fcitx.el 通過這個程序來和 fcitx 進(jìn)行交互隙疚。于是我受到啟發(fā)壤追,如果在 OS X 下實(shí)現(xiàn)一個 fcitx-remote,和 fcitx
保持一致的使用方法甚淡, fcitx.vim 和 fcitx.el 就可以在 OS X 直接使用了大诸。所以有了這個項(xiàng)目:CodeFalling/fcitx-remote-for-osx
安裝
homebrew
homebrew 的 core repo 要求 30 天以上的 Github 項(xiàng)目才能加入,現(xiàn)在可以通過 brew tap
安裝贯卦。brew tap codefalling/fcitx-remote-for-osxbrew install codefalling/fcitx-remote-for-osx/fcitx-remote-for-osx --with-baidu-pinyin
--with-baidu-pinyin
表示百度拼音资柔。
你可以使用 brew info codefalling/fcitx-remote-for-osx/fcitx-remote-for-osx
來查看支持其他輸入法的選項(xiàng)。
==> Options
--with-baidu-pinyin
Build fcitx-remote for osx with baidu-pinyin support
--with-baidu-wubi
Build fcitx-remote for osx with baidu-wubi support
--with-osx-pinyin
Build fcitx-remote for osx with osx-pinyin support
--with-qq-wubi
Build fcitx-remote for osx with qq-wubi support
--with-sogou-pinyin
Build fcitx-remote for osx with sogou-pinyin support
--with-squirrel-rime
Build fcitx-remote for osx with squirrel-rime support
手工安裝
git clone https://github.com/CodeFalling/fcitx-remote-for-osx cd fcitx-remote-for-osx xcodebuild GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS CHINNESE_KEYBOARD_LAYOUT=@\"com.baidu.inputmethod.BaiduIM.pinyin\"' install
編譯完成后可執(zhí)行文件會被安裝到 /usr/local/bin/fcitx-remote
構(gòu)建指令看起來比較長撵割,是因?yàn)橐ㄖ扑玫闹形妮斎敕ɑ哐撸瑢?yīng)輸入法的 imname
可以在 Github 看到,如果表里沒有你用的輸入法啡彬,你可以先安裝了fcitx-remote羹与,然后用 fcitx-remote -n
來獲取當(dāng)前的輸入法名,歡迎以任何形式向我補(bǔ)充庶灿。
我使用的是百度拼音纵搁,如果你使用其他輸入法,編譯參數(shù)要做響應(yīng)的修改往踢。
二進(jìn)制文件
如果你不愿意安裝 XCode 腾誉,也可以去 Release Prebuild binary here · CodeFalling/fcitx-remote-for-osx 下載編譯好的二進(jìn)制文件,然后將其復(fù)制到/usr/local/bin/
Emacs
由于我自己是 emacs 用戶所以先提 emacs峻呕, fcitx-remote可以和 cute-jumper/fcitx.el 配合使用利职, 但是不要使用 =(fcitx-prefix-keys-turn-on)= 和 =(fcitx-prefix-keys-setup)= (即不要直接使用 =fcitx-default-setup= 什么的),會導(dǎo)致 emacs 假死瘦癌,原因不詳猪贪。我自己使用的配置是
之前使用的時候會卡死,后來發(fā)現(xiàn)是因?yàn)槲矣玫?fish-shell讯私,在 emacs 的配置里加上一句 (setq shell-file-name "bash") 热押,問題就完美解決了西傀。
Vim
本來以為 vim 是使用不了這個小工具的,但是后來發(fā)現(xiàn)老版本的 fcitx.vim同樣使用 fcitx-remote楞黄,然后簡單的修改下(不然會很卡)池凄,放在了CodeFalling/fcitx-vim-osx 」砝可以直接通過 vundle安裝肿仑,這個版本也可以直接在 Linux 下使用。反饋使用中碰到任何問題碎税,歡迎去 CodeFalling/fcitx-remote-for-osx 開 issue 或者直接評論尤慰。