Add writing mode and ui toggles for nvim, tmux theme updates, wallpapers

This commit is contained in:
2025-11-12 14:10:11 -06:00
parent 1377026a56
commit ac91c7974c
15 changed files with 127 additions and 32 deletions

View File

@@ -28,7 +28,7 @@ show_cpu_frequency=0
show_cached_memory=1
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=5
color_scheme=6
enable_mouse=1
delay=40
hide_function_bar=0

View File

@@ -11,7 +11,7 @@ vim.keymap.set("n", "<leader>n", vim.cmd.Ex)
vim.keymap.set("v", "J", ":m '>+1<CR>gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv")
-- reduce effective distance of half-page jumps and vertically-center the cursor
-- reduce effective distance of half-page jumps and vertically-pad the cursor
vim.keymap.set("n", "<C-d>", "<C-d>4<C-y>M")
vim.keymap.set("n", "<C-u>", "<C-u>4<C-e>M")
@@ -60,6 +60,14 @@ kmgAutocmd('FileType', {
end
})
------------------------------------------------------------------------------------------
-- visual/ui-related toggles and shortcuts
vim.keymap.set("n", "<leader>vl", function() ToggleCursorLine() end)
vim.keymap.set("n", "<leader>vc", function() ToggleColorColumn('90') end)
vim.keymap.set("n", "<leader>vn", function() ToggleLineNumbers() end)
vim.keymap.set("n", "<leader>vw", function() ToggleWritingMode() end)
------------------------------------------------------------------------------------------
-- quickfix and location lists
-- ref: :h quickfix or :h location-list
@@ -118,10 +126,10 @@ kmgAutocmd('LspAttach', {
vim.keymap.set("n", "<leader>lv", function() vim.diagnostic.open_float() end, opts)
vim.keymap.set("n", "<leader>lq", function() vim.diagnostic.setqflist() end, opts)
-- TODO: learn what the below commands are and if i want to set keymaps for them
-- vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
-- vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
-- vim.keymap.set("n", "<leader>vrl", function() vim.lsp.buf.references() end, opts)
-- vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
-- vim.keymap.set("n", "<leader>lws", function() vim.lsp.buf.workspace_symbol() end, opts)
-- vim.keymap.set("n", "<leader>lca", function() vim.lsp.buf.code_action() end, opts)
-- vim.keymap.set("n", "<leader>lrl", function() vim.lsp.buf.references() end, opts)
-- vim.keymap.set("n", "<leader>lrn", function() vim.lsp.buf.rename() end, opts)
end
})

View File

@@ -5,17 +5,24 @@ vim.opt.incsearch = true
vim.opt.termguicolors = true
vim.opt.scrolloff = 2
vim.opt.colorcolumn = "90"
vim.opt.colorcolumn = '' -- default to off, see keymapping shortcut to toggle
vim.opt.signcolumn = "yes" -- "auto", "yes", "no", "number"
vim.opt.laststatus = 2
vim.opt.splitright = true
vim.opt.splitbelow = true
vim.opt.nu = true
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.cursorline = true
vim.opt.cursorlineopt = "both"
vim.opt.smartindent = true
vim.opt.wrap = true
vim.opt.textwidth = 0
vim.opt.wrapmargin = 0
vim.opt.fillchars = { eob = ' ' }
vim.opt.spell = false
vim.opt.spelllang = 'en_us'
vim.opt.errorbells = false
vim.opt.visualbell = false

View File

