Added some simple key mappings
Simple buffer-based "auto" complete Auto-trim trailing whitespace on write
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
local MAP = vim.keymap.set
|
||||
local AUTOCMD = vim.api.nvim_create_autocmd
|
||||
|
||||
vim.cmd("colorscheme scheme")
|
||||
vim.cmd("filetype indent on")
|
||||
|
||||
@@ -52,4 +55,46 @@ vim.opt.formatoptions:append("/")
|
||||
vim.opt.cinkeys:append("0=break")
|
||||
vim.opt.listchars:append({ lead = "." })
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- Functions
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
-- Buffers
|
||||
|
||||
local function BufferComplete()
|
||||
local pos = vim.api.nvim_win_get_cursor(0)
|
||||
local line = vim.fn.getline('.')
|
||||
local ident = line:sub(1, pos[2]):match("[^ \t]*$")
|
||||
|
||||
return #ident ~= 0 and "<C-P>" or "<Tab>"
|
||||
end
|
||||
|
||||
local function TrimBuffer()
|
||||
local view = vim.fn.winsaveview()
|
||||
vim.cmd("%s/\\s\\+$//e")
|
||||
vim.fn.winrestview(view)
|
||||
end
|
||||
|
||||
-- Input mappings
|
||||
|
||||
vim.g.mapleader = " "
|
||||
|
||||
MAP("n", "<A-j>", "mz:m+<CR>")
|
||||
MAP("n", "<A-k>", "mz:m-2<CR>")
|
||||
MAP("n", "<Esc>", ":nohl<CR>")
|
||||
MAP("n", "<Leader>n", ":cnext<CR>")
|
||||
MAP("n", "<Leader>N", ":cprev<CR>")
|
||||
MAP("n", "J", "}")
|
||||
MAP("v", "J", "}")
|
||||
MAP("n", "K", "{")
|
||||
MAP("v", "K", "{")
|
||||
MAP("n", "<Leader>k", ":Man<CR>")
|
||||
MAP("i", "<S-Tab>", "<C-o><<")
|
||||
MAP("i", "<Tab>", BufferComplete, { expr = true })
|
||||
|
||||
-- Autocommands
|
||||
|
||||
AUTOCMD('BufEnter', { command = "let b:man_default_sects=\"2,3\"", pattern = "*.c" })
|
||||
AUTOCMD('BufReadPost', { command = "setlocal nornu", pattern = "quickfix" })
|
||||
|
||||
AUTOCMD('BufWritePre', { callback = TrimBuffer, pattern = "*" })
|
||||
|
||||
Reference in New Issue
Block a user