Making my own Statusline
I don't like flashy statuslines. I use lightline right now, and it's a little too colorful for me. Ideally here's what I want my statusline to look like -
| N | 2021-01-21 Making my own statusline.md | | 100% | markdown |
This, in white text, on a black background.
I found this piece that looks helpful.
I'm going to get back to this in a few days, hopefully I'll have a little more time on my hands.
Results
I was able to get something similar to what I wanted by messing around with lightline. This article helped. It actually looks really nice! Here's the code -
let g:lightline = {
\ 'mode_map': {
\ 'n' : ' N',
\ 'i' : ' I',
\ 'R' : ' R',
\ 'v' : ' V',
\ 'V' : ' VL',
\ "\<C-v>": ' VB',
\ 'c' : ' C',
\ 's' : ' S',
\ 'S' : ' SL',
\ "\<C-s>": ' SB',
\ 't': ' T',
\ },
\ 'colorscheme': 'atlas'
\ }
let s:p = {
\ "normal": {},
\ "inactive": {},
\ "insert": {},
\ "replace": {},
\ "visual": {},
\ "tabline": {}
\ }
let s:black = ["#000000", "Black"]
let s:white = ["#ffffff", "White"]
let s:dark_grey = ["#666666", "White"]
let s:p.normal.left = [[s:white, s:black, 'bold'], [s:white, s:black]]
let s:p.normal.middle = [[s:white, s:black]]
let s:p.normal.right = [[s:white, s:black], [s:white, s:black]]
let s:p.normal.error = [[["#c0c0c0", 235], ["#f43753", 203]]]
let s:p.normal.warning = [[["#c0c0c0", 235], ["#ffc24b", 215]]]
let s:p.inactive.left = [[s:white, s:black, 'bold'], [s:white, s:black]]
let s:p.inactive.middle = [[s:white, s:black]]
let s:p.inactive.right = [[s:white, s:black], [s:white, s:black]]
let s:p.insert.left = [[s:white, s:black, 'bold'], [s:white, s:black]]
let s:p.insert.middle = [[s:white, s:black]]
let s:p.insert.right = [[s:white, s:black], [s:white, s:black]]
let s:p.replace.left = [[s:white, s:black, 'bold'], [s:white, s:black]]
let s:p.replace.middle = [[s:white, s:black]]
let s:p.replace.right = [[s:white, s:black], [s:white, s:black]]
let s:p.visual.left = [[s:white, s:black, 'bold'], [s:white, s:black]]
let s:p.visual.middle = [[s:white, s:black]]
let s:p.visual.right = [[s:white, s:black], [s:white, s:black]]
let s:p.tabline.left = [[s:white, s:black]]
let s:p.tabline.tabsel = [[s:white, s:black, 'bold']]
let s:p.tabline.middle = [[s:white, s:black]]
let s:p.tabline.right = [[s:white, s:black]]
let g:lightline#colorscheme#atlas#palette = lightline#colorscheme#flatten(s:p)