Compare commits

..

13 Commits

14 changed files with 194 additions and 317 deletions

View File

@ -1,63 +1,70 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
"arrow.nvim": { "branch": "master", "commit": "5438c977e729a29d96bd54c8da3103154e80dbd1" },
"better-escape.nvim": { "branch": "master", "commit": "199dcc2643dec5d8dbdab4ec672cf405224dcb3b" },
"blame.nvim": { "branch": "main", "commit": "39bb4cda9e658d053a43919b10ca52c0a4d738e1" },
"bookmarks.nvim": { "branch": "main", "commit": "42371a76cdd786452b537490926b1b6a041672e5" },
"ccc.nvim": { "branch": "main", "commit": "b57cbaf8db3ac43c56c9e2c7f3812944638260ed" },
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"feline.nvim": { "branch": "main", "commit": "c97c17dc56ca3cf2b9b9192c3447fc59347e8c0d" },
"fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"gitsigns.nvim": { "branch": "main", "commit": "4c40357994f386e72be92a46f41fc1664c84c87d" },
"gitsigns.nvim": { "branch": "main", "commit": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9" },
"global-note.nvim": { "branch": "main", "commit": "1e0d4bba425d971ed3ce40d182c574a25507115c" },
"go.nvim": { "branch": "master", "commit": "6ad080424f4b96a584cf591721e8e13c102cce4e" },
"go.nvim": { "branch": "master", "commit": "f058a8c622edf24d27b8ef82fabffdbbc1d55707" },
"godoc.nvim": { "branch": "main", "commit": "0163dd1f4695ef6bed8ad72336b96e08f31018a0" },
"guihua.lua": { "branch": "master", "commit": "d783191eaa75215beae0c80319fcce5e6b3beeda" },
"hardtime.nvim": { "branch": "main", "commit": "f87c86d1aa1e05dcf3c6ecd97fbfd237e2de0bf5" },
"hlsearch.nvim": { "branch": "main", "commit": "fdeb60b890d15d9194e8600042e5232ef8c29b0e" },
"indent-blankline.nvim": { "branch": "master", "commit": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78" },
"incline.nvim": { "branch": "main", "commit": "0eb5b7f6fc6636a4e7b2eb2800b7650fd6d164a2" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"iswap.nvim": { "branch": "master", "commit": "e02cc91f2a8feb5c5a595767d208c54b6e3258ec" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"leap.nvim": { "branch": "main", "commit": "346a16ef942635a8ca5ff92e603d07e7e8be6cbe" },
"lspsaga.nvim": { "branch": "main", "commit": "6063935cf68de9aa6dd79f8e1caf5df0a9385de3" },
"marks.nvim": { "branch": "master", "commit": "bb25ae3f65f504379e3d08c8a02560b76eaf91e8" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "5639d58a3d11ff7c05c8e31e159bfedae55d7961" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mellifluous.nvim": { "branch": "v1", "commit": "1637e46585435ebda7963248e0e65422effad8d9" },
"mini.nvim": { "branch": "main", "commit": "0420076298c4457f200c2de468f65d080597a347" },
"neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
"neogit": { "branch": "master", "commit": "12f78aaabb37b4946254dd5e47cf7b552904937a" },
"nvim-cmp": { "branch": "main", "commit": "c27370703e798666486e3064b64d59eaf4bdc6d5" },
"nvim-lspconfig": { "branch": "master", "commit": "fd26f8626c03b424f7140d454031d1dcb8d23513" },
"nvim-surround": { "branch": "main", "commit": "6c54643ef42016b744888b06d2381abd23f9b7ea" },
"nvim-treesitter": { "branch": "master", "commit": "38959800c2439c890e3238af559f0dc3be45e393" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "143856b1cee509a190cc8c17ddb0638002171235" },
"nvim-various-textobjs": { "branch": "main", "commit": "ea78fbdac4a2ca10e2922721233a769770afb45b" },
"nvim-web-devicons": { "branch": "master", "commit": "ab4cfee554e501f497bce0856788d43cf2eb93d7" },
"oil.nvim": { "branch": "master", "commit": "548587d68b55e632d8a69c92cefd981f360634fa" },
"neogit": { "branch": "master", "commit": "333968f8222fda475d3e4545a9b15fe9912ca26a" },
"nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
"nvim-cmp": { "branch": "main", "commit": "1e1900b0769324a9675ef85b38f99cca29e203b3" },
"nvim-lspconfig": { "branch": "master", "commit": "fb733ac734249ccf293e5c8018981d4d8f59fa8f" },
"nvim-surround": { "branch": "main", "commit": "caf6f633d4d77a29b6e265b560c5a035d171a913" },
"nvim-treesitter": { "branch": "master", "commit": "e70cb73e943db7483b0ea86a55e80d471bcb995c" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "9937e5e356e5b227ec56d83d0a9d0a0f6bc9cad4" },
"nvim-various-textobjs": { "branch": "main", "commit": "2788ce64fcfaa702ae3340180be592dfcd733c86" },
"nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" },
"oil.nvim": { "branch": "master", "commit": "ab887d926c2665a708fbe9e6c4654042cc5f4c60" },
"onenord.nvim": { "branch": "main", "commit": "af734ccc21847ce56830eed1f593ef320ffa27ff" },
"orgmode": { "branch": "master", "commit": "dafb6aa6e2e09362e304a933974c563bab0b464f" },
"orgmode": { "branch": "master", "commit": "0ebe2e3c8a24137a86ac20b9f35c2a574a71035d" },
"persisted.nvim": { "branch": "main", "commit": "b4b7a281307f8b52d47b0fd5b6798a453681d44e" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"quicker.nvim": { "branch": "master", "commit": "1798be71cdcb15fb84fa8054148a56e17fd391dc" },
"rabbit.nvim": { "branch": "master", "commit": "3a4ce048b8ecc48811d061220d0e86111adda20d" },
"slimline.nvim": { "branch": "main", "commit": "326514876f6e5c051a7a2bf1e926659a74500016" },
"sqlite.lua": { "branch": "master", "commit": "50092d60feb242602d7578398c6eb53b4a8ffe7b" },
"tardis.nvim": { "branch": "main", "commit": "a6ee00a217529490e79d349b1f1a9cf5831180d3" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "2a5ceff981501cff8f46871d5402cd3378a8ab6a" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
"telescope-git-grep.nvim": { "branch": "main", "commit": "cdd8215f15843a420b5c8e792395c403136626b6" },
"telescope-tabs": { "branch": "master", "commit": "0a678eefcb71ebe5cb0876aa71dd2e2583d27fd3" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"tree-sitter-nu": { "branch": "main", "commit": "c9f04276e6b5bbbcdba7aa1810ea621ced5bed97" },
"tmux.nvim": { "branch": "main", "commit": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"tree-sitter-nu": { "branch": "main", "commit": "c10340b5bb3789f69182acf8f34c3d4fc24d2fe1" },
"tree-sitter-templ": { "branch": "master", "commit": "7f7f06b3931ca00e8ddfbeab3fc08ad00d297fad" },
"treesj": { "branch": "main", "commit": "48c1a7539f376fd40ceb9cf12d697040fcf90649" },
"treewalker.nvim": { "branch": "main", "commit": "b9e6520a08dc8e62891dcb759fce29f988e68da9" },
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
"undotree": { "branch": "master", "commit": "76c4e32d8f1aa493bb68d4a3fcd3c700395c303c" },
"undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" },
"vim-ReplaceWithRegister": { "branch": "master", "commit": "b82bf59e5387b57d0125afb94fd7984061031136" },
"vim-dadbod": { "branch": "master", "commit": "9f0ca8bcef704659820a95c3bbd2c262583a66a1" },
"vim-dadbod-completion": { "branch": "master", "commit": "3f5783c12e184e4b6f05dfcbd7c1a6da05b4d66e" },
"vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" },
"vim-dadbod-ui": { "branch": "master", "commit": "f4d37b7312ae6489e5c04bee654ca521baac188a" },
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },

View File

@ -16,11 +16,3 @@ vim.api.nvim_create_autocmd('BufWritePre', {
group = vim.api.nvim_create_augroup('BufWriteFormat', { clear = true }),
pattern = { '*.go', '*.lua', '*.rs' },
})
vim.api.nvim_create_autocmd('ColorScheme', {
desc = 'Change feline theme',
group = vim.api.nvim_create_augroup('ChangeFelineTheme', { clear = true }),
callback = function()
require('feline').use_theme(vim.o.background)
end,
})

View File

@ -31,7 +31,7 @@ vim.wo.signcolumn = 'yes'
-- Decrease update time
vim.o.updatetime = 250
vim.o.timeoutlen = 300
vim.o.timeout = false
-- Set completeopt to have a better completion experience
vim.o.completeopt = 'menuone,noselect'
@ -52,3 +52,5 @@ vim.g.lightspeed_no_default_keymaps = true
vim.o.cursorline = true
vim.opt.foldcolumn = '1'
vim.opt.laststatus = 3

View File

@ -1,22 +0,0 @@
return {
{
"otavioschwanck/arrow.nvim",
opts = {
show_icons = true,
leader_key = '-',
buffer_leader_key = '<leader>m',
},
keys = {
{ "<leader>1", function() require("arrow.persist").go_to(1) end },
{ "<leader>2", function() require("arrow.persist").go_to(2) end },
{ "<leader>3", function() require("arrow.persist").go_to(3) end },
{ "<leader>4", function() require("arrow.persist").go_to(4) end },
{ "<leader>5", function() require("arrow.persist").go_to(5) end },
{ "<leader>6", function() require("arrow.persist").go_to(6) end },
{ "<leader>7", function() require("arrow.persist").go_to(7) end },
{ "<leader>8", function() require("arrow.persist").go_to(8) end },
{ "<leader>9", function() require("arrow.persist").go_to(9) end },
{ "<leader>0", function() require("arrow.persist").go_to(10) end },
}
}
}

View File

@ -1,18 +1,12 @@
return {
{
"LintaoAmons/bookmarks.nvim",
tag = "v0.5.3", -- optional, pin the plugin at specific version for stability
dependencies = {
{ "stevearc/dressing.nvim" } -- optional: to have the same UI shown in the GIF
},
event = 'VimEnter',
"chentoast/marks.nvim",
event = "VeryLazy",
config = true,
keys = {
{ "mm", "<cmd>BookmarksMark<cr>", mode = { "n", "v" }, desc = "Mark current line into active BookmarkList." },
{ "mo", "<cmd>BookmarksGoto<cr>", mode = { "n", "v" }, desc = "Go to bookmark at current active BookmarkList" },
{ "ma", "<cmd>BookmarksCommands<cr>", mode = { "n", "v" }, desc = "Find and trigger a bookmark command." },
{ "mg", "<cmd>BookmarksGotoRecent<cr>", mode = { "n", "v" }, desc = "Go to latest visited/created Bookmark" },
{ "ms", "<cmd>BookmarksSetActiveList<cr>", mode = { "n", "v" }, desc = "Go to latest visited/created Bookmark" },
{ '<leader>ma', '<cmd>MarksListAll<CR>' },
{ '<leader>mb', '<cmd>MarksListBuf<CR>' },
{ '<leader>mg', '<cmd>MarksListGlobal<CR>' },
},
},
{ "nvim-telescope/telescope.nvim", lazy = true },
}

View File

@ -65,4 +65,35 @@ return {
event = 'BufRead',
config = true,
},
{
'mizlan/iswap.nvim',
event = 'VeryLazy',
keys = {
{ '<leader>cs', '<cmd>ISwapWith<CR>', desc = 'I[S]wap' },
{ '<leader>cS', '<cmd>ISwap<CR>', desc = 'I[S]wapWith' },
{ '<leader>cn', '<cmd>ISwapNodeWith<CR>', desc = 'ISwap[N]ode' },
{ '<leader>cN', '<cmd>ISwapNode<CR>', desc = 'ISwap[N]ode' },
},
},
{
'aaronik/treewalker.nvim',
keys = {
{ '<leader>ch', '<cmd>Treewalker Left<CR>', desc = 'Tree Left' },
{ '<leader>cj', '<cmd>Treewalker Down<CR>', desc = 'Tree Down' },
{ '<leader>ck', '<cmd>Treewalker Up<CR>', desc = 'Tree Up' },
{ '<leader>cl', '<cmd>Treewalker Right<CR>', desc = 'Tree Right' },
{ '<leader>cJ', '<cmd>Treewalker SwapDown<CR>', desc = 'Tree Swap Down' },
{ '<leader>cK', '<cmd>Treewalker SwapUp<CR>', desc = 'Tree Swap Up' },
},
},
{
'echasnovski/mini.nvim',
version = '*',
config = function()
require('mini.ai').setup()
end
},
}

View File

@ -1,243 +0,0 @@
local function feline_config(_, opts)
local feline = require('feline')
local dark_theme = {
bg = '#5a605f',
bg2 = '#2b3231',
black = '#403833',
skyblue = '#61abda',
cyan = '#65b8c1',
fg = '#9bafac',
green = '#8bae68',
oceanblue = '#6099c0',
magenta = '#cf86c1',
orange = '#d68c67',
red = '#e8838f',
violet = '#b279a7',
white = '#b4bdc3',
yellow = '#b77e64',
}
feline.add_theme('dark', dark_theme)
local light_theme = {
bg = '#dde4e3',
bg2 = '#b3cbc8',
black = '#c4b6af',
skyblue = '#1d5573',
cyan = '#2b747c',
fg = '#2c3131',
green = '#3f5a22',
oceanblue = '#286486',
magenta = '#7b3b70',
orange = '#803d1c',
red = '#94253e',
violet = '#88507d',
white = '#4f5e68',
yellow = '#944927',
}
feline.add_theme('light', light_theme)
local statusline = require('arrow.statusline')
local vimode = require('feline.providers.vi_mode')
local c = {
vi_mode = {
provider = 'vi_mode',
hl = function()
return {
name = vimode.get_mode_highlight_name(),
fg = vimode.get_mode_color(),
bg = 'bg2',
style = 'bold',
}
end,
left_sep = {
str = ' █',
always_visible = true,
hl = {
fg = 'bg2',
},
},
right_sep = {
str = '',
always_visible = true,
hl = {
fg = 'bg2',
},
}
},
file_info = {
provider = 'file_info',
hl = {
fg = 'fg',
},
left_sep = {
str = ' ',
},
right_sep = {
str = ' ',
},
},
arrow = {
provider = function() return statusline.text_for_statusline_with_icons() end,
hl = {
fg = 'red',
style = 'bold',
},
},
file_size = {
provider = 'file_size',
hl = {
fg = 'fg',
bg = 'bg2',
style = 'bold',
},
left_sep = {
str = ' █',
always_visible = true,
hl = {
fg = 'bg2',
},
},
},
line_percentage = {
provider = 'line_percentage',
hl = {
fg = 'fg',
bg = 'bg2',
style = 'bold',
},
left_sep = {
str = '',
hl = {
fg = 'fg',
bg = 'bg2',
},
},
right_sep = {
str = '',
hl = {
fg = 'fg',
bg = 'bg2',
},
},
},
position = {
provider = 'position',
hl = {
fg = 'fg',
bg = 'bg2',
style = 'bold',
},
right_sep = {
str = '█ ',
always_visible = true,
hl = {
fg = 'bg2',
},
}
},
diagnostic_errors = {
provider = 'diagnostic_errors',
hl = {
fg = 'red',
},
},
diagnostic_warnings = {
provider = 'diagnostic_warnings',
hl = {
fg = 'yellow',
},
},
diagnostic_hints = {
provider = 'diagnostic_hints',
hl = {
fg = 'cyan',
},
},
diagnostic_info = {
provider = 'diagnostic_info',
hl = {
fg = 'skyblue',
},
},
git_diff_added = {
provider = 'git_diff_added',
hl = {
fg = 'green',
},
},
git_diff_removed = {
provider = 'git_diff_removed',
hl = {
fg = 'red',
},
},
git_diff_changed = {
provider = 'git_diff_changed',
hl = {
fg = 'yellow',
},
},
git_branch = {
provider = 'git_branch',
hl = {
fg = 'fg',
bg = 'bg2',
style = 'bold',
},
left_sep = {
str = ' █',
hl = {
fg = 'bg2',
},
},
right_sep = {
str = '',
hl = {
fg = 'bg2',
},
}
},
}
local active = {
{
c.vi_mode,
c.file_info,
c.arrow,
c.file_size,
c.line_percentage,
c.position,
c.diagnostic_errors,
c.diagnostic_warnings,
c.diagnostic_info,
c.diagnostic_hints,
},
{
c.git_diff_added,
c.git_diff_removed,
c.git_diff_changed,
c.git_branch,
},
}
local inactive = {
{
c.file_info,
},
{},
}
opts.components = { active = active, inactive = inactive }
feline.setup(opts)
feline.use_theme(require('lupan.utils').terminalbg())
end
return {
-- Statusline
'freddiehaddad/feline.nvim',
opts = {},
config = feline_config,
}

View File

@ -7,7 +7,7 @@ return {
delete_to_trash = true,
},
keys = {
{ "<leader>-", "<cmd>Oil --float<CR>", desc = "Open parent directory" },
{ "<leader>-", "<cmd>Oil<CR>", desc = "Open parent directory" },
},
},
}

View File

@ -0,0 +1,7 @@
return {
{
"m4xshen/hardtime.nvim",
dependencies = { "MunifTanjim/nui.nvim" },
opts = {}
},
}

View File

@ -0,0 +1,15 @@
return {
{
"sschleemilch/slimline.nvim",
opts = {}
},
{
'b0o/incline.nvim',
config = function()
require('incline').setup()
end,
-- Optional: Lazy load Incline
event = 'VeryLazy',
},
}

View File

@ -0,0 +1,33 @@
local function rabbit_select(n)
require('rabbit').Switch('harpoon').func.select(n)
end
return {
'VoxelPrismatic/rabbit.nvim',
event = 'VeryLazy',
opts = {
window = {
float = 'center',
plugin_name_position = 'title',
},
default_keys = {
open = { '-', '<leader>;' },
},
plugin_opts = {
history = { switch = ';' },
harpoon = { switch = 'f' },
},
},
keys = {
{ '<leader>1', function() rabbit_select(1) end },
{ '<leader>2', function() rabbit_select(2) end },
{ '<leader>3', function() rabbit_select(3) end },
{ '<leader>4', function() rabbit_select(4) end },
{ '<leader>5', function() rabbit_select(5) end },
{ '<leader>6', function() rabbit_select(6) end },
{ '<leader>7', function() rabbit_select(7) end },
{ '<leader>8', function() rabbit_select(8) end },
{ '<leader>9', function() rabbit_select(9) end },
{ '<leader>0', function() rabbit_select(10) end },
},
}

View File

@ -0,0 +1,25 @@
return {
{
'aserowy/tmux.nvim',
opts = {
navigation = {
enable_default_keybindings = false,
},
resize = {
enable_default_keybindings = false,
},
},
keys = {
{ '<M-h>', [[<cmd>lua require("tmux").move_left()<cr>]] },
{ '<M-j>', [[<cmd>lua require("tmux").move_bottom()<cr>]] },
{ '<M-k>', [[<cmd>lua require("tmux").move_top()<cr>]] },
{ '<M-l>', [[<cmd>lua require("tmux").move_right()<cr>]] },
{ '<M-n>', [[<cmd>lua require("tmux").next_window()<cr>]] },
{ '<M-p>', [[<cmd>lua require("tmux").previous_window()<cr>]] },
{ '<M-H>', [[<cmd>lua require("tmux").resize_left()<cr>]] },
{ '<M-J>', [[<cmd>lua require("tmux").resize_bottom()<cr>]] },
{ '<M-K>', [[<cmd>lua require("tmux").resize_top()<cr>]] },
{ '<M-L>', [[<cmd>lua require("tmux").resize_right()<cr>]] },
},
},
}

View File

@ -0,0 +1,9 @@
return {
'akinsho/toggleterm.nvim',
version = '*',
config = true,
keys = {
{ '<F2>', '<cmd>ToggleTerm size=25<CR>', mode = { 'n', 'i', 't', }, },
{ '<C-w>', [[<C-\><C-n><C-w>]], mode = 't' },
}
}

View File

@ -3,15 +3,6 @@ set -g status-fg colour7
set -sg escape-time 0
bind-key -n M-j select-pane -D
bind-key -n M-k select-pane -U
bind-key -n M-h select-pane -L
bind-key -n M-l select-pane -R
bind-key -n M-J switch-client -n
bind-key -n M-K switch-client -p
bind-key -n M-H previous-window
bind-key -n M-L next-window
bind-key -n M-1 select-window -t 1
bind-key -n M-2 select-window -t 2
bind-key -n M-3 select-window -t 3
@ -56,3 +47,39 @@ set -g status-left " #[fg=green]#[bg=green]#[fg=black] #H #[bg=default]#[fg=g
set -g status-left-length 50
set -g status-right "#[fg=green]#[bg=green]#[fg=black] %H:%M #[bg=default]#[fg=green] "
set-window-option -g window-status-current-format '#[fg=green]#[bg=green]#[fg=black] #I:#W#F #[fg=green]#[bg=black]'
is_vim="ps -o state= -o comm= -t '#{pane_tty}' | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?\.?(view|n?vim?x?)(-wrapped)?(diff)?$'"
bind-key -n 'M-h' if-shell "$is_vim" 'send-keys M-h' 'select-pane -L'
bind-key -n 'M-j' if-shell "$is_vim" 'send-keys M-j' 'select-pane -D'
bind-key -n 'M-k' if-shell "$is_vim" 'send-keys M-k' 'select-pane -U'
bind-key -n 'M-l' if-shell "$is_vim" 'send-keys M-l' 'select-pane -R'
bind-key -n 'M-n' if-shell "$is_vim" 'send-keys M-n' 'select-window -n'
bind-key -n 'M-p' if-shell "$is_vim" 'send-keys M-p' 'select-window -p'
bind-key -T copy-mode-vi 'M-h' select-pane -L
bind-key -T copy-mode-vi 'M-j' select-pane -D
bind-key -T copy-mode-vi 'M-k' select-pane -U
bind-key -T copy-mode-vi 'M-l' select-pane -R
bind-key -T copy-mode-vi 'M-n' select-window -n
bind-key -T copy-mode-vi 'M-p' select-window -p
bind -n 'M-H' if-shell "$is_vim" 'send-keys M-H' 'resize-pane -L 1'
bind -n 'M-J' if-shell "$is_vim" 'send-keys M-J' 'resize-pane -D 1'
bind -n 'M-K' if-shell "$is_vim" 'send-keys M-K' 'resize-pane -U 1'
bind -n 'M-L' if-shell "$is_vim" 'send-keys M-L' 'resize-pane -R 1'
bind-key -T copy-mode-vi M-H resize-pane -L 1
bind-key -T copy-mode-vi M-J resize-pane -D 1
bind-key -T copy-mode-vi M-K resize-pane -U 1
bind-key -T copy-mode-vi M-L resize-pane -R 1
bind -n 'C-M-h' if-shell "$is_vim" 'send-keys C-M-h' 'swap-pane -s "{left-of}"'
bind -n 'C-M-j' if-shell "$is_vim" 'send-keys C-M-j' 'swap-pane -s "{down-of}"'
bind -n 'C-M-k' if-shell "$is_vim" 'send-keys C-M-k' 'swap-pane -s "{up-of}"'
bind -n 'C-M-l' if-shell "$is_vim" 'send-keys C-M-l' 'swap-pane -s "{right-of}"'
bind-key -T copy-mode-vi C-M-h swap-pane -s "{left-of}"
bind-key -T copy-mode-vi C-M-j swap-pane -s "{down-of}"
bind-key -T copy-mode-vi C-M-k swap-pane -s "{up-of}"
bind-key -T copy-mode-vi C-M-l swap-pane -s "{right-of}"