From 6d48b225db49857e6b428703c05f4057d12b2a80 Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani Date: Sun, 21 Nov 2021 18:02:09 -0500 Subject: [PATCH] nvim: switch to init.lua --- .config/nvim/init.lua | 94 +++++++++++++++++++++++++++++++++++++++++++ .config/nvim/init.vim | 87 --------------------------------------- 2 files changed, 94 insertions(+), 87 deletions(-) create mode 100644 .config/nvim/init.lua delete mode 100644 .config/nvim/init.vim diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 0000000..f068851 --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,94 @@ +local map = vim.api.nvim_set_keymap +local opts = { noremap=true, silent=true } + +-- General settings +vim.opt.mouse = 'a' +vim.opt.undofile = true +vim.opt.textwidth = 80 +map('', 'Q', '', opts) + +-- Polyglot +vim.g.polyglot_disabled = {'sensible'} + +-- Plugins +local install_path = vim.fn.stdpath('data') .. '/site/pack/paqs/start/paq-nvim' + +if vim.fn.empty(vim.fn.glob(install_path)) > 0 then + vim.fn.system({'git', 'clone', '--depth=1', + 'https://github.com/savq/paq-nvim.git', install_path}) +end + +require('paq') { + 'ap/vim-css-color'; -- Highlight css colors + 'ctrlpvim/ctrlp.vim'; -- Fuzzy file finding + 'editorconfig/editorconfig-vim'; -- Follow editorconfig + 'godlygeek/tabular'; -- Line things up + 'lifepillar/vim-mucomplete'; -- Simple autocompletion + 'meain/hima-vim'; -- Nice color scheme + 'neovim/nvim-lspconfig'; -- LSP configurations + 'sheerun/vim-polyglot'; -- Language pack + 'tpope/vim-commentary'; -- Easily comment + 'tpope/vim-rsi'; -- Readline bindings + 'tpope/vim-sensible'; -- Sensible defaults + 'tpope/vim-speeddating'; -- Modify dates with C-a, C-x + 'tpope/vim-surround'; -- Easily modify sorrounding characters +} + +-- Colorscheme +vim.opt.termguicolors = true +vim.g.colors_name = 'hima' + +-- Easier split movement +map('n', '', '', opts) +map('n', '', '', opts) +map('n', '', '', opts) +map('n', '', '', opts) + +-- Clear search highlighting +map('n', '', ':noh', opts) + +-- Completion +vim.opt.completeopt = vim.opt.completeopt + 'menuone' +vim.opt.completeopt = vim.opt.completeopt - 'preview' +vim.opt.shortmess = vim.opt.shortmess + 'c' + +-- LSP +local lspconfig = require('lspconfig') + +local on_attach = function(client, bufnr) + -- Shorthand + local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, + ...) end + local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, + ...) end + + -- Use omnifunc for completion + buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') + + -- Keybindings + buf_set_keymap('n', 'gD', + 'lua vim.lsp.buf.declaration()', opts) + buf_set_keymap('n', 'gd', + 'lua vim.lsp.buf.definition()', opts) + buf_set_keymap('n', 'gr', + 'lua vim.lsp.buf.references()', opts) + buf_set_keymap('n', 'K', + 'lua vim.lsp.buf.hover()', opts) + buf_set_keymap('n', 'rn', + 'lua vim.lsp.buf.rename()', opts) + buf_set_keymap('n', '[d', + 'lua vim.lsp.diagnostic.goto_prev()', opts) + buf_set_keymap('n', ']d', + 'lua vim.lsp.diagnostic.goto_next()', opts) +end + +-- Add servers +local servers = { + 'clangd' +} + +for _, server in ipairs(servers) do + lspconfig[server].setup {on_attach = on_attach} +end + +vim.opt.signcolumn = 'no' diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim deleted file mode 100644 index 72dfff1..0000000 --- a/.config/nvim/init.vim +++ /dev/null @@ -1,87 +0,0 @@ -" General settings -set mouse=a -set undofile -set textwidth=80 -map Q - -" Polyglot -let g:polyglot_disabled = ['sensible'] - -" Plugins -call plug#begin() -Plug 'ap/vim-css-color' " Highlight css colors -Plug 'ctrlpvim/ctrlp.vim' " Fuzzy file finding -Plug 'editorconfig/editorconfig-vim' " Follow editorconfig -Plug 'godlygeek/tabular' " Line things up -Plug 'lifepillar/vim-mucomplete' " Simple autocompletion -Plug 'meain/hima-vim' " Nice color scheme -Plug 'neovim/nvim-lspconfig' " LSP configurations -Plug 'sheerun/vim-polyglot' " Language pack -Plug 'tpope/vim-commentary' " Easily comment -Plug 'tpope/vim-rsi' " Readline bindings -Plug 'tpope/vim-sensible' " Sensible defaults -Plug 'tpope/vim-speeddating' " Modify dates with C-a, C-x -Plug 'tpope/vim-surround' " Easily modify sorrounding characters -call plug#end() - -" Colorscheme -set termguicolors -colorscheme hima - -" Easier split movement -nnoremap -nnoremap -nnoremap -nnoremap - -" Clear search highlighting -nnoremap :noh - -" Completion -set completeopt+=menuone -set completeopt-=preview -set shortmess+=c - -" LSP -lua << EOF -local lspconfig = require('lspconfig') - -local on_attach = function(client, bufnr) - -- Shorthand - local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, - ...) end - local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, - ...) end - - -- Use omnifunc for completion - buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') - - -- Keybindings - local opts = { noremap=true, silent=true } - buf_set_keymap('n', 'gD', - 'lua vim.lsp.buf.declaration()', opts) - buf_set_keymap('n', 'gd', - 'lua vim.lsp.buf.definition()', opts) - buf_set_keymap('n', 'gr', - 'lua vim.lsp.buf.references()', opts) - buf_set_keymap('n', 'K', - 'lua vim.lsp.buf.hover()', opts) - buf_set_keymap('n', 'rn', - 'lua vim.lsp.buf.rename()', opts) - buf_set_keymap('n', '[d', - 'lua vim.lsp.diagnostic.goto_prev()', opts) - buf_set_keymap('n', ']d', - 'lua vim.lsp.diagnostic.goto_next()', opts) -end - --- Add servers -local servers = { - 'clangd' -} - -for _, server in ipairs(servers) do - lspconfig[server].setup {on_attach = on_attach} -end -EOF - -set signcolumn=no -- 2.39.2