Skip to content

Commit

Permalink
feat(keymaps): window movement in non-tmux shell
Browse files Browse the repository at this point in the history
  • Loading branch information
rafi committed May 17, 2024
1 parent 4cf3fa4 commit d86231c
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 25 deletions.
15 changes: 14 additions & 1 deletion lua/rafi/config/keymaps.lua
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,19 @@ else
map('n', '<C-Right>', '<cmd>vertical resize +2<cr>', { desc = 'Increase Window Width' })
end

if not vim.env.TMUX or vim.uv.os_uname().sysname == 'Windows_NT' then
-- Move to window using the <ctrl> hjkl keys
map('n', '<C-h>', '<C-w>h', { desc = 'Go to Left Window', remap = true })
map('n', '<C-j>', '<C-w>j', { desc = 'Go to Lower Window', remap = true })
map('n', '<C-k>', '<C-w>k', { desc = 'Go to Upper Window', remap = true })
map('n', '<C-l>', '<C-w>l', { desc = 'Go to Right Window', remap = true })
-- Terminal Mappings
map('t', '<C-h>', '<cmd>wincmd h<cr>', { desc = 'Go to Left Window' })
map('t', '<C-j>', '<cmd>wincmd j<cr>', { desc = 'Go to Lower Window' })
map('t', '<C-k>', '<cmd>wincmd k<cr>', { desc = 'Go to Upper Window' })
map('t', '<C-l>', '<cmd>wincmd l<cr>', { desc = 'Go to Right Window' })
end

-- Easier line-wise movement
map('n', 'gh', 'g^', { desc = 'Jump to first screen character' })
map('n', 'gl', 'g$', { desc = 'Jump to last screen character' })
Expand Down Expand Up @@ -142,7 +155,7 @@ local diagnostic_goto = function(next, severity)
go({ severity = severity_int })
end
end

map('n', '<Leader>ce', vim.diagnostic.open_float, { desc = 'Line Diagnostics' })
map('n', ']d', diagnostic_goto(true), { desc = 'Next Diagnostic' })
map('n', '[d', diagnostic_goto(false), { desc = 'Prev Diagnostic' })
map('n', ']e', diagnostic_goto(true, 'ERROR'), { desc = 'Next Error' })
Expand Down
7 changes: 1 addition & 6 deletions lua/rafi/plugins/lsp/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -120,14 +120,9 @@ return {
-- Setup autoformat
LazyVim.format.register(LazyVim.lsp.formatter())

-- Setup formatting, keymaps and highlights.
-- Setup keymaps.
LazyVim.lsp.on_attach(function(client, buffer)
require('rafi.plugins.lsp.keymaps').on_attach(client, buffer)
local filter = { bufnr = buffer }
if not vim.diagnostic.is_enabled(filter) or vim.bo[buffer].buftype ~= '' then
vim.diagnostic.enable(false, filter)
return
end
end)

local register_capability = vim.lsp.handlers['client/registerCapability']
Expand Down
32 changes: 15 additions & 17 deletions lua/rafi/plugins/lsp/keymaps.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,23 @@ function M.get()
---@class PluginLspKeys
-- stylua: ignore
M._keys = {
{ 'gr', vim.lsp.buf.references, desc = 'References' },
{ 'gd', vim.lsp.buf.definition, desc = 'Goto Definition', has = 'definition' },
{ 'gr', vim.lsp.buf.references, desc = 'References' },
{ 'gD', vim.lsp.buf.declaration, desc = 'Goto Declaration' },
{ 'gI', vim.lsp.buf.implementation, desc = 'Goto Implementation' },
{ 'gy', vim.lsp.buf.type_definition, desc = 'Goto Type Definition' },
{ 'gK', vim.lsp.buf.signature_help, desc = 'Signature Help' },

{ '<Leader>fwa', vim.lsp.buf.add_workspace_folder, desc = 'Show Workspace Folders' },
{ '<Leader>fwr', vim.lsp.buf.remove_workspace_folder, desc = 'Remove Workspace Folder' },
{ '<Leader>fwl', '<cmd>lua =vim.lsp.buf.list_workspace_folders()<CR>', desc = 'List Workspace Folders' },
{ '<Leader>ca', vim.lsp.buf.code_action, mode = { 'n', 'x' }, has = 'codeAction', desc = 'Code Action' },
{ '<leader>cc', vim.lsp.codelens.run, desc = 'Run Codelens', mode = { 'n', 'x' }, has = 'codeLens' },
{ '<leader>cC', vim.lsp.codelens.refresh, desc = 'Refresh & Display Codelens', mode = { 'n' }, has = 'codeLens' },
{ '<Leader>cA', function()
vim.lsp.buf.code_action({
context = {
only = { 'source' },
diagnostics = {},
},
})
end, desc = 'Source Action', has = 'codeAction' },

{ 'K', function()
-- Show hover documentation or folded lines.
Expand All @@ -39,18 +46,9 @@ function M.get()
{ '<leader>csf', M.formatter_select, mode = { 'n', 'x' }, desc = 'Formatter Select' },
{ '<Leader>csi', vim.lsp.buf.incoming_calls, desc = 'Incoming calls' },
{ '<Leader>cso', vim.lsp.buf.outgoing_calls, desc = 'Outgoing calls' },
{ '<Leader>ce', vim.diagnostic.open_float, desc = 'Open diagnostics' },
{ '<leader>cc', vim.lsp.codelens.run, desc = 'Run Codelens', mode = { 'n', 'v' }, has = 'codeLens' },
{ '<leader>cC', vim.lsp.codelens.refresh, desc = 'Refresh & Display Codelens', mode = { 'n' }, has = 'codeLens' },
{ '<Leader>ca', vim.lsp.buf.code_action, mode = { 'n', 'x' }, has = 'codeAction', desc = 'Code Action' },
{ '<Leader>cA', function()
vim.lsp.buf.code_action({
context = {
only = { 'source' },
diagnostics = {},
},
})
end, desc = 'Source Action', has = 'codeAction' },
{ '<Leader>fwa', vim.lsp.buf.add_workspace_folder, desc = 'Show Workspace Folders' },
{ '<Leader>fwr', vim.lsp.buf.remove_workspace_folder, desc = 'Remove Workspace Folder' },
{ '<Leader>fwl', '<cmd>lua =vim.lsp.buf.list_workspace_folders()<CR>', desc = 'List Workspace Folders' },
}
if LazyVim.has('inc-rename.nvim') then
M._keys[#M._keys + 1] = {
Expand Down
2 changes: 1 addition & 1 deletion lua/rafi/plugins/telescope.lua
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ return {
{ '<localleader>p', '<cmd>Telescope pickers<CR>', desc = 'Pickers' },
{ '<localleader>f', '<cmd>Telescope find_files<CR>', desc = 'Find Files' },
{ '<localleader>g', '<cmd>Telescope live_grep<CR>', desc = 'Grep' },
{ '<localleader>b', '<cmd>Telescope buffers sort_mru=true sort_lastused=true<CR>', desc = 'Buffers' },
{ '<localleader>b', '<cmd>Telescope buffers<CR>', desc = 'Buffers' },
{ '<localleader>h', '<cmd>Telescope highlights<CR>', desc = 'Highlights' },
{ '<localleader>j', '<cmd>Telescope jumplist<CR>', desc = 'Jump List' },
{ '<localleader>m', '<cmd>Telescope marks<CR>', desc = 'Marks' },
Expand Down

0 comments on commit d86231c

Please sign in to comment.