-
packer.nvim
A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Before we start, I suggest you install the latest stable version of Neovim. You can go to the release page in the github repository and download it from there. From now on I will assume you are using version 0.7.
-- ================================================================== -- -- === EDITOR SETTINGS === -- -- ================================================================== -- vim.opt.number = true vim.opt.mouse = 'a' vim.opt.ignorecase = true vim.opt.smartcase = true vim.opt.hlsearch = false vim.opt.wrap = true vim.opt.breakindent = true vim.opt.tabstop = 2 vim.opt.shiftwidth = 2 vim.opt.expandtab = false vim.g.netrw_banner = 0 vim.g.netrw_winsize = 30 vim.g.mapleader = ' ' vim.keymap.set({'n', 'x'}, 'cp', '"+y') vim.keymap.set({'n', 'x'}, 'cv', '"+p') vim.keymap.set({'n', 'x'}, 'x', '"_x') vim.keymap.set('n', 'w', 'write') vim.keymap.set('n', 'a', ':keepjumps normal! ggVG') local group = vim.api.nvim_create_augroup('user_cmds', {clear = true}) vim.api.nvim_create_autocmd('TextYankPost', { desc = 'Highlight on yank', group = group, callback = function() vim.highlight.on_yank({higroup = 'Visual', timeout = 200}) end, }) vim.api.nvim_create_autocmd('FileType', { pattern = {'help', 'man'}, group = group, command = 'nnoremap q quit' }) -- ================================================================== -- -- === PLUGINS === -- -- ================================================================== -- local install_path = vim.fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim' local install_plugins = false if vim.fn.empty(vim.fn.glob(install_path)) > 0 then vim.cmd('!git clone https://github.com/wbthomason/packer.nvim ' .. install_path) vim.cmd('packadd packer.nvim') install_plugins = true end vim.api.nvim_create_user_command( 'ReloadConfig', 'source $MYVIMRC | PackerCompile', {} ) require('packer').startup(function(use) use 'wbthomason/packer.nvim' use 'joshdick/onedark.vim' use 'nvim-lualine/lualine.nvim' if install_plugins then require('packer').sync() end end) if install_plugins then return end -- ================================================================== -- -- === PLUGIN CONFIGURATION === -- -- ================================================================== -- --- -- Colorscheme --- vim.opt.termguicolors = true vim.cmd('colorscheme onedark') --- -- lualine.nvim (statusline) --- vim.opt.showmode = false require('lualine').setup({ options = { icons_enabled = false, theme = 'onedark', component_separators = '|', section_separators = '', }, })
Let's configure a plugin. For this example I'll use lualine, a plugin that can give us a good looking statusline. First step, add it to the list of plugins.
Neovim-from-scratch
neovim config