Merge branch 'Linux'
Done to finally create a global configuration
This commit is contained in:
commit
25194213c5
|
@ -0,0 +1,7 @@
|
||||||
|
-- If you want insert `(` after select function or method item
|
||||||
|
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
|
||||||
|
local cmp = require('cmp')
|
||||||
|
cmp.event:on(
|
||||||
|
'confirm_done',
|
||||||
|
cmp_autopairs.on_confirm_done()
|
||||||
|
)
|
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
function ColorMyPencils(color)
|
||||||
|
color = color or "rose-pine"
|
||||||
|
vim.cmd.colorscheme(color)
|
||||||
|
|
||||||
|
--vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||||
|
--vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
ColorMyPencils()
|
|
@ -0,0 +1,5 @@
|
||||||
|
CIFAR
|
||||||
|
MNIST
|
||||||
|
LeNet
|
||||||
|
MUL
|
||||||
|
BCNN
|
|
@ -0,0 +1 @@
|
||||||
|
vim.keymap.set("n", "<leader>gs", vim.cmd.Git)
|
|
@ -0,0 +1,10 @@
|
||||||
|
local mark = require("harpoon.mark")
|
||||||
|
local ui = require("harpoon.ui")
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>a", mark.add_file)
|
||||||
|
vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<C-h>", function() ui.nav_file(1) end)
|
||||||
|
vim.keymap.set("n", "<C-t>", function() ui.nav_file(2) end)
|
||||||
|
vim.keymap.set("n", "<C-n>", function() ui.nav_file(3) end)
|
||||||
|
vim.keymap.set("n", "<C-s>", function() ui.nav_file(4) end)
|
|
@ -0,0 +1,87 @@
|
||||||
|
local lsp = require('lsp-zero').preset({})
|
||||||
|
|
||||||
|
lsp.on_attach(function(client, bufnr)
|
||||||
|
lsp.default_keymaps({buffer = bufnr})
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Language servers
|
||||||
|
lsp.ensure_installed({
|
||||||
|
-- Replace these with whatever servers you want to install
|
||||||
|
'bashls',
|
||||||
|
'clangd',
|
||||||
|
'julials',
|
||||||
|
'lua_ls',
|
||||||
|
'ltex',
|
||||||
|
'pylsp',
|
||||||
|
'texlab',
|
||||||
|
'zls'
|
||||||
|
})
|
||||||
|
|
||||||
|
--[[
|
||||||
|
START LANGUAGE SERVERS CONFIG HERE!!!
|
||||||
|
]]--
|
||||||
|
|
||||||
|
-- (Optional) Configure lua language server for neovim
|
||||||
|
require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls())
|
||||||
|
|
||||||
|
|
||||||
|
require('lspconfig').texlab.setup({})
|
||||||
|
|
||||||
|
local path = vim.fn.stdpath("config") .. "/after/plugin/dictionary-gb.txt"
|
||||||
|
local words = {}
|
||||||
|
|
||||||
|
for word in io.open(path, "r"):lines() do
|
||||||
|
table.insert(words, word)
|
||||||
|
end
|
||||||
|
|
||||||
|
require('lspconfig').ltex.setup({
|
||||||
|
settings = {
|
||||||
|
ltex = {
|
||||||
|
language = "en-GB",
|
||||||
|
dictionary = {
|
||||||
|
["en-GB"] = words,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
require('lspconfig').pylsp.setup({})
|
||||||
|
|
||||||
|
--require('lspconfig').gopls.setup({
|
||||||
|
-- on_attach = on_attach,
|
||||||
|
--})
|
||||||
|
|
||||||
|
require('lspconfig').julials.setup({
|
||||||
|
-- --on_attach = on_attach,
|
||||||
|
-- symbol_cache_download = true,
|
||||||
|
-- --symbol_server = "https://symbol-server",
|
||||||
|
-- on_new_config = function(new_config, _)
|
||||||
|
-- local julia = vim.fn.expand("/usr/share/julia/bin/julia")
|
||||||
|
-- if require'lspconfig'.util.path.is_file(julia) then
|
||||||
|
-- vim.notify("Hello!")
|
||||||
|
-- new_config.cmd[1] = julia
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
})
|
||||||
|
|
||||||
|
require('lspconfig').zls.setup({})
|
||||||
|
|
||||||
|
require('lspconfig').bashls.setup({})
|
||||||
|
|
||||||
|
-- source: https://rust-analyzer.github.io/manual.html#nvim-lsp
|
||||||
|
--require('lspconfig').rust_analyzer.setup({
|
||||||
|
-- on_attach = on_attach,
|
||||||
|
-- settings = {
|
||||||
|
-- ["rust-analyzer"] = {
|
||||||
|
-- inlayHints = {
|
||||||
|
-- closingBraceHints = true, -- Whether to show inlay hints after a closing } to indicate what item it belongs to.
|
||||||
|
-- }
|
||||||
|
-- }
|
||||||
|
-- }
|
||||||
|
--})
|
||||||
|
|
||||||
|
--[[
|
||||||
|
END LANGUAGE SERVERS CONFIG HERE!!!
|
||||||
|
]]--
|
||||||
|
|
||||||
|
lsp.setup()
|
|
@ -0,0 +1,6 @@
|
||||||
|
local builtin = require('telescope.builtin')
|
||||||
|
vim.keymap.set('n', '<leader>pf', builtin.find_files, {})
|
||||||
|
vim.keymap.set('n', '<C-p>', builtin.git_files, {})
|
||||||
|
vim.keymap.set('n', '<leader>ps', function()
|
||||||
|
builtin.grep_string({ search = vim.fn.input("Grep > ") })
|
||||||
|
end)
|
|
@ -0,0 +1,21 @@
|
||||||
|
require("toggleterm").setup{
|
||||||
|
-- size can be a number or function which is passed the current terminal
|
||||||
|
size = 10,
|
||||||
|
open_mapping = [[<c-t>]],
|
||||||
|
hide_numbers = true, -- hide the number column in toggleterm buffers
|
||||||
|
shade_filetypes = {},
|
||||||
|
autochdir = false, -- when neovim changes it current directory the terminal will change it's own when next it's opened
|
||||||
|
shade_terminals = true, -- NOTE: this option takes priority over highlights specified so if you specify Normal highlights you should set this to false
|
||||||
|
-- shading_factor = '<number>', -- the percentage by which to lighten terminal background, default: -30 (gets multiplied by -3 if background is light)
|
||||||
|
start_in_insert = true,
|
||||||
|
insert_mappings = true, -- whether or not the open mapping applies in insert mode
|
||||||
|
terminal_mappings = true, -- whether or not the open mapping applies in the opened terminals
|
||||||
|
persist_size = true,
|
||||||
|
persist_mode = true, -- if set to true (default) the previous terminal mode will be remembered
|
||||||
|
direction = 'horizontal', -- | 'vertical' | 'tab' | 'float',
|
||||||
|
close_on_exit = true, -- close the terminal window when the process exits
|
||||||
|
-- Change the default shell. Can be a string or a function returning a string
|
||||||
|
shell = vim.o.shell,
|
||||||
|
auto_scroll = true, -- automatically scroll to the bottom on terminal output
|
||||||
|
-- This field is only relevant if direction is set to 'float'
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
require'nvim-treesitter.configs'.setup {
|
||||||
|
-- A list of parser names, or "all" (the five listed parsers should always be installed)
|
||||||
|
ensure_installed = { "c", "julia", "latex", "lua", "python", "query", "vim", "vimdoc", "zig" },
|
||||||
|
|
||||||
|
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||||
|
sync_install = false,
|
||||||
|
|
||||||
|
-- Automatically install missing parsers when entering buffer
|
||||||
|
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
||||||
|
auto_install = true,
|
||||||
|
|
||||||
|
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
|
||||||
|
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
|
||||||
|
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
|
||||||
|
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
||||||
|
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||||
|
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||||
|
-- Instead of true it can also be a list of languages
|
||||||
|
additional_vim_regex_highlighting = false,
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)
|
|
@ -0,0 +1,10 @@
|
||||||
|
require("eddie.keymaps")
|
||||||
|
require("eddie.options")
|
||||||
|
|
||||||
|
local f = io.popen("uname -s")
|
||||||
|
if (f ~= nil) then
|
||||||
|
MY_OS = f:read("*a")
|
||||||
|
f:close()
|
||||||
|
end
|
||||||
|
|
||||||
|
print(MY_OS)
|
|
@ -0,0 +1,78 @@
|
||||||
|
-----------------
|
||||||
|
-- Normal mode --
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
-- Hint: see `:h vim.map.set()`
|
||||||
|
-- Better window navigation
|
||||||
|
vim.keymap.set("n", "<C-h>", "<C-w>h", opts)
|
||||||
|
vim.keymap.set("n", "<C-j>", "<C-w>j", opts)
|
||||||
|
vim.keymap.set("n", "<C-k>", "<C-w>k", opts)
|
||||||
|
vim.keymap.set("n", "<C-l>", "<C-w>l", opts)
|
||||||
|
|
||||||
|
-- Resize with arrows
|
||||||
|
-- delta: 2 lines
|
||||||
|
vim.keymap.set("n", "<C-Up>", ":resize -2<CR>", opts)
|
||||||
|
vim.keymap.set("n", "<C-Down>", ":resize +2<CR>", opts)
|
||||||
|
vim.keymap.set("n", "<C-Left>", ":vertical resize -2<CR>", opts)
|
||||||
|
vim.keymap.set("n", "<C-Right>", ":vertical resize +2<CR>", opts)
|
||||||
|
|
||||||
|
-- open File Explorer
|
||||||
|
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
|
||||||
|
|
||||||
|
-- Navigate buffers
|
||||||
|
vim.keymap.set("n", "<BS>", ":bnext<CR>", opts)
|
||||||
|
vim.keymap.set("n", "<S-TAB>", ":bprevious<CR>", opts)
|
||||||
|
|
||||||
|
-- Telescope
|
||||||
|
local builtin = require("telescope.builtin")
|
||||||
|
vim.keymap.set("n", "<leader>pf", builtin.find_files, {})
|
||||||
|
vim.keymap.set("n", "<C-p>", builtin.git_files, {})
|
||||||
|
vim.keymap.set("n", "<leader>ps", function ()
|
||||||
|
builtin.grep_string( { search = vim.fn.input("Grep > ") } );
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Harpoon
|
||||||
|
local mark = require("harpoon.mark")
|
||||||
|
local ui = require("harpoon.ui")
|
||||||
|
vim.keymap.set("n", "<leader>a", mark.add_file)
|
||||||
|
vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<C-h>", function () ui.nav_file(1) end)
|
||||||
|
vim.keymap.set("n", "<C-t>", function () ui.nav_file(2) end)
|
||||||
|
vim.keymap.set("n", "<C-n>", function () ui.nav_file(3) end)
|
||||||
|
vim.keymap.set("n", "<C-s>", function () ui.nav_file(4) end)
|
||||||
|
|
||||||
|
-- Undotree
|
||||||
|
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
||||||
|
|
||||||
|
-- Fugitive
|
||||||
|
vim.keymap.set("n", "<leader>gs", vim.cmd.Git)
|
||||||
|
|
||||||
|
-- Put line bellow in-front of line
|
||||||
|
vim.keymap.set("n", "J", "mzJ`z")
|
||||||
|
|
||||||
|
-- Keep cursor in the middle
|
||||||
|
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
||||||
|
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
||||||
|
vim.keymap.set("n", "n", "nzzzv")
|
||||||
|
vim.keymap.set("n", "N", "Nzzzv")
|
||||||
|
|
||||||
|
-- Don't loose buffer
|
||||||
|
vim.keymap.set("x", "<leader>p", "\"_dP")
|
||||||
|
|
||||||
|
|
||||||
|
-----------------
|
||||||
|
-- Visual mode --
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
-- Hint: start visual mode with the same area as the previous area and the same mode
|
||||||
|
vim.keymap.set("v", "<", "<gv", opts)
|
||||||
|
vim.keymap.set("v", ">", ">gv", opts)
|
||||||
|
|
||||||
|
-- Move text on visual mode
|
||||||
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", opts)
|
||||||
|
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", opts)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
-- Hint: use `:h <option>` to figure out the meaning if needed
|
||||||
|
vim.opt.clipboard = "unnamedplus" -- use system clipboard
|
||||||
|
vim.opt.completeopt = {"menu", "menuone", "noselect"}
|
||||||
|
vim.opt.mouse = "a" -- allow the mouse to be used in Nvim
|
||||||
|
|
||||||
|
-- Fonts
|
||||||
|
vim.opt.encoding="utf-8"
|
||||||
|
vim.opt.guifont = "Meslo LG M Bold for Powerline:h10"
|
||||||
|
|
||||||
|
-- Tab
|
||||||
|
vim.opt.tabstop = 4 -- number of visual spaces per TAB
|
||||||
|
vim.opt.softtabstop = 4 -- number of spacesin tab when editing
|
||||||
|
vim.opt.shiftwidth = 4 -- insert 4 spaces on a tab
|
||||||
|
vim.opt.expandtab = true -- tabs are spaces, mainly because of python
|
||||||
|
|
||||||
|
-- UI config
|
||||||
|
vim.opt.number = true -- show absolute number
|
||||||
|
vim.opt.relativenumber = true -- add numbers to each line on the left side
|
||||||
|
vim.opt.cursorline = false -- highlight cursor line underneath the cursor horizontally
|
||||||
|
vim.opt.splitbelow = true -- open new vertical split bottom
|
||||||
|
vim.opt.splitright = true -- open new horizontal splits right
|
||||||
|
vim.opt.termguicolors = true -- enable 23-bit RGB color in the TUI
|
||||||
|
vim.opt.showmode = false -- we are experienced, wo don"t need the "-- INSERT --" mode hint
|
||||||
|
|
||||||
|
-- File recovery options
|
||||||
|
vim.opt.swapfile = false
|
||||||
|
vim.opt.backup = false
|
||||||
|
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
|
||||||
|
vim.opt.undofile = true
|
||||||
|
|
||||||
|
-- Color column
|
||||||
|
vim.opt.colorcolumn = "80"
|
||||||
|
|
||||||
|
-- Searching
|
||||||
|
vim.opt.incsearch = true -- search as characters are entered
|
||||||
|
vim.opt.hlsearch = false -- do not highlight matches
|
||||||
|
vim.opt.ignorecase = true -- ignore case in searches by default
|
||||||
|
vim.opt.smartcase = true -- but make it case sensitive if an uppercase is entered
|
||||||
|
|
||||||
|
-- LSP options
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_text = false
|
||||||
|
})
|
||||||
|
-- Show line diagnostics automatically in hover window
|
||||||
|
vim.o.updatetime = 250
|
||||||
|
vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Leader key
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = " "
|
||||||
|
--vim.g.maplocalleader = "\\"
|
||||||
|
|
||||||
|
-- Undotree instead of swapfile
|
||||||
|
vim.opt.swapfile = false
|
||||||
|
vim.opt.backup = false
|
||||||
|
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
|
||||||
|
vim.opt.undofile = true
|
||||||
|
|
||||||
|
-- Airline
|
||||||
|
vim.g.airline_powerline_fonts = 1
|
||||||
|
|
||||||
|
-- Zig
|
||||||
|
vim.g.zig_fmt_autosave = 1
|
||||||
|
-- Set completeopt to have a better completion experience
|
||||||
|
--set completeopt=menuone,noinsert,noselect
|
||||||
|
vim.opt.completeopt = "menuone,noinsert,noselect"
|
||||||
|
-- Enable completions as you type
|
||||||
|
vim.g.completion_enable_auto_popup = 1
|
||||||
|
|
||||||
|
-- Python
|
||||||
|
vim.g.loaded_python_provider = 0
|
||||||
|
vim.g.python3_host_prog = "/usr/local/bin/python"
|
||||||
|
|
||||||
|
-- Vimtex options:
|
||||||
|
vim.g.vimtex_view_method = "zathura"
|
||||||
|
vim.g.vimtex_general_viewer = "zathura"
|
||||||
|
vim.g.vimtex_quickfix_mode = 0
|
||||||
|
|
||||||
|
-- Ignore mappings
|
||||||
|
vim.g.vimtex_mappings_enabled = 1
|
||||||
|
|
||||||
|
---- Auto Indent
|
||||||
|
--vim.g["vimtex_indent_enabled"] = 1
|
||||||
|
|
||||||
|
---- Syntax highlighting
|
||||||
|
vim.g.vimtex_syntax_enabled = 0
|
||||||
|
|
||||||
|
-- Error suppression:
|
||||||
|
vim.g.vimtex_log_ignore = ({
|
||||||
|
"Underfull",
|
||||||
|
"Overfull",
|
||||||
|
"specifier changed to",
|
||||||
|
"Token not allowed in a PDF string",
|
||||||
|
})
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,78 @@
|
||||||
|
-- This file can be loaded by calling `lua require('plugins')` from your init.vim
|
||||||
|
|
||||||
|
-- Only required if you have packer configured as `opt`
|
||||||
|
vim.cmd [[packadd packer.nvim]]
|
||||||
|
|
||||||
|
return require('packer').startup(function(use)
|
||||||
|
-- Packer can manage itself
|
||||||
|
use 'wbthomason/packer.nvim'
|
||||||
|
|
||||||
|
-- Fuzzy Finder
|
||||||
|
use {
|
||||||
|
'nvim-telescope/telescope.nvim', tag = '0.1.2',
|
||||||
|
-- or , branch = '0.1.x',
|
||||||
|
requires = { {'nvim-lua/plenary.nvim'} }
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Colorscheme
|
||||||
|
use({
|
||||||
|
'rose-pine/neovim',
|
||||||
|
as = 'rose-pine',
|
||||||
|
config = function()
|
||||||
|
vim.cmd('colorscheme rose-pine')
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Color Coloring
|
||||||
|
use({ 'nvim-treesitter/nvim-treesitter', { run = ':TSUpdate' } })
|
||||||
|
use( 'nvim-treesitter/playground' )
|
||||||
|
|
||||||
|
-- Quick access to files
|
||||||
|
use( 'ThePrimeagen/harpoon' )
|
||||||
|
|
||||||
|
-- Recovery
|
||||||
|
use( 'mbbill/undotree' )
|
||||||
|
|
||||||
|
-- Git Status
|
||||||
|
use( 'tpope/vim-fugitive' )
|
||||||
|
|
||||||
|
-- Language Servers
|
||||||
|
use {
|
||||||
|
'VonHeikemen/lsp-zero.nvim',
|
||||||
|
branch = 'v2.x',
|
||||||
|
requires = {
|
||||||
|
-- LSP Support
|
||||||
|
{'neovim/nvim-lspconfig'}, -- Required
|
||||||
|
{ -- Optional
|
||||||
|
'williamboman/mason.nvim',
|
||||||
|
run = function()
|
||||||
|
pcall(vim.cmd, 'MasonUpdate')
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{'williamboman/mason-lspconfig.nvim'}, -- Optional
|
||||||
|
|
||||||
|
-- Autocompletion
|
||||||
|
{'hrsh7th/nvim-cmp'}, -- Required
|
||||||
|
{'hrsh7th/cmp-nvim-lsp'}, -- Required
|
||||||
|
{'L3MON4D3/LuaSnip'}, -- Required
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Latex on NVIM
|
||||||
|
use 'lervag/vimtex'
|
||||||
|
|
||||||
|
-- :FixWhitespace
|
||||||
|
use "bronson/vim-trailing-whitespace"
|
||||||
|
|
||||||
|
-- Terminal
|
||||||
|
use {"akinsho/toggleterm.nvim", tag = '*', config = function()
|
||||||
|
require("toggleterm").setup()
|
||||||
|
end}
|
||||||
|
|
||||||
|
-- Parenthesis complete
|
||||||
|
use {
|
||||||
|
"windwp/nvim-autopairs",
|
||||||
|
config = function() require("nvim-autopairs").setup {} end
|
||||||
|
}
|
||||||
|
|
||||||
|
end)
|
Loading…
Reference in New Issue