diff options
| author | Blista Kanjo | 2023-06-23 03:50:11 -0400 |
|---|---|---|
| committer | Blista Kanjo | 2023-06-23 03:50:11 -0400 |
| commit | 8a336a347a22f2be35928ed52978d3bde18be532 (patch) | |
| tree | 8e87f51f2df1a7ada1d11943a6d828463982190f /.config/nvim/init.lua.bak | |
| parent | 44436086f9b59ca01a4d3936646daecf4c83ec21 (diff) | |
added: init.lua backup file
Diffstat (limited to '.config/nvim/init.lua.bak')
| -rw-r--r-- | .config/nvim/init.lua.bak | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/.config/nvim/init.lua.bak b/.config/nvim/init.lua.bak new file mode 100644 index 0000000..4e254b3 --- /dev/null +++ b/.config/nvim/init.lua.bak @@ -0,0 +1,147 @@ +-- init.lua + +-- Use System Clipboard +-- vim.opt.clipboard = "unnamedplus" + +-- Basic run commands +vim.cmd("colorscheme tender") +vim.cmd("filetype plugin on") +vim.cmd("syntax on") +vim.opt.number = true +vim.opt.relativenumber = true +vim.opt.cursorline = true +vim.cmd("highlight Cursorline cterm=bold ctermbg=black") +vim.cmd("filetype indent on") +vim.opt.mouse = "a" +vim.opt.hlsearch = true +vim.opt.autochdir = true + +-- Enable smartcase search sensitivity +vim.opt.ignorecase = true +vim.opt.smartcase = true + +-- Indentation using spaces +-- tabstop: width of tab character +-- softtabstop: fine tunes the amount of whitespace to be added +-- shiftwidth: determines the amount of whitespace to add in normal mode +-- expandtab: when on use space instead of tab +-- textwidth: text wrap width +-- autoindent: autoindent in new line +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +-- vim.opt.textwidth = 79 +vim.opt.expandtab = true +vim.opt.autoindent = true + +-- Show the matching part of pairs [] {} and () +vim.opt.showmatch = true + +-- Remove trailing whitespace from Python and Fortran files +vim.api.nvim_exec([[ + autocmd BufWritePre *.py :%s/\s\+$//e + autocmd BufWritePre *.f90 :%s/\s\+$//e + autocmd BufWritePre *.f95 :%s/\s\+$//e + autocmd BufWritePre *.for :%s/\s\+$//e +]], false) + +if vim.fn.has('gui_running') == 1 then + vim.opt.t_Co = 256 + vim.opt.guifont = "JetBrains Mono 11" + vim.opt.guioptions:remove("m") + vim.opt.guioptions:remove("T") + vim.opt.guioptions:remove("r") + vim.opt.guioptions:remove("L") + vim.cmd("colorscheme tender") +end + +-- Enable true colors support +vim.opt.termguicolors = true + +if vim.env.TERM == "alacritty" then + vim.opt.ttymouse = "sgr" +end + +-- Keybinds for x clipboard +vim.cmd [[ + vnoremap <C-c> "+y + vmap <C-x> "+x + map <C-p> "+p + map <Leader>p "+P +]] + +-- Vertical Motions Mappings +vim.api.nvim_set_keymap("n", "<C-d>", "<C-d>zz", { noremap = true }) +vim.api.nvim_set_keymap("n", "<C-u>", "<C-u>zz", { noremap = true }) +vim.api.nvim_set_keymap("n", "n", "nzzzv", { noremap = true }) +vim.api.nvim_set_keymap("n", "N", "Nzzzv", { noremap = true }) + +-- NERDTree Keybinds +vim.api.nvim_set_keymap("n", "<leader>n", ":NERDTreeFocus<CR>", { noremap = true }) +vim.api.nvim_set_keymap("n", "<C-n>", ":NERDTree<CR>", { noremap = true }) +vim.api.nvim_set_keymap("n", "<C-t>", ":NERDTreeToggle<CR>", { noremap = true }) +vim.api.nvim_set_keymap("n", "<C-f>", ":NERDTreeFind<CR>", { noremap = true }) + +-- Plugin manager (vim-plug) +vim.cmd [[ + call plug#begin() + Plug 'https://github.com/preservim/nerdtree', { 'on': 'NERDTreeToggle' } + " Plug 'LunarWatcher/auto-pairs' + Plug 'tmsvg/pear-tree' + Plug 'https://github.com/adelarsq/vim-matchit' + Plug 'neoclide/coc.nvim', {'branch': 'release'} + Plug 'tpope/vim-surround' + Plug 'sbdchd/neoformat' + Plug 'ThePrimeagen/vim-be-good' + Plug 'junegunn/fzf' + call plug#end() +]] + +-- Use a line cursor within insert mode and a block cursor everywhere else. +-- Reference chart of values: +-- Ps = 0 -> blinking block. +-- Ps = 1 -> blinking block (default). +-- Ps = 2 -> steady block. +-- Ps = 3 -> blinking underline. +-- Ps = 4 -> steady underline. +-- Ps = 5 -> blinking bar (xterm). +-- Ps = 6 -> steady bar (xterm). +vim.g.t_SI = "\27[6 q" +vim.g.t_EI = "\27[2 q" + +-- Fix the cursor change timeout between insert and normal mode (see function above) +vim.opt.ttimeout = true +vim.opt.ttimeoutlen = 1 +vim.opt.listchars = { tab = ">-", trail = "~", extends = ">", precedes = "<", space = "." } +vim.opt.ttyfast = true + +-- Tab Autocompletion for COC.NVIM +vim.cmd [[ +function! CheckBackspace() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +inoremap <silent><expr> <TAB> + \ coc#pum#visible() ? coc#pum#next(1) : + \ CheckBackspace() ? "\<Tab>" : + \ coc#refresh() +inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>" +]] + +-- COC.NVIM colors +vim.cmd("highlight CocFloating ctermbg=0") +vim.cmd("highlight CocErrorFloat ctermfg=15") + +-- Customize split dividers +vim.opt.fillchars = vim.opt.fillchars + { + vert = "â–ˆ", + fold = "â–ˆ", + diff = "â–ˆ", + stl = "=", + stlnc = "=", + stl = "=" +} +vim.cmd("highlight VertSplit ctermfg=235 guifg=#3c3836") +vim.cmd("highlight StatusLine ctermfg=black ctermbg=lightgray") +vim.cmd("highlight StatusLineNC ctermfg=darkgray ctermbg=lightgray") |
