feat(nvim): Set some keymaps and specify options
This commit is contained in:
parent
26e4b3ad6e
commit
877b1d6303
2 changed files with 83 additions and 3 deletions
|
@ -1,3 +1,42 @@
|
||||||
-- Keymaps are automatically loaded on the VeryLazy event
|
-- Keymaps are automatically loaded on the VeryLazy event
|
||||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
-- Default keymaps that are always set:
|
||||||
|
-- https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||||
-- Add any additional keymaps here
|
-- Add any additional keymaps here
|
||||||
|
|
||||||
|
-- copied from LazyVim
|
||||||
|
local function map(mode, lhs, rhs, opts)
|
||||||
|
local keys = require("lazy.core.handler").handlers.keys
|
||||||
|
---@cast keys LazyKeysHandler
|
||||||
|
-- do not create the keymap if a lazy keys handler exists
|
||||||
|
if not keys.active[keys.parse({ lhs, mode = mode }).id] then
|
||||||
|
opts = opts or {}
|
||||||
|
opts.silent = opts.silent ~= false
|
||||||
|
if opts.remap and not vim.g.vscode then
|
||||||
|
opts.remap = nil
|
||||||
|
end
|
||||||
|
vim.keymap.set(mode, lhs, rhs, opts)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- I fatfinger these often, but i'm not using their functionality. Just NOP them
|
||||||
|
map("n", "Q", "<nop>")
|
||||||
|
map("n", "@", "<nop>")
|
||||||
|
|
||||||
|
-- move when highlighted
|
||||||
|
map("v", "J", ":m '>+1<CR>gv=gv")
|
||||||
|
map("v", "K", ":m '<-2<CR>gv=gv")
|
||||||
|
|
||||||
|
-- keep cursor in the middle while jumping
|
||||||
|
map("n", "<C-d>", "<C-d>zz")
|
||||||
|
map("n", "<C-u>", "<C-u>zz")
|
||||||
|
map("n", "n", "nzzzv")
|
||||||
|
map("n", "N", "Nzzzv")
|
||||||
|
|
||||||
|
-- delete to void bindings
|
||||||
|
map("n", "<leader>d", '"_d')
|
||||||
|
map("v", "<leader>d", '"_d')
|
||||||
|
|
||||||
|
-- yank and paste to system clipboard
|
||||||
|
map("n", "<leader>y", '"+y')
|
||||||
|
map("v", "<leader>y", '"+y')
|
||||||
|
map("n", "<leader>Y", '"+Y')
|
||||||
|
|
|
@ -1,5 +1,46 @@
|
||||||
-- Options are automatically loaded before lazy.nvim startup
|
-- Options are automatically loaded before lazy.nvim startup
|
||||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||||
-- Add any additional options here
|
-- Add any additional options here
|
||||||
vim.opt.wrap = true
|
|
||||||
vim.opt.langmap = "ü[,+]"
|
local opt = vim.opt
|
||||||
|
|
||||||
|
vim.g.loaded_perl_provider = 0
|
||||||
|
vim.g.loaded_python3_provider = 0
|
||||||
|
vim.g.loaded_node_provider = 0
|
||||||
|
vim.g.loaded_ruby_provider = 0
|
||||||
|
|
||||||
|
-- just QWERTZ things
|
||||||
|
opt.langmap = "ü[,+]"
|
||||||
|
|
||||||
|
-- don't use system clipboard by default (this is set in LazyVim's defaults)
|
||||||
|
opt.clipboard = ""
|
||||||
|
|
||||||
|
opt.hlsearch = false
|
||||||
|
opt.incsearch = true
|
||||||
|
|
||||||
|
opt.scrolloff = 8
|
||||||
|
|
||||||
|
-- disable mouse support, because i'm using it more accidentally then intentionally
|
||||||
|
-- TODO figure out how to disable mouse scrolling from terminal
|
||||||
|
opt.mouse = ""
|
||||||
|
opt.mousescroll = "ver:0,hor:0"
|
||||||
|
|
||||||
|
-- I like 4 space indents
|
||||||
|
opt.tabstop = 4
|
||||||
|
opt.softtabstop = 4
|
||||||
|
opt.shiftwidth = 4
|
||||||
|
opt.expandtab = true
|
||||||
|
|
||||||
|
opt.swapfile = false
|
||||||
|
opt.backup = false
|
||||||
|
opt.undodir = os.getenv("HOME") .. "/.local/state/nvim/undodir"
|
||||||
|
opt.undofile = true
|
||||||
|
|
||||||
|
-- In my current setup 100 characters line length means that i can have 2 windows side-by-side with
|
||||||
|
-- sway and still see all characters of that line. (110 would be the absolute maximum)
|
||||||
|
-- I want to rely on textwrap as few as possible
|
||||||
|
opt.colorcolumn = "100"
|
||||||
|
opt.wrap = true
|
||||||
|
|
||||||
|
-- This allows '@' in filenames
|
||||||
|
opt.isfname:append("@-@")
|
||||||
|
|
Loading…
Add table
Reference in a new issue