I'm trying to set up a plugin to enable indentation guides, following an answer to this question. The plugin is Yggdroot/indentLine. It has instructions to set up a custom glyph to be shown instead of the default one.
They are:
- Download and install FontForge.
- Locate and open your terminal/gVim font.
- Open the font in FontForge, choose Goto from the View menu and select Private Use Area from the drop down box.
- In the private use area, locate a blank spot for the glyph. Make a note of the code, e.g. U+E0A3.
- Double-click the selected code point to open the font drawing tool.
- From the File menu, select Import... and locate the indentLine-dotted-guide.eps file.
- Once imported, choose File -> Generate Fonts and choose a location and file type for the new font.
Once completed, your new font will contain the more subtle dotted guide and all you have to do is set that glyph to g:indentLine_char in your .vimrc file.
I decided to check first if I could to substitute any glyph at all. And I could, I changed the glyph for the A
character to a square and set it as the value of the indentLine_char variable. I got this:
But when I tried to define the glyph for a Unicode character from "the Private Use Area", namely U+DE90, I could not insert it into my vimrc file.
Copy/paste does not work from FontForge, so directly insert the char into vimrc is impossible, while it was possible to do this with other chars which were not defined by me, like "┆" etc.
So I wonder, may be there is some way to write Unicode characters by their numeric value in a vim script? E.g. let foo = \U+12323
?
I have tried instructions from vim.wikia.com, but reproduction a described approach
By hex value for any Unicode codepoint: ^VUnnnnnnnn (with 00000000 <= nnnnnnnn <= 7FFFFFFF)
(the keystrokes in order: Ctrl+V
; Shift+U
; d
; e
; 9
; 0
;) gave me a value in the angle brackets let g:indentLine_char = <de90>
and an error:
Error detected while processing ~/.vimrc:
line 16:
E15: Invalid expression: <de90>
E15: Invalid expression: <de90>
Press ENTER or type command to continue
When I tried to enclose it inside brackets, I got another error:
Error detected while processing function <SNR>20_Setup..<SNR>20_IndentLinesEnable:
line 21:
E844: invalid cchar value
E475: Invalid argument: IndentLine /\%(^\s\+\)\@<=\%3v / containedin=ALL conceal cchar=<de90>
Could anyone suggest something about this, please?