artify.vim
artify.vim copied to clipboard
change the display of characters without changing font
Introduction
This plugin can change the display of characters without changing font.
echo artify#convert('Introduction', 'bold') " ๐๐ง๐ญ๐ซ๐จ๐๐ฎ๐๐ญ๐ข๐จ๐ง
echo artify#convert('Introduction', 'italic') " ๐ผ๐๐ก๐๐๐๐ข๐๐ก๐๐๐
echo artify#convert('Introduction', 'bold_italic') " ๐ฐ๐๐๐๐๐
๐๐๐๐๐๐
Thus, you can use it to tweak your vim UI. For example, change the display of tab line and status line.
The implementation of this plugin is very simple: convert English characters to special unicodes.
https://unicode-table.com/en/#1D400
https://unicode-table.com/en/#24B6
To be honest, I have another purpose to develop this plugin -- generate nickname and biography conveniently.
For example, my twitter name is "Sainnhepark", and now I can use this plugin to convert this string into "๐ข๐ช๐ฒ๐ท๐ท๐ฑ๐ฎ๐น๐ช๐ป๐ด". Don't you think this is cooler than plain text? LOL
Performance
This plugin is implemented in pure vim script, I've tried my best to optimize it's performance, but it's still quite slow.
For neovim users, consider this lua implementation instead, it's about 20~30 times faster than this implementation.
Installation
If you are using vim-plug:
Plug 'sainnhe/artify.vim'
Usage
artify#convert('Introduction', 'italic')
The first parameter is the string you want to convert, and the second parameter is the "artify style".
All available styles are listed blow:
style | 0-9 available? | All a-Z characters available? | Preview |
---|---|---|---|
circled | no | yes | โโโโโโโโโโโโโโโโโ โกโขโฃโคโฅโฆโงโจโฉโถโทโธโนโบโปโผโฝโพโฟโโโโโโ โโโโโโโโโโ |
bold | yes | yes | ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ |
italic | no | no | ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง |
bold_italic | no | yes | ๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ |
script | no | no | ๐๐๐๐ข๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐ป๐ฝ๐พ๐ฟ๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐๐ |
script_bold | no | yes | ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐ |
fraktur | no | no | ๐๐ ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท |
fraktur_bold | no | yes | ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ |
sans_serif | yes | yes | ๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐๐๐๐๐๐ |
sans_serif_bold | yes | yes | ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐ ๐๐ |
sans_serif_italic | no | yes | ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป |
sans_serif_bold_italic | no | yes | ๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ |
monospace | yes | yes | ๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ |
double_struck | yes | no | ๐๐๐๐๐๐๐๐๐ ๐ก๐ธ๐น๐ป๐ผ๐ฝ๐พ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ |
Example Configuration
My dotfiles: init.vim.
Licence
GPL v3