Switch to init.lua

This commit is contained in:
Thomas Avé 2022-07-03 18:00:31 +02:00
parent fffa800f00
commit 2f3d55d578
7 changed files with 140 additions and 155 deletions

44
nvim/init.lua Normal file
View File

@ -0,0 +1,44 @@
require('packer').startup(function()
use 'ConradIrwin/vim-bracketed-paste'
use 'cappyzawa/trim.nvim'
use 'christoomey/vim-tmux-navigator'
use 'cohama/lexima.vim'
use 'editorconfig/editorconfig-vim'
use 'ervandew/supertab'
use 'hrsh7th/cmp-buffer'
use 'hrsh7th/cmp-cmdline'
use 'hrsh7th/cmp-nvim-lsp'
use 'hrsh7th/cmp-path'
use 'hrsh7th/cmp-vsnip'
use 'hrsh7th/nvim-cmp'
use 'hrsh7th/vim-vsnip'
use 'kristijanhusak/vim-hybrid-material'
use 'lervag/vimtex'
use 'neovim/nvim-lspconfig'
use 'octol/vim-cpp-enhanced-highlight'
use 'prabirshrestha/asyncomplete-lsp.vim'
use 'prabirshrestha/vim-lsp'
use 'tmux-plugins/vim-tmux'
use 'tmux-plugins/vim-tmux-focus-events'
use 'tomtom/tcomment_vim'
use 'vim-airline/vim-airline'
use 'vim-airline/vim-airline-themes'
use 'vimwiki/vimwiki'
use 'wbthomason/packer.nvim'
use 'williamboman/nvim-lsp-installer'
use {'nvim-telescope/telescope-fzf-native.nvim', run = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build'}
use {'nvim-telescope/telescope.nvim', requires = {{'nvim-lua/plenary.nvim'}}}
use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate'}
end)
require('settings')
require('mappings')
require('lsp_config')
require('telescope-config')
require('trim').setup({disable = {"markdown", "vimwiki"}})
vim.cmd("colorscheme hybrid_material")
vim.api.nvim_create_autocmd("FileType", { pattern = "make", command = [[set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab]] })
vim.api.nvim_create_autocmd("FileType", { pattern = "vimwiki", command = [[setlocal shiftwidth=2 softtabstop=2 expandtab]] })
vim.api.nvim_create_autocmd("FileType", { pattern = "javascript", command = [[setlocal shiftwidth=2 softtabstop=2 expandtab]] })
vim.api.nvim_create_autocmd("FileType", { pattern = "vue", command = [[setlocal shiftwidth=2 softtabstop=2 expandtab]] })

View File

@ -1,147 +0,0 @@
" vim-plug
call plug#begin()
Plug 'nvim-telescope/telescope-fzf-native.nvim', { 'do': 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
Plug 'williamboman/nvim-lsp-installer'
Plug 'prabirshrestha/vim-lsp'
Plug 'prabirshrestha/asyncomplete-lsp.vim'
Plug 'ConradIrwin/vim-bracketed-paste'
Plug 'christoomey/vim-tmux-navigator'
Plug 'cohama/lexima.vim'
Plug 'editorconfig/editorconfig-vim'
Plug 'kristijanhusak/vim-hybrid-material'
Plug 'lervag/vimtex'
Plug 'octol/vim-cpp-enhanced-highlight'
Plug 'pangloss/vim-javascript'
Plug 'posva/vim-vue'
Plug 'ervandew/supertab'
Plug 'tmux-plugins/vim-tmux'
Plug 'tmux-plugins/vim-tmux-focus-events'
Plug 'tomtom/tcomment_vim'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'vimwiki/vimwiki'
Plug 'neovim/nvim-lspconfig'
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-cmdline'
Plug 'hrsh7th/nvim-cmp'
Plug 'hrsh7th/cmp-vsnip'
Plug 'hrsh7th/vim-vsnip'
call plug#end()
:lua require('lsp_config')
:lua require('telescope-config')
let python_highlight_all=1
let g:solarized_termcolors=256
let g:airline_powerline_fonts = 1
let mapleader=","
set autoindent
set background=dark
set backspace=indent,eol,start
set completeopt-=preview
set encoding=utf-8
set expandtab
set guifont=Ubuntu\ Mono\ derivative\ Powerline\ 13
set hidden
set hlsearch
set ignorecase
set incsearch
set laststatus=2
set lbr
set modelines=0
set mouse=a
set nocompatible
set nomodeline
set number
set numberwidth=4
set scrolloff=5
set shiftwidth=4
set sidescrolloff=10
set smartcase
set softtabstop=4
set splitbelow
set splitright
set t_Co=256
set tabstop=4
set ttimeoutlen=50
set undofile
set undolevels=1000
set undoreload=10000
set wildmenu
set wildmode=longest,list
:command W w
:command Q q
:command WQ wq
:command Wq wq
:imap jj <Esc>
nnoremap j gj
nnoremap k gk
vnoremap u y
nnoremap <C-U> <C-O>
nnoremap <C-E> <C-U>
nnoremap <leader><space> :noh<CR>
nnoremap <C-o> <cmd>Telescope buffers<cr>
nnoremap <leader>/ <cmd>lua require('telescope.builtin').live_grep{ cwd = vim.fn.systemlist("git rev-parse --show-toplevel")[1] }<cr>
colorscheme hybrid_material
syntax enable
filetype plugin indent on
autocmd FileType make set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab
" VimWiki
let g:vimwiki_key_mappings = { 'table_mappings': 0 }
let g:vimwiki_markdown_link_ext = 1
autocmd FileType vimwiki setlocal shiftwidth=2 softtabstop=2 expandtab
" Allow xterm-key usage inside tmux
execute "set <xUp>=\e[1;*A"
execute "set <xDown>=\e[1;*B"
execute "set <xRight>=\e[1;*C"
execute "set <xLeft>=\e[1;*D"
" Airline
let g:airline_theme="solarized"
let g:airline_solarized_bg="dark"
" Vimtex
let g:tex_flavor = 'latex'
" Commenting
nnoremap <silent> <leader>c :TComment<CR>
nnoremap <silent> <leader>C :TCommentBlock<CR>
vnoremap <silent> <leader>c :TCommentInline<CR>
vnoremap <silent> <leader>C :TCommentBlock<CR>
" Automatically remove trailing spaces
let blacklist = ['vimwiki']
autocmd BufWritePre * if index(blacklist, &ft) < 0 | :%s/\s\+$//e
" Disable shift+k for manual lookup
map <S-k> <Nop>
" Prolog: set filetype for .pl
autocmd BufRead,BufNewFile *.pl set filetype=prolog
" Tab for completion
let g:SuperTabContextDefaultCompletionType = "<c-n>"
let g:SuperTabDefaultCompletionType = "<c-n>"
" Lanuage server
set updatetime=300
set signcolumn=number
nmap <silent> <leader>n :lua vim.diagnostic.goto_next()<CR>
nmap <silent> <leader>p :lua vim.diagnostic.goto_prev()<CR>
nmap <silent> <leader>f :lua vim.lsp.buf.code_action()<CR>
nnoremap <silent> gd :lua vim.lsp.buf.definition()<CR>
nnoremap <silent> gr :lua vim.lsp.buf.references()<CR>

View File

@ -1,4 +1,4 @@
-- Setup nvim-cmp.
-- Setup nvim-cmp.lsp
local cmp = require'cmp'
cmp.setup({
@ -103,6 +103,18 @@ require('lspconfig').cmake.setup {
capabilities = capabilities
}
require('lspconfig').jsonls.setup {
capabilities = capabilities
}
require('lspconfig').tsserver.setup {
capabilities = capabilities
}
require('lspconfig').vuels.setup {
capabilities = capabilities
}
require('lspconfig').dockerls.setup {
capabilities = capabilities
}
@ -111,6 +123,9 @@ require('lspconfig').vimls.setup {
capabilities = capabilities
}
require('lspconfig').cssls.setup {
capabilities = capabilities
}
require('lspconfig').ltex.setup {
capabilities = capabilities,
@ -135,3 +150,9 @@ vim.diagnostic.config({
-- Show line diagnostics automatically in hover window
vim.o.updatetime = 250
vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]]
vim.api.nvim_set_keymap("n", "<leader>n", ":lua vim.diagnostic.goto_next()<CR>", { silent = true })
vim.api.nvim_set_keymap("n", "<leader>p", ":lua vim.diagnostic.goto_prev()<CR>", { silent = true })
vim.api.nvim_set_keymap("n", "<leader>f", ":lua vim.lsp.buf.code_action()<CR>", { silent = true })
vim.api.nvim_set_keymap("n", "gd", ":lua vim.lsp.buf.definition()<CR>", { silent = true })
vim.api.nvim_set_keymap("n", "gr", ":lua vim.lsp.buf.references()<CR>", { silent = true })

View File

@ -21,7 +21,6 @@ end
M.readFile = function(type, lang)
local filename = "/home/user/.config/nvim/spell/" .. table.concat({ "ltex", type, lang, "txt" }, ".")
print(vim.inspect(filename))
local lines = {}
if M.file_exists(filename) then
local file = io.open(filename, "r")

7
nvim/lua/mappings.lua Normal file
View File

@ -0,0 +1,7 @@
vim.api.nvim_set_keymap("i", "jj", "<Esc>", {})
vim.api.nvim_set_keymap("n", "j", "gj", {})
vim.api.nvim_set_keymap("n", "k", "gk", {})
vim.api.nvim_set_keymap("n", "<S-k>", "<Nop>", {})
vim.api.nvim_set_keymap("n", "<C-U>", "<C-O>", {})
vim.api.nvim_set_keymap("n", "<C-E>", "<C-U>", {})
vim.api.nvim_set_keymap("n", "<leader><space>", ":noh<cr>", { silent = true })

52
nvim/lua/settings.lua Normal file
View File

@ -0,0 +1,52 @@
vim.opt.autoindent = true
vim.opt.background = "dark"
vim.opt.backspace = {"indent", "eol", "start"}
vim.opt.encoding = "utf-8"
vim.opt.expandtab = true
vim.opt.guifont = "Ubuntu Mono derivative Powerline 13"
vim.opt.hidden = true
vim.opt.hlsearch = true
vim.opt.ignorecase = true
vim.opt.incsearch = true
vim.opt.laststatus = 2
vim.opt.lbr = true
vim.opt.modelines = 0
vim.opt.mouse = a
vim.opt.compatible = false
vim.opt.modeline = false
vim.opt.number = true
vim.opt.numberwidth = 4
vim.opt.scrolloff = 5
vim.opt.shiftwidth = 4
vim.opt.sidescrolloff = 10
vim.opt.smartcase = true
vim.opt.softtabstop = 4
vim.opt.splitbelow = true
vim.opt.splitright = true
vim.opt.tabstop = 4
vim.opt.ttimeoutlen = 50
vim.g.signcolumn = "number"
vim.opt.undofile = true
vim.opt.undolevels = 1000
vim.opt.undoreload = 10000
vim.opt.wildmenu = true
vim.opt.wildmode = {"longest", "list"}
vim.g.mapleader = ","
vim.g.python_highlight_all = 1
vim.g.solarized_termcolors = 256
vim.g.airline_powerline_fonts = 1
-- Tab for completion
vim.g.SuperTabContextDefaultCompletionType = "<c-n>"
vim.g.SuperTabDefaultCompletionType = "<c-n>"
-- VimWiki
vim.g.vimwiki_key_mappings = { table_mappings = 0 }
vim.g.vimwiki_markdown_link_ext = 1
-- Airline
vim.g.airline_theme = "solarized"
vim.g.airline_solarized_bg = "dark"
-- Vimtex
vim.g.tex_flavor = 'latex'

View File

@ -3,19 +3,28 @@ local M = {}
local telescope = require("telescope")
M.project_files = function()
local opts = {show_untracked = false} -- define here if you want to define something
local opts = require('telescope.themes').get_ivy({}) -- define here if you want to define something
opts["show_untracked"] = true
opts["layout_config"] = {height=0.2}
local ok = pcall(require"telescope.builtin".git_files, opts)
if not ok then require"telescope.builtin".find_files(opts) end
end
M.project_live_files = function()
local opts = {search_dirs = { "file_b", "file_a" }} -- define here if you want to define something
local ok = pcall(require"telescope.builtin".git_files, opts)
if not ok then require"telescope.builtin".find_files(opts) end
end
local actions = require("telescope.actions")
require("telescope").setup{
defaults = {
mappings = {
i = {
["jj"] = actions.close
},
},
}
}
telescope.load_extension('fzf')
vim.api.nvim_set_keymap("n", "<C-p>", "<CMD>lua require'telescope-config'.project_files()<CR>", {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "<leader>/", "<cmd>lua require('telescope.builtin').live_grep{ cwd = vim.fn.systemlist(\"git rev-parse --show-toplevel 2> /dev/null || pwd\")[1] }<cr>", { silent = true })
vim.api.nvim_set_keymap("n", "<C-o>", "<cmd>Telescope buffers theme=ivy<cr>", { silent = true })
return M