Vim
Vim copied to clipboard
Emoji entered with Windows Emoji Selector shown as "Unknown Glyph"
Describe the bug
When entering an emoji using the Windows symbol selection popup (accessed with META+.), the emoji is inserted but appears as the "unknown glyph" indicator (diamond shape with a ? inside). If an emoji already exists in a document, it is displayed as expected. If Vim mode is disabled, the emoji are correctly inserted.
To Reproduce Steps to reproduce the behavior: On Windows (not tested on other platforms):
- Enable Vim mode
- Enter insert mode
- META+., select any emoji to insert.
- Unicode was entered, but "unknown glyph" was shown.
Expected behavior The emoji should be shown.
Screenshots

Environment (please complete the following information):
- Extension (VsCodeVim) version: 1.22.2
- VSCode version: 1.65.1
- OS: Windows 10 Enterprise 1909
Just tried copy and paste of an emoji and that seems to work correctly.
Same happens on Linux with Gnome - ctrl + . shrug space enter and instead of 🤷️, which is visible after clicking space I get the question marks and cursor between them.
Copy-pasting works. And if I disable vscodevim it also works.
@esarver I can confirm that copy/pasting works fine on my Windows machine. The problem seems to occur specifically with the OS' emoji keyboard.
Same here...

I have the same issue on Windows 10 using the Windows Emoji keyboard.
But! The same emojis render correctly when inserted through the Emoji Snippets extension.

That's an interesting workaround.
Small caveat: this does not seem to work with the Plain Text file type. For those use cases, you may want to switch to the Markdown file type.
bump! I've been annoyed by the lack of emojis for a while now, didn't think it was coming from this extension though given how popular it is
I noticed that this plugin has ~1300 open issues, so I think you're more likely to get the issue solved by contributing a patch than by poking the maintainers.
Alternatively - this is what I did - you can install Neovim and a VSCode plugin for Neovim. Neovim can be embedded into other applications, which is exactly what this VSCode plugin does. Thanks to this feature, Neovim cam provide a real Vim experience, where VSCodeVim is only an emulator. Neovim does not seem to have trouble with emojis.
There's a bit of configuration involved. Here's what to do:
- Uninstall VSCodeVim to prevent conflicts.
- Install Neovim and VSCode Neovim.
- Go to VSCode's settings and enter
@ext:asvetliakov.vscode-neovim executablein the search bar. - For the setting matching your operating system, enter the full path to the Neovim executable on your system. I had to enter
C:\Program Files\Neovim\bin\nvim.exeunder 'Neovim Executable Paths: Win32'. - (Optional) You may want to configure VSCode Neovim to use different a settings file than your regular Neovim. If so, 'Neovim Init Vim Paths' is the setting you're looking for. Again, check that you have the right setting for your OS.
- Restart VSCode.
So far this seems to be working smoothly for me. Since it is native (but embedded) Vim, I also expect that will fix an occasional bug with the undo function that I experienced.
The author said you don’t free-rider, contribute to the code🤣
Duplicate of #6046; should be fixed by #7977