is there any way to get a separator like the one for the split buffers (line in the middle of the image) for the line numbers/fringe?
(setq linenum-format "%4d \u2502 ") but that gives me a buggy weird broken lines with varying widths -.-
There are a few ways to do this -- my preferred method is to set the frame defaults for the fringes:
(set-face-attribute 'fringe nil :background "red") (add-to-list 'default-frame-alist '(left-fringe . 11)) (add-to-list 'default-frame-alist '(right-fringe . 0))
It is possible to set the windows fringes globally:
(setq-default left-fringe-width 11) (setq-default right-fringe-width 0)
It is also possible to set the windows fringes locally:
(setq left-fringe-width 11) (setq right-fringe-width 0)
Here is the doc-string for
Automatically becomes buffer-local when set. Documentation: Width of this buffer's left/right fringe (in pixels). A value of 0 means no left/right fringe is shown in this buffer's window. A value of nil means to use the left/right fringe width from the window's frame. Setting this variable does not take effect until a new buffer is displayed in a window. To make the change take effect, call `set-window-buffer'.
I too want a way to differentiate between the line number column and code. This is how I do that.
(set-face-attribute 'line-number nil :background "gray96" :foreground "gray42") (set-face-attribute 'line-number-current-line nil :foreground "gray6")
You have other options that you can find in the faces.el file.
It doesn't answer the question, but solves the underlying problem for me. This is also how vim often does it.