A high-performance, 0ms-latency native Amharic Input Method for Vim and Neovim.
# vim-amharic
A high-performance, 0ms-latency native Amharic Input Method for Vim and Neovim.
Unlike setups utilizing system-level layout tools (like IBus or Fcitx), this plugin implements translation at Vim's internal C-engine layer. Your **Normal mode** remains completely standard English ASCII (for commands like `h/j/k/l`, `w`, `dd`), while **Insert mode** natively types phonetically mapped Amharic characters.
## Features
* **0ms Latency:** Zero external processes spawned when hitting ` `.
* **Isolated Modes:** Amharic active only while typing text; Normal mode remains standard ASCII.
* **Smart Mappings:** Simple phonetic typing syntax (`bu` -> `ቡ`, `mI` -> `ም`).
## Installation
### Using vim-plug
Add this to your `.vimrc` or `init.vim`:
```vim
Plug 'risingsun-ai/vim-amharic'
```
## Configuration
You can customize options by adding these variables to your .vimrc before the plugin loads:
```vim
" Disable opening in Amharic mode by default (0 = off, 1 = on)
let g:amharic_im_default_on = 1
" Customize the key used to switch between English/Amharic within Insert Mode
let g:amharic_im_toggle_key = ' '
```
## Usage
1. Enter Insert Mode (i).
2. Type phonetically (e.g., ሰላም by typing s l a m).
3. Press Ctrl+L to switch back to English mid-sentence without dropping out of Insert mode.
4. Press to drop into Normal Mode. Navigating commands remain English.
## Contributing
Contributions are welcome.
1. Fork the repository.
2. Create a feature branch: `git checkout -b feature-name`.
3. Make your changes.
4. Commit with a clear message.
5. Push to your fork and open a pull request.
Please include:
- A description of the change.
- Installation or configuration updates if needed.
- Any testing steps or example usage.
## License
Add the project license here if applicable.