UI

One of nvim's strengths is that it doesn't provide a real native UI, instead it provides a framework for creating a UI, this enables the community to develop different UI options through the use of various plugins.

If you are using a preconfigured configuration, probably the UI is already configured, but can be customized. Check your config's docs for more info.

Components

Colorscheme

Like in any code editor, there are a bunch of color schemes to choose from, I use my own scheme ofirkai.nvim. I recommend to choose a color scheme you are already familiar with.

Color schemes

Statusline and Winbar

Statusline is the bottom line right above the command line.
You can configure it to show whatever you like but usually it shows the current mode, file, file type and more.

You can set the status line to global or local.

  • global - one status line that shows information about the current active buffer.
  • local - status line for each window even if it's inactive, you can configure different designs for active and inactive.

Winbar is the same as statusline but for each window, it's located at the top of the window instead of the bottom, it's useful if you want information per window but a global status line too.

I personally use lualine.nvim, but I know a lot of people that prefer feline.nvim, you can find all statuslines here

How to set a global/local status line

vim.opt.laststatus = 3 -- Global line
vim.opt.laststatus = 2 -- The default, local

Check :h laststatus for all the options

Tabline

Tabline is the row of opened tabs, like in web browsers and other IDEs.

There isn't much to configure, but here are a couple of plugins that implement it:

File Explorer (File Tree)

There is a default file explorer for nvim but it's not widely used.

Recommended file tree plugins: