local utils = require('utils') vim.g.mapleader = ',' -- Paste from clipboard utils.map('n', 'p', '"+p') utils.map('n', 'P', '"+P') utils.map('v', 'p', '"+p') utils.map('v', 'P', '"+P') -- Yank to clipboard utils.map('v', 'y', '"+y') utils.map('n', 'Y', '"+yg_') utils.map('n', 'y', '"+y') utils.map('n', 'yy', '"+yy') -- Tabs utils.map('n', '', ':tabnew .', { noremap = true, silent = true }) utils.map('i', '', ':tabnew .', { noremap = true, silent = true }) -- utils.map('n', '', ':BufferLineCycleNext') -- utils.map('n', '', ':BufferLineCyclePrev') utils.map('n', '', ':tabnext', { noremap = true, silent = true }) utils.map('n', '', ':tabprevious', { noremap = true, silent = true }) -- Split movement utils.map('n', '', ':wincmd k', { noremap = true, silent = true }) utils.map('n', '', ':wincmd j', { noremap = true, silent = true }) utils.map('n', '', ':wincmd h', { noremap = true, silent = true }) utils.map('n', '', ':wincmd l', { noremap = true, silent = true }) -- Open a new vertical split window with Ctrl - F2 utils.map('n', '', ':vsplit .', { noremap = true, silent = true }) utils.map('i', '', ':vsplit .', { noremap = true, silent = true }) -- Open a new horizontal split window with Shift - F2 utils.map('n', '', ':split .', { noremap = true, silent = true }) utils.map('i', '', ':split .', { noremap = true, silent = true }) utils.map('n', '', ':wa') -- Linewrap and jumping utils.map('n', 'k', 'gk') utils.map('n', 'j', 'gj') utils.map('n', '0', 'g0') utils.map('n', '$', 'g$') utils.map('n', '', 'gk') utils.map('n', '', 'gj') utils.map('n', '', 'g') utils.map('n', '', 'g') utils.map('v', 'k', 'gk') utils.map('v', 'j', 'gj') utils.map('v', '0', 'g0') utils.map('v', '$', 'g$') utils.map('v', '', 'gk') utils.map('v', '', 'gj') utils.map('v', '', 'g') utils.map('v', '', 'g') utils.map('v', '<', '', '>gv') -- Highlight word under cursor utils.map('n', 'ü', ":let @/='\\<=expand(\"\")\\>':set hls", { noremap = true, silent = true }) utils.map('v', 'ü', "y:let @/='=escape(@\",'/\\')':set hls") utils.map('v', 'ü', "y:let @/='=escape(@\",'/\\')':set hls", { noremap = true, silent = true }) -- Close Buffer utils.map('n', '', ':bd') -- to navigate the completion menu utils.map('i', '', 'pumvisible() ? "\\" : "\\"', {expr = true}) utils.map('i', '', 'pumvisible() ? "\\" : "\\"', {expr = true}) -- Telescope utils.map('n', 'f', 'Telescope find_files') utils.map('n', '', 'Telescope find_files') utils.map('n', 'g', 'Telescope git_files') utils.map('n', 'o', 'Telescope oldfiles') utils.map('n', 'h', 'Telescope command_history') utils.map('v', 'h', 'Telescope command_history') utils.map('n', '', 'Telescope commands') utils.map('n', 'b', 'Telescope buffers') utils.map('n', 'q', 'Telescope quickfix') utils.map('n', 'l', 'Telescope live_grep') utils.map('n', 'r', 'Telescope lsp_references') utils.map('n', '', 'Telescope lsp_document_symbols') utils.map('n', '', 'Telescope lsp_document_symbols') utils.map('n', 'v', 'Telescope lsp_document_diagnostics') utils.map('n', '', 'Telescope neoclip') -- wildmode utils.map('c', '', 'wildmenumode() ? "\\" : "\\"', {expr = true}) utils.map('c', '', 'wildmenumode() ? "\\" : "\\"', {expr = true}) utils.map('c', '', 'wildmenumode() ? "\\" : "\\"', {expr = true}) utils.map('c', '', 'wildmenumode() ? "\\\\" : "\\"', {expr = true}) utils.map('c', '', 'wildmenumode() ? "\\\\" : "\\"', {expr = true}) -- Symbols Outline utils.map('n', 's', 'SymbolsOutline')