summaryrefslogtreecommitdiff
path: root/ar/.config/TheSiahxyz/lua/thesiahxyz/plugins/init.lua
blob: 0bcf1624fdc50ea52b5c98d8f291ff9b3dc26703 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
return {
	{ "nvim-lua/plenary.nvim" },
	{
		"aserowy/tmux.nvim",
		config = function()
			require("tmux").setup({
				copy_sync = {
					-- enables copy sync. by default, all registers are synchronized.
					-- to control which registers are synced, see the `sync_*` options.
					enable = false,

					-- ignore specific tmux buffers e.g. buffer0 = true to ignore the
					-- first buffer or named_buffer_name = true to ignore a named tmux
					-- buffer with name named_buffer_name :)
					ignore_buffers = { empty = false },

					-- TMUX >= 3.2: all yanks (and deletes) will get redirected to system
					-- clipboard by tmux
					redirect_to_clipboard = false,

					-- offset controls where register sync starts
					-- e.g. offset 2 lets registers 0 and 1 untouched
					register_offset = 0,

					-- overwrites vim.g.clipboard to redirect * and + to the system
					-- clipboard using tmux. If you sync your system clipboard without tmux,
					-- disable this option!
					sync_clipboard = true,

					-- synchronizes registers *, +, unnamed, and 0 till 9 with tmux buffers.
					sync_registers = true,

					-- synchronizes registers when pressing p and P.
					sync_registers_keymap_put = true,

					-- synchronizes registers when pressing (C-r) and ".
					sync_registers_keymap_reg = true,

					-- syncs deletes with tmux clipboard as well, it is adviced to
					-- do so. Nvim does not allow syncing registers 0 and 1 without
					-- overwriting the unnamed register. Thus, ddp would not be possible.
					sync_deletes = true,

					-- syncs the unnamed register with the first buffer entry from tmux.
					sync_unnamed = true,
				},
				navigation = {
					-- cycles to opposite pane while navigating into the border
					cycle_navigation = false,

					-- enables default keybindings (C-hjkl) for normal mode
					enable_default_keybindings = true,

					-- prevents unzoom tmux when navigating beyond vim border
					persist_zoom = true,
				},
				resize = {
					-- enables default keybindings (A-hjkl) for normal mode
					enable_default_keybindings = false,

					-- sets resize steps for x axis
					resize_step_x = 2,

					-- sets resize steps for y axis
					resize_step_y = 2,
				},
			})

			vim.keymap.set("n", "<C-left>", function()
				require("tmux").resize_left()
			end, { desc = "Decrease window width" })
			vim.keymap.set("n", "<C-down>", function()
				require("tmux").resize_bottom()
			end, { desc = "Decrease window height" })
			vim.keymap.set("n", "<C-up>", function()
				require("tmux").resize_top()
			end, { desc = "Increase window height" })
			vim.keymap.set("n", "<C-right>", function()
				require("tmux").resize_right()
			end, { desc = "Increase window width" })
		end,
	},
}