Nimf input tool

Nimf is an input tool for Unix-like environments.

Nimf provides:

  • Input Method Server:
    • nimf
  • Settings tool:
    • nimf-settings
  • Virtual keyboard driver:
    • nimf-forward
  • Console input method:
    • nimf-cim
  • Languages:
    • System keyboard
    • Chinese
    • Japanese (based on anthy)
    • Korean
    • Old Hungarian
    • Ukrainian
    • Other various languages (based on m17n)
  • Service Modules:
    • Indicator (based on appindicator)
    • NIM (Nimf Input Method)
    • XIM (X Input Method)
    • Wayland
    • Preedit window
    • Candidate window
  • Input modules:
    • GTK+2, GTK+3, GTK 4, Qt 5, Qt 6


It is designed to reduce memory consumption.

Nimf allows one server to play multiple roles, reducing memory consumption.

Nimf is fast enough to be used on low-end computers and virtual machines.


Nimf has been tested numerous times in a variety of environments.

Please read the information below and refer to it for use.

  • Unfortunately, there are currently no plans to support multi-monitor, and HiDPI environments.
  • Nimf has not been tested for security, it is not recommended to use it in environments that require security.


FreeBSD® 14

Download nimf-2024.01.25.pkg
Download zh-sunpinyin-3.0.0.r2.pkg

The source code of zh-sunpinyin-3.0.0.r2 is at
The modified source code can be downloaded by clicking sunpinyin.diff.

After downloading, install it with the command below.

% sudo pkg install ~/Downloads/nimf-2024.01.25.pkg ~/Downloads/zh-sunpinyin-3.0.0.r2.pkg

Set environment variables

After installing nimf, run nimf-settings and turn on the ‘Set environment variables’ option.
If you want to use another input method, you must turn off the ‘Set environment variables’ option.


Select languages

Please select the language you need.


After that, log in again and you will be able to use Nimf immediately.