return { "alexghergh/nvim-tmux-navigation", config = function() local plugin = require('nvim-tmux-navigation') plugin.setup({ disable_when_zoomed = true, }) -- Integrate tmux navigation flag local navigation_flag = '@vim' .. vim.fn.substitute(vim.env.TMUX_PANE, '%', '\\%', 'g') local function set_navigation_flag() vim.fn.system('tmux set-window-option ' .. navigation_flag .. ' 1') end local function unset_navigation_flag() vim.fn.system('tmux set-window-option -u ' .. navigation_flag) end -- [Un]set tmux window option to detect when to change pane. set_navigation_flag() local augroup = vim.api.nvim_create_augroup('tmux', { clear = true }) vim.api.nvim_create_autocmd('FocusGained', { pattern = '*', group = augroup, callback = set_navigation_flag, }) vim.api.nvim_create_autocmd('VimLeave', { pattern = '*', group = augroup, callback = unset_navigation_flag, }) -- Map nativation bindings vim.keymap.set('n', "", plugin.NvimTmuxNavigateLeft) vim.keymap.set('n', "", plugin.NvimTmuxNavigateDown) vim.keymap.set('n', "", plugin.NvimTmuxNavigateUp) vim.keymap.set('n', "", plugin.NvimTmuxNavigateRight) end }