dotfiles/nvim/.config/nvim/init.lua
Sanchayan Maity a64baccca1
nvim: Reintroduce clipboard settings
clipboard support just seems to be completely flaky right now. Add
previous settings but instead of tmux specific commands use wayland
clipboard tools.

This should make it work everywhere. One downside of this setting is
we go back to polluting system clipboard every time & does not really
matter if we copy to + or * register. Both will result in a call to
wl-copy.
2023-01-19 14:15:13 +05:30

122 lines
3.3 KiB
Lua

vim.o.updatetime = 100
vim.o.scrolloff = 3
vim.o.sidescrolloff = 5
vim.o.textwidth = 78
vim.o.linespace = 0
vim.o.showmatch = true
vim.o.modeline = true
vim.o.showmode = false
vim.o.splitbelow = true
vim.o.splitright = true
vim.o.foldenable = false
vim.o.undofile = true
vim.o.autochdir = false
vim.o.startofline = false
vim.o.ignorecase = true
vim.o.smartcase = true
vim.o.magic = true
vim.o.termguicolors = true
vim.o.fileformat = 'unix'
vim.o.inccommand = 'split'
vim.o.mouse = ''
vim.o.completeopt = 'menuone,noselect'
vim.o.wildmode = 'longest:full,full'
vim.o.wildoptions = 'pum'
vim.o.pumblend = 30
vim.o.backup = false
vim.o.writebackup = false
vim.o.swapfile = false
vim.o.sessionoptions = 'buffers,curdir,tabpages,winsize'
vim.o.shada = ''
vim.o.diffopt = 'filler,internal,algorithm:histogram,indent-heuristic,closeoff,linematch:60'
vim.o.scrolloff = 999
vim.o.formatoptions = "crqn1j"
vim.o.signcolumn = "auto:1-2"
vim.o.spelllang = "en_gb"
vim.o.spelloptions = "camel,noplainbuffer"
vim.o.spell = true
-- Disable providers we do not give a shit about
vim.g.loaded_python3_provider = 0
vim.g.loaded_python_provider = 0
vim.g.loaded_ruby_provider = 0
vim.g.loaded_perl_provider = 0
vim.g.loaded_node_provider = 0
-- Disable some in built plugins completely
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.g.loaded_matchparen = 1
vim.g.loaded_matchit = 1
vim.g.loaded_2html_plugin = 1
vim.g.loaded_getscriptPlugin = 1
vim.g.loaded_gzip = 1
vim.g.loaded_logipat = 1
vim.g.loaded_rrhelper = 1
vim.g.loaded_spellfile_plugin = 1
vim.g.loaded_tarPlugin = 1
vim.g.loaded_vimballPlugin = 1
vim.g.loaded_zipPlugin = 1
-- Map leader
vim.g.mapleader = " "
vim.g.maplocalleader = ","
-- dispatch
vim.g.dispatch_no_maps = 1
-- vim-matchup
vim.g.matchup_matchparen_offscreen = {}
vim.g.matchup_surround_enabled = 1
-- textobj-word-column
vim.g.textobj_wordcolumn_no_default_key_mappings = 1
-- See :help clipboard and https://github.com/neovim/neovim/issues/14545
vim.g.clipboard = {
name = "clipboard",
copy = {
["+"] = "wl-copy",
["*"] = "wl-copy"
},
paste = {
["+"] = "wl-paste",
["*"] = "wl-paste"
},
cache_enabled = true
}
-- No default mappings for tmux navigator
vim.g.tmux_navigator_no_mappings = 1
-- Write the current buffer, but only if changed before navigating from Vim to tmux pane
vim.g.tmux_navigator_save_on_switch = 1
-- Enable bundled TS parsers
vim.g.ts_highlight_lua = true
-- We do this to prevent the loading of the system fzf.vim plugin. This is
-- present at least on Arch/Manjaro
vim.cmd.set{ args = { 'rtp-=/usr/share/vim/vimfiles' } }
-- Disable virtual text for all diagnostics
vim.diagnostic.config({
underline = true,
signs = true,
virtual_text = false,
update_in_insert = false,
severity_sort = true,
float = {
header = false,
source = 'always',
border = 'rounded',
focusable = false,
},
})
require 'plugins'
require 'autocmd'
require 'keymappings'
require 'lsp'
-- Load our custom color scheme
vim.cmd.colorscheme('yolokai')