pi314 / ime.vim

A Vim input method engine
BSD 2-Clause "Simplified" License
84 stars 3 forks source link
boshiamy chinese ime vim-plugin

=============================================================================== ime.vim

Read this document in English <README.en.rst>_.

介紹

在 Vim 裡面輸入中文一直都是件麻煩事。

有在使用中文輸入法的人都會知道,每個中文輸入法都有兩種狀態:

Vim 也有兩種狀態:

這些狀態在使用時會疊在一起,如下表:

+----------------+------+------+ | Vim \ 輸入法 | 英文 | 中文 | +----------------+------+------+ | Insert Mode | :) | :) | +----------------+------+------+ | 非 Insert Mode | :) | :( | +----------------+------+------+

這四種狀況中,中文 + 非 insert mode 非常討厭,按下的按鍵是中文的字根, 會被輸入法攔截下來,不會直接進入 Vim。

如果能把這個狀況去除,就可以避免 「需要不斷的按下 shift 或是 ctrl + space 」 (在 macOS 上也許是 + space )的狀況。 要達到這個目標,最好的方式就是在 Vim 中嵌入一個中文輸入法。

ime.vim 透過純 VimScript 實作了一個嘸蝦米輸入法引擎, 不需要外部程式,不需要網路, 安裝以後就能馬上開始使用。

安裝

ime.vim 可以使用 Vundle <https://github.com/gmarik/Vundle.vim> 或是 vim-plug <https://github.com/junegunn/vim-plug> 安裝,請參考它們的安裝教學。

在某些環境下,你可能沒有辦法正常使用 plugin manager, 此時仍然可以手動安裝,請參考 手動安裝 ime.vim <README-manually-install.rst>_

ime.vim 在以下環境測試過:

相關前作

個人是嘸蝦米的使用者,但目前能力不足,不便購買行易公司的嘸蝦米輸入法, 所以先尋找前人的作品。

VimIM 的功能非常強大,但個人覺得強大的軟體就會很肥大,所以沒有嘗試。 我希望找到一個剛好符合需求,不要有太多彩蛋或不必要功能的軟體。

boshiamy-cue 則是年代久遠,在 2013 年初發佈第一個版本後就沒有再更新, 也因此這個 Plugin 並沒有考慮 Pathogen/Vundle。 此外嘸蝦米還是需要選字的,而 boshiamy-cue 沒有提供這個功能。

vim-boshiamy 是暫時的 work around,2012 年中釋出後就沒有再更新。

使用

詳細的文件請參考 :help ime.vim

對嘸蝦米字表的改動

為了方便,我自己更改了嘸蝦米的字表,新增/刪除了一些項目,此處不細述,只大概列出一些比較重要的改動。

第三方套件

ime.vim 能夠載入第三方套件,以擴充自己的輸入能力。

目前已經有的套件有:

這些套件原本都是 ime.vim 的一部份,現在拔出核心,更加彈性。

要注意 ime.vim 本身並不管理套件,請手動安裝,或是透過 Vundle <https://github.com/gmarik/Vundle.vim>vim-plug <https://github.com/junegunn/vim-plug> 等套件管理系統安裝。

第三方套件的開發請參考 :help ime-plugins 或是 doc/ime-plugins.txt

可以配合 vim 使用的技巧

在取代模式中,一個字元只會覆蓋一個字元,無論寬度。

在繪製 ASCII 圖片時,如果用中文字去覆蓋空白字元,會讓那行變得越來越長, 因為一個兩格寬的中文字卻只覆蓋了一個空白字元。

此時 vim 內建的 gR 變得很有用,它可以根據字元的寬度覆蓋字元。

特別感謝

授權

本軟體使用 2-clause BSD license 發佈,請參考 LICENSE.txt


2017/03/30 pi314 @ HsinChu