Moving from Plain text or CSV file to KeyVi
This is the general path that works for any source: a text file with one macro per line. KeyVi imports both formats below.
Tab-separated text
Each line is the shortcut, one Tab character, then the full text. A shortcut is 1 to 32 printable ASCII characters with no spaces and no Vietnamese letters (shortcuts match the keys as typed: dc, not đc). The expansion can be up to 4,000 characters.
vn Việt Nam
dc được
tphcm Thành phố Hồ Chí Minh
Two-column CSV
vn,Việt Nam
dc,được
"cam on","Cảm ơn bạn rất nhiều, hẹn gặp lại"
UTF-8 encoding. Wrap text that contains commas in double quotes.
KeyVi's own settings export
In Settings > About & Support you can export all settings to one JSON file, UTF-8, named like keyvi-settings-YYYYMMDD.json. The kind field is always settings-export; schemaVersion (an integer) is the format version; writtenBy is the app version that wrote the file; exportedAt is the export time (ISO 8601, UTC). Then come settings, appModes (per-app modes), ruleOverrides (compatibility rules you set yourself) and macros (shortcut trigger, text expansion, case following adaptCase, on or off enabled). When exporting you can untick macros and per-app modes, because macros may contain private text; an unticked part is left out of the file. When you import a file written by a newer version, KeyVi imports the fields it understands and lists the ones it skipped.
{
"kind": "settings-export",
"schemaVersion": 1,
"writtenBy": "0.1.0",
"exportedAt": "2026-11-13T09:00:00Z",
"settings": { },
"appModes": { },
"ruleOverrides": [ ],
"macros": [
{ "id": "3F2504E0-4F89-11D3-9A0C-0305E82C3301", "trigger": "vn", "expansion": "Việt Nam", "adaptCase": true, "enabled": true }
]
}
Import into KeyVi
- Open KeyVi, go to Settings > Macros > Import from file... (or choose Choose file... at the import step during setup).
- Read the preview: counts of new, duplicate and invalid rows. For duplicates, choose to keep yours or use the imported one.
- Invalid rows are skipped with a reason; one bad row never ruins the whole import.