3

Things I've ruled out

  • Terminal: works if I launch it with bash as shell
  • Keyboard layout: £ inserts fine in Vim, bash and Firefox
  • Unicode issues anywhere: emojis work in all applications

I can't input £ in zsh, even when I launch bash, which probably means the ZSH Line Editor is at fault. But I can't find out how to make it work by using bindkey, even after some Google searching.

Can I use bindkey, or do I have to use something else?

EDIT:

Locale Variables (same in bash and zsh):

Also using oh-my-zsh with default theme

LANG=en_GB.UTF-8
LC_CTYPE=en_GB.UTF-8
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE=en_GB.UTF-8
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES=en_GB.UTF-8
LC_ALL=en_GB.UTF-8

Terminal: st (Luke Smith's build)

9
  • 1
    So it works if your terminal starts bash, but not if your terminal starts zsh and from that zsh you start bash? Sounds really weird. zsh's line editor should be irrelevant. You should start comparing bash's environment variables in these two cases, especially the locale-related ones.
    – egmont
    Sep 17, 2019 at 17:56
  • This has pretty sure something with your locales to do. Is the locale en_GB.UTF-8 generated? Check with the command locale -a.
    – mpy
    Sep 18, 2019 at 16:54
  • @mpy C, en_GB.utf8, POSIX Sep 18, 2019 at 18:46
  • Okay, just to make sure: Have you tried with zsh -f (dont load d'oh-my-zsh) and then set LC_ALL=en_GB.utf8?
    – mpy
    Sep 19, 2019 at 16:44
  • @mpy That doesn't change anything, but I realized running an st supbrocess form st solves the problem. It''s hacky though Sep 19, 2019 at 16:52

0

You must log in to answer this question.

Browse other questions tagged .