46 lines
1.7 KiB
Lua
46 lines
1.7 KiB
Lua
vim.g.mapleader = ' '
|
|
|
|
-- Quick write
|
|
vim.keymap.set('n', '<leader>w', ':w!<CR>', {noremap = true})
|
|
|
|
-- Treat long lines as line containing breaks
|
|
vim.keymap.set('n', 'j', 'gj', {noremap = true})
|
|
vim.keymap.set('n', 'k', 'gk', {noremap = true})
|
|
|
|
vim.keymap.set('n', '<leader>tn', ':tabnew<Space>', {noremap = true})
|
|
vim.keymap.set('n', '<leader>tc', ':tabclose<CR>', {noremap = true})
|
|
vim.keymap.set('n', '<leader>to', ':tabonly<CR>', {noremap = true})
|
|
vim.keymap.set('n', '<leader>tm', ':tabmove<Space>', {noremap = true})
|
|
|
|
-- Quickly access spelling menu
|
|
vim.keymap.set('i', '<C-s>', '<C-g>u<C-X>s', {noremap = true})
|
|
vim.keymap.set('n', '<C-s>', 'i<C-g>u<C-X>s', {noremap = true})
|
|
|
|
-- Clear search highlights
|
|
vim.keymap.set('n', '<leader><Space>', ':nohlsearch<CR>', {noremap = true})
|
|
|
|
-- Disable 'Q' from opening Ex mode
|
|
vim.keymap.set('n', 'Q', '<nop>', {noremap = true})
|
|
|
|
-- Yank and put mappings
|
|
-- TODO: This doesn't handle all use cases, only the basics. For example,
|
|
-- this doesn't handle a local tmux session with a remote nvim in a pane.
|
|
-- if tmux#isOption('set-clipboard', 'on') || $SSH_CONNECTION !=# ''
|
|
-- " When connected to a remote session the + selection register is not
|
|
-- " available and the unnamed register is used instead. Add mappings using the
|
|
-- " z register instead.
|
|
-- noremap <leader>y "zy
|
|
-- noremap <leader>Y "zY
|
|
-- " Enable OSC 52 copy on yank.
|
|
-- call osc52#autocmd()
|
|
-- else
|
|
-- System clipboard yank/put
|
|
vim.keymap.set('', '<leader>y', '"+y', { noremap = true })
|
|
vim.keymap.set('', '<leader>Y', '"+Y', { noremap = true })
|
|
vim.keymap.set('', '<leader>p', '"+p', { noremap = true })
|
|
vim.keymap.set('', '<leader>P', '"+P', { noremap = true })
|
|
-- end
|
|
|
|
-- Undo neovim's default mapping of Y to y$
|
|
vim.cmd('unmap Y')
|