dotfiles/home/.config/nvim/lua/settings.lua

75 lines
1.7 KiB
Lua

local o = vim.o
local g = vim.g
-- True colors
o.termguicolors = true
-- Font for nvim GUI's
o.guifont = "Fira Code:h14"
-- Hide mouse when typing in neovide
g.neovide_hide_mouse_when_typing = true
-- Enable cursor particles in neovide
g.neovide_cursor_vfx_mode = "railgun"
-- Floating window transparency
o.winblend = 10
-- Set window title
o.title = true
o.titlestring = "NeoVim: " .. vim.fn.getcwd()
-- Diff settings
o.diffopt = "filler,internal,algorithm:histogram,indent-heuristic"
-- Allow switching buffers with unsaved changes
o.hidden = true
-- Show line numbers
o.number = true
o.guicursor = table.concat({
"i:ver1", -- Vertical bar cursor in insert mode
"a:blinkon1", -- Blinking cursor in all modes
}, ",")
-- Enable global statusline
o.laststatus = 3
o.cmdheight = 1
-- Use suda by default
g.suda_smart_edit = 1
-- Case insensitive search
o.ignorecase = true
o.smartcase = true
-- Set leader
g.mapleader = " "
-- Indentation settings
o.tabstop = 4
o.shiftwidth = 4
o.smartindent = true
-- Wayland clipboard provider that strips carriage returns (GTK3 issue).
-- This is needed because currently there's an issue where GTK3 applications on
-- Wayland contain carriage returns at the end of the lines (this is a root
-- issue that needs to be fixed).
vim.cmd([[
let g:clipboard = {
\ 'name': 'wayland-strip-carriage',
\ 'copy': {
\ '+': 'wl-copy --foreground --type text/plain',
\ '*': 'wl-copy --foreground --type text/plain --primary',
\ },
\ 'paste': {
\ '+': {-> systemlist('wl-paste --no-newline | tr -d "\r"')},
\ '*': {-> systemlist('wl-paste --no-newline --primary | tr -d "\r"')},
\ },
\ 'cache_enabled': 1,
\ }
]])