@@ -15,7 +15,7 @@ function TmpBuff(split_opt)
vim.opt_local.buftype = "nofile"
vim.opt_local.bufhidden = "hide"
vim.opt_local.swapfile = false
vim.cmd("file tmp_" .. os.date("%Y%m%d_%H%M%S"))
vim.cmd("file tmp_" .. os.date("%Y%m%d_%H%M%S") .. "_" .. math.random(471))
end
function ReadShellCmd(command)
@@ -32,3 +32,88 @@ function ToggleTabsSpaces()
end
end
function ToggleLineNumbers()
if vim.opt.number:get() then
vim.opt.number = false
vim.opt.relativenumber = false
else
vim.opt.number = true
vim.opt.relativenumber = true
end
end
function ToggleColorColumn(column_string)
if #vim.opt.colorcolumn:get() == 0 then
vim.opt.colorcolumn = (column_string or '90')
else
vim.opt.colorcolumn = ''
end
end
function ToggleCursorLine()
vim.opt.cursorline = (not vim.opt.cursorline:get())
end
local function EnableWritingModeUiForCurrentWindow()
vim.opt_local.number = false
vim.opt_local.relativenumber = false
vim.opt_local.colorcolumn = ''
vim.opt_local.signcolumn = "no"
vim.opt_local.cursorline = false
vim.opt_local.winfixwidth = true
-- vim.opt_local.wrap = true -- TODO: needed?
vim.opt_local.laststatus = 0
end
function ToggleWritingMode()
if vim.g.writing_mode then
vim.g.writing_mode = false
vim.api.nvim_set_hl(0, 'WinSeparator', vim.g.wrmode_prev_hl_winsep or {})
vim.opt_local.winfixwidth = false
vim.cmd("wincmd l")
vim.api.nvim_win_close(0, false)
vim.cmd("wincmd h")
vim.api.nvim_win_close(0, false)
vim.opt_local.number = true
vim.opt_local.relativenumber = true
vim.opt_local.signcolumn = "yes"
vim.opt_local.cursorline = true
vim.opt_local.spell = false
-- vim.opt_local.wrap = true -- TODO: needed?
vim.opt_local.textwidth = 0
vim.opt_local.scrolloff = 2
vim.opt_local.formatoptions:remove('t')
vim.opt_local.laststatus = 0
-- vim.cmd("vertical resize")
else
vim.g.writing_mode = true
vim.g.wrmode_prev_hl_winsep = vim.api.nvim_get_hl(0, { name = 'WinSeparator' })
vim.api.nvim_set_hl(0, 'WinSeparator', { bg = 'none', fg = '#000000' })
local window_width = 72
local window_padding = math.max(math.floor((vim.o.columns - window_width) / 2), 1)
vim.cmd("vsplit")
local writing_pane = vim.api.nvim_get_current_win()
EnableWritingModeUiForCurrentWindow()
vim.opt_local.spell = true
vim.opt_local.textwidth = window_width
vim.opt_local.scrolloff = 14
vim.opt_local.formatoptions:append('t')
vim.cmd("wincmd h")
TmpBuff('enew')
local padding_pane_left = vim.api.nvim_get_current_win()
EnableWritingModeUiForCurrentWindow()
vim.cmd("wincmd l")
TmpBuff('vnew')
local padding_pane_right = vim.api.nvim_get_current_win()
EnableWritingModeUiForCurrentWindow()
vim.api.nvim_set_current_win(writing_pane)
vim.api.nvim_win_set_width(padding_pane_left, window_padding)
vim.api.nvim_win_set_width(padding_pane_right, window_padding)
vim.api.nvim_win_set_width(writing_pane, window_width)
end
end

View File

@@ -1,10 +1,19 @@
set -s escape-time 0
# replace default prefix and bind-key
unbind C-b
set-option -g prefix C-Space
bind-key C-Space send-prefix
# settings for status line and window list
set-option -g base-index 1
set-option -g status-position 'bottom'
set-option -g status-left-length 28
set-option -Fg status-right '#{host} | %Y%m%d %H:%M' # or maybe host_short
# theme settings
set-option -g status-style "bg=default fg=default" # default, theme files can overwrite
source-file "$XDG_CONFIG_HOME/tmux/theme.conf"
set -g base-index 1
# unbind keys
unbind-key f; unbind-key C-f; unbind-key s; unbind-key C-s

View File

@@ -1,5 +1,2 @@
set -g status-style 'bg=#111111 fg=#22cc00'
# transparency
set-window-option -g window-style bg=default
# set-option -g status-style bg=default
set-window-option -g window-style bg=default # transparency
set-option -g status-style 'bg=default fg=#22cc00'

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

View File

@@ -1,5 +1,2 @@
set -g status-style 'bg=#549E6A fg=#000000'
# transparency
set-window-option -g window-style bg=default
# set-option -g status-style bg=default
set-window-option -g window-style bg=default # transparency
set-option -g status-style 'bg=#549E6A fg=#000000'

View File

@@ -1,5 +1,2 @@
set -g status-style 'bg=#111111 fg=#22cc00'
# transparency
set-window-option -g window-style bg=default
# set-option -g status-style bg=default
set-window-option -g window-style bg=default # transparency
set-option -g status-style 'bg=default fg=#7db085'

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

View File

@@ -1,5 +1,2 @@
set -g status-style 'bg=#111111 fg=#22cc00'
# transparency
set-window-option -g window-style bg=default
# set-option -g status-style bg=default
set-window-option -g window-style bg=default # transparency
set-option -g status-style 'bg=default fg=#22cc00'