feat(nvim): add LaTeX workflow; tweak Hyprland master; refresh CS autoexec; add GTK bookmark
Neovim (LaTeX): - Add TeX ftplugin: spell (en_US,de_DE), soft-wrap + linebreak, conceal=2, no hard wrap - Add plugins: vimtex (zathura; latexmk with LuaLaTeX + shell-escape), LTeX language server via astrolsp + ltex_extra (check on save; motherTongue=de-DE), blink.cmp integration (cmp-vimtex, cmp-latex-symbols → insert macros), LuaSnip LaTeX snippets, Treesitter “latex”, nabla.nvim (inline/popup math; <leader>mp/<leader>mv) Hyprland: - Set master.orientation=left; comment out center_master_* options Counter-Strike autoexec: - Rebind +lookatweapon → MOUSE5; map R → lastinv; radio on Y/U/I/H; J → +radialradio - Crosshair tweaks: size 2.5, gap -3, no outline, alpha off - Mouse: sensitivity 0.619; zoom_sensitivity_ratio 1.0 - Viewmodel: offset_x -2; cl_prefer_lefthanded 0 - Video/perf: gamma 1.6; set fps_max/fps_max_ui 0; drop legacy perf/network cvars (mat_queue_mode, cl_forcepreload, rate/interp*) - HUD cleanup: disable target ID; remove +cl_show_team_equipment GTK: - Add bookmark: Documents/ttrpg/dsa5
This commit is contained in:
@@ -7,3 +7,4 @@ file:///home/mpuchstein/Music
|
||||
file:///home/mpuchstein/Nextcloud
|
||||
file:///home/mpuchstein/Downloads
|
||||
file:///home/mpuchstein/Documents/uni/ss25/AD/Vorlesung Vorlesung
|
||||
file:///home/mpuchstein/Documents/ttrpg/dsa5 dsa5
|
||||
|
||||
@@ -152,9 +152,9 @@ dwindle {
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
orientation = center
|
||||
center_master_fallback = left
|
||||
slave_count_for_center_master = 4
|
||||
orientation = left
|
||||
# center_master_fallback = left
|
||||
# slave_count_for_center_master = 4
|
||||
mfact = 0.60
|
||||
new_status = slave
|
||||
new_on_top = true
|
||||
|
||||
9
.config/nvim/ftplugin/tex.lua
Normal file
9
.config/nvim/ftplugin/tex.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
-- Spell-check (tweak languages to your needs)
|
||||
vim.opt_local.spell = true
|
||||
vim.opt_local.spelllang = { "en_us", "de_de" }
|
||||
|
||||
-- Niceties for prose/math
|
||||
vim.opt_local.wrap = true
|
||||
vim.opt_local.linebreak = true
|
||||
vim.opt_local.conceallevel = 2 -- vimtex has sensible conceal defaults
|
||||
vim.opt_local.textwidth = 0 -- don't hard-wrap LaTeX
|
||||
39
.config/nvim/lua/plugins/blink-latex.lua
Normal file
39
.config/nvim/lua/plugins/blink-latex.lua
Normal file
@@ -0,0 +1,39 @@
|
||||
return {
|
||||
-- Let blink.cmp consume nvim-cmp sources
|
||||
{ "saghen/blink.compat", version = "2.*", lazy = true, opts = {} },
|
||||
|
||||
-- Add vimtex + latex symbol sources to blink.cmp
|
||||
{
|
||||
"Saghen/blink.cmp",
|
||||
optional = true,
|
||||
dependencies = {
|
||||
"micangl/cmp-vimtex", -- environments, \cite, \ref, etc. via vimtex
|
||||
"kdheepak/cmp-latex-symbols", -- math symbols via LaTeX macros
|
||||
},
|
||||
opts = function(_, opts)
|
||||
opts.sources = opts.sources or {}
|
||||
opts.sources.providers = opts.sources.providers or {}
|
||||
opts.sources.default = opts.sources.default or { "lsp", "path", "snippets", "buffer" }
|
||||
|
||||
-- Only turn on the LaTeX sources for TeX filetypes
|
||||
opts.sources.per_filetype = vim.tbl_deep_extend("force", opts.sources.per_filetype or {}, {
|
||||
tex = { inherit_defaults = true, "vimtex", "latex_symbols" },
|
||||
plaintex = { inherit_defaults = true, "vimtex", "latex_symbols" },
|
||||
})
|
||||
|
||||
-- Expose nvim-cmp sources to blink via blink.compat
|
||||
opts.sources.providers.vimtex = {
|
||||
name = "vimtex",
|
||||
module = "blink.compat.source",
|
||||
}
|
||||
opts.sources.providers.latex_symbols = {
|
||||
name = "latex_symbols",
|
||||
module = "blink.compat.source",
|
||||
-- Insert LaTeX commands (e.g. \alpha) instead of Unicode characters:
|
||||
opts = { strategy = 2 }, -- documented in cmp-latex-symbols README
|
||||
score_offset = -2, -- keep it below LSP/snippets in relevance
|
||||
}
|
||||
return opts
|
||||
end,
|
||||
},
|
||||
}
|
||||
17
.config/nvim/lua/plugins/latex-snippets.lua
Normal file
17
.config/nvim/lua/plugins/latex-snippets.lua
Normal file
@@ -0,0 +1,17 @@
|
||||
-- Gilles Castel-style LaTeX snippets for LuaSnip
|
||||
return {
|
||||
-- Make sure autosnippets are enabled globally
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
opts = function(_, _) require("luasnip").config.setup { enable_autosnippets = true } end,
|
||||
},
|
||||
|
||||
-- The LaTeX snippets themselves
|
||||
{
|
||||
"iurimateus/luasnip-latex-snippets.nvim",
|
||||
ft = { "tex", "plaintex", "markdown" },
|
||||
dependencies = { "L3MON4D3/LuaSnip", "lervag/vimtex" },
|
||||
opts = { use_treesitter = false, allow_on_markdown = true }, -- use vimtex to detect math mode
|
||||
config = function(_, opts) require("luasnip-latex-snippets").setup(opts) end,
|
||||
},
|
||||
}
|
||||
54
.config/nvim/lua/plugins/ltex.lua
Normal file
54
.config/nvim/lua/plugins/ltex.lua
Normal file
@@ -0,0 +1,54 @@
|
||||
-- Grammar & spell checking for LaTeX/Markdown via LanguageTool (LTeX-LS)
|
||||
return {
|
||||
-- Tell AstroLSP to manage the ltex server and pass our settings
|
||||
{
|
||||
"AstroNvim/astrolsp",
|
||||
---@param opts AstroLSPOpts
|
||||
opts = function(_, opts)
|
||||
opts.servers = opts.servers or {}
|
||||
if not vim.tbl_contains(opts.servers, "ltex") then table.insert(opts.servers, "ltex") end
|
||||
|
||||
-- Extend the ltex server configuration
|
||||
opts.config = require("astrocore").extend_tbl(opts.config or {}, {
|
||||
ltex = {
|
||||
filetypes = { "tex", "plaintex", "bib", "markdown" },
|
||||
settings = {
|
||||
ltex = {
|
||||
-- Run checks on save for performance; switch to "edit" if you prefer live feedback
|
||||
checkFrequency = "save",
|
||||
-- Pick the language you want LTeX to check as the document language
|
||||
language = "en-US",
|
||||
-- Mother tongue helps the grammar engine (adjust to your preference)
|
||||
additionalRules = { motherTongue = "de-DE" },
|
||||
-- Let ltex_extra manage dictionaries/rules on disk
|
||||
dictionary = {},
|
||||
disabledRules = {},
|
||||
hiddenFalsePositives = {},
|
||||
},
|
||||
},
|
||||
-- hook up ltex_extra when the server attaches
|
||||
on_attach = function(client, bufnr)
|
||||
local ok, ltex_extra = pcall(require, "ltex_extra")
|
||||
if ok then
|
||||
ltex_extra.setup {
|
||||
-- load both EN+DE dictionaries; change to your set
|
||||
load_langs = { "en-US", "de-DE" },
|
||||
init_check = true,
|
||||
-- store per-project files in .ltex (add to .gitignore if you want)
|
||||
path = ".ltex",
|
||||
log_level = "none",
|
||||
}
|
||||
end
|
||||
end,
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- Companion plugin: add-to-dictionary / disable-rule / hide-false-positive
|
||||
{
|
||||
"barreiroleo/ltex_extra.nvim",
|
||||
ft = { "tex", "plaintex", "markdown" },
|
||||
lazy = true,
|
||||
},
|
||||
}
|
||||
19
.config/nvim/lua/plugins/nabla.lua
Normal file
19
.config/nvim/lua/plugins/nabla.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
-- Lightweight inline ASCII preview for LaTeX math
|
||||
return {
|
||||
"jbyuki/nabla.nvim",
|
||||
ft = { "tex", "plaintex", "markdown" },
|
||||
keys = {
|
||||
-- Popup preview for the expression under cursor
|
||||
{ "<leader>mp", function() require("nabla").popup() end, desc = "Math: popup preview" },
|
||||
|
||||
-- Toggle inline virtual rendering; re-enable wrap after toggle (nabla toggles it off)
|
||||
{
|
||||
"<leader>mv",
|
||||
function()
|
||||
require("nabla").toggle_virt { autogen = true }
|
||||
vim.wo.wrap = true
|
||||
end,
|
||||
desc = "Math: toggle inline preview",
|
||||
},
|
||||
},
|
||||
}
|
||||
10
.config/nvim/lua/plugins/treesitter-latex.lua
Normal file
10
.config/nvim/lua/plugins/treesitter-latex.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Ensure Treesitter knows about LaTeX (nabla benefits, and some plugins use it)
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
if type(opts.ensure_installed) == "table" then
|
||||
if not vim.tbl_contains(opts.ensure_installed, "latex") then table.insert(opts.ensure_installed, "latex") end
|
||||
end
|
||||
end,
|
||||
}
|
||||
24
.config/nvim/lua/plugins/vimtex.lua
Normal file
24
.config/nvim/lua/plugins/vimtex.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
return {
|
||||
"lervag/vimtex",
|
||||
lazy = false, -- load immediately (recommended by astrocommunity)
|
||||
init = function()
|
||||
-- Viewer
|
||||
vim.g.vimtex_view_method = "zathura"
|
||||
|
||||
-- Compiler: latexmk + LuaLaTeX
|
||||
vim.g.vimtex_compiler_method = "latexmk"
|
||||
-- Option A: pass -lualatex explicitly to latexmk
|
||||
vim.g.vimtex_compiler_latexmk = {
|
||||
options = {
|
||||
"-lualatex",
|
||||
"-synctex=1",
|
||||
"-interaction=nonstopmode",
|
||||
"-file-line-error",
|
||||
-- remove if you don't need shell-escape:
|
||||
"-shell-escape",
|
||||
},
|
||||
}
|
||||
-- Option B (also helpful): make LuaLaTeX the default engine for latexmk
|
||||
vim.g.vimtex_compiler_latexmk_engines = { _ = "-lualatex" }
|
||||
end,
|
||||
}
|
||||
@@ -33,7 +33,7 @@ bind "MOUSE2" "+attack2"
|
||||
bind "CTRL" "+reload"
|
||||
bind "F" "+use"
|
||||
bind "G" "drop"
|
||||
bind "R" "+lookatweapon"
|
||||
bind "MOUSE5" "+lookatweapon"
|
||||
|
||||
// Slot binds
|
||||
bind "1" "slot1"
|
||||
@@ -44,6 +44,7 @@ bind "6" "slot12"
|
||||
bind "7" "slot13"
|
||||
bind "8" "+spray_menu"
|
||||
bind "MOUSE4" "lastinv"
|
||||
bind "R" "lastinv"
|
||||
|
||||
// Grenade binds
|
||||
bind "Z" "buy incgrenade; slot10"
|
||||
@@ -66,15 +67,12 @@ bind "Q" "player_ping"
|
||||
bind "`" "toggleconsole"
|
||||
bind "ALT" "+voicerecord"
|
||||
bind "E" "voice_modenable_toggle"
|
||||
bind "6" "radio"
|
||||
bind "]" "callvote"
|
||||
bind "Y" "radio1"
|
||||
bind "U" "radio2"
|
||||
bind "I" "radio3"
|
||||
bind "H" "+radialradio"
|
||||
bind "J" "+radialradio2"
|
||||
bind "K" "+radialradio3"
|
||||
|
||||
bind "Y" "radio"
|
||||
bind "U" "radio1"
|
||||
bind "I" "radio2"
|
||||
bind "H" "radio3"
|
||||
bind "J" "+radialradio"
|
||||
|
||||
// Buybinds
|
||||
bind "KP_0" "buy vesthelm"
|
||||
@@ -135,7 +133,6 @@ bind "/" "say GET LEETIFY"
|
||||
|
||||
// Audio
|
||||
volume "0.15"
|
||||
voice_scale "0.7"
|
||||
snd_deathcamera_volume "0"
|
||||
snd_mapobjective_volume "0"
|
||||
snd_menumusic_volume "0"
|
||||
@@ -146,24 +143,22 @@ snd_tensecondwarning_volume "0.04"
|
||||
|
||||
// HUD
|
||||
hud_scaling "0.8"
|
||||
hud_showtargetid "1"
|
||||
cl_autohelp "0"
|
||||
hud_showtargetid 0
|
||||
cl_autohelp 0
|
||||
cl_hud_color 12
|
||||
cl_sanitize_player_names "0"
|
||||
cl_showloadout "1"
|
||||
+cl_show_team_equipment
|
||||
gameinstructor_enable "0"
|
||||
cl_sanitize_player_names 0
|
||||
cl_showloadout 1
|
||||
gameinstructor_enable 0
|
||||
|
||||
//CROSSHAIR COMMANDS
|
||||
cl_crosshairstyle 4
|
||||
cl_crosshairsize 2
|
||||
cl_crosshairsize 2.5
|
||||
cl_crosshairthickness 0.5
|
||||
cl_crosshairgap -2
|
||||
cl_crosshair_drawoutline 1
|
||||
cl_crosshair_outlinethickness 1
|
||||
cl_crosshairgap -3
|
||||
cl_crosshair_drawoutline 0
|
||||
cl_crosshairdot 0
|
||||
cl_crosshair_t 0
|
||||
cl_crosshairusealpha 1
|
||||
cl_crosshairusealpha 0
|
||||
cl_crosshairalpha 255
|
||||
cl_crosshair_recoil 0
|
||||
cl_crosshairgap_useweaponvalue 0
|
||||
@@ -172,11 +167,10 @@ cl_crosshaircolor 5
|
||||
//EXTRAS
|
||||
cl_crosshair_sniper_width 1
|
||||
cl_crosshair_friendly_warning 1
|
||||
hud_showtargetid 0
|
||||
|
||||
// Mouse
|
||||
sensitivity "0.5"
|
||||
zoom_sensitivity_ratio "0.818933027098955175"
|
||||
sensitivity "0.619"
|
||||
zoom_sensitivity_ratio "1.0"
|
||||
|
||||
// Radar
|
||||
cl_hud_radar_scale "1.3"
|
||||
@@ -187,28 +181,22 @@ cl_radar_scale "0.7"
|
||||
cl_radar_square_with_scoreboard "0"
|
||||
|
||||
// Video
|
||||
fps_max "0"
|
||||
r_fullscreen_gamma "1.9"
|
||||
r_fullscreen_gamma "1.6"
|
||||
|
||||
// Viewmodel
|
||||
viewmodel_presetpos 0
|
||||
viewmodel_offset_x 0
|
||||
viewmodel_offset_x -2
|
||||
viewmodel_offset_y -2
|
||||
viewmodel_offset_z -2
|
||||
viewmodel_fov 54
|
||||
cl_prefer_lefthanded null
|
||||
|
||||
cl_prefer_lefthanded 0
|
||||
// Performance
|
||||
mat_queue_mode "-1"
|
||||
cl_forcepreload "1"
|
||||
cl_disable_ragdolls "1"
|
||||
engine_low_latency_sleep_after_client_tick true
|
||||
r_show_build_info false
|
||||
fps_max 0
|
||||
fps_max_ui 0
|
||||
|
||||
// Network Optimization (1 Gbps Fiber)
|
||||
rate "786432" // Max bandwidth
|
||||
cl_interp "0.015625" // Minimum interpolation - best for stable connections
|
||||
cl_interp_ratio "1" // Minimal delay ratio
|
||||
|
||||
echo "Loaded autoexec.cfg"
|
||||
host_writeconfig
|
||||
|
||||
Reference in New Issue
Block a user