I use JetBrainsMono in my terminal and gVim.

In my terminal, arrows and pipelines become one character visually (-> and |>)

enter image description here

gVim has the same font but this same behavior doesn't happen.

How can I make this happen in gVim?

  • I understand that -> could be replaced by an arrow but it is unclear to me what should replace |> a screenshot could help. Commented Jan 27 at 4:53
  • 1
    image added to the question.
    – Vinn
    Commented Jan 27 at 5:18
  • Which operating system are you using (e.g. Windows 10, Linux)? Commented Jan 27 at 5:56

1 Answer 1


I believe you refers to a feature called ligatures. Ligature is a special font feature that makes that two characters are merged together on the screen into one that spread over two characters.

For this to work you need a fonts that supports it like (Fira Code but also JetBrains Mono).

On gVim on Windows to unable it you have to set the following option:

set renderoptions=type:directx

On Linux to unable it you have to set the guiligatures option:

set guiligatures=!\"#$%&()*+-./:<=>?@[]^_{\|~

The font must also support it. I'm using Fira_Code or its Nerd equivalent FiraCode_Nerd_Font

The text with Cousine_Nerd_Font_Mono:

Text with Cousine_Nerd_Font_Mono

The same text with FiraCode_Nerd_Font

Ligature with FiraCode_Nerd_Font

The same text with JetBrains_Mono:

Ligature with JetBrains_Mono

The same text with JetBrains_Mono on Ubuntu:

enter image description here

  • Right, I use jetbrainsmono, and guiligatures fixed it. Thanks.
    – Vinn
    Commented Jan 27 at 7:56
  • Thanks for the feedback :-). I understand that you are on Linux with GTK. Commented Jan 27 at 11:00
  • Yes that is right. Linux.
    – Vinn
    Commented Jan 27 at 12:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.