From b657343b58adb1d4a8ab7f648c9683c4b1d67128 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Sat, 10 Oct 2026 12:25:43 +0200 Subject: tweak(workstation): use neovim instead of vim --- user/nvim/after/ftplugin/markdown.lua | 5 +++++ user/nvim/after/ftplugin/nix.lua | 7 +++++++ user/nvim/after/ftplugin/svelte.lua | 7 +++++++ user/nvim/after/ftplugin/typescript.lua | 7 +++++++ user/nvim/init.lua | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 58 insertions(+) create mode 100644 user/nvim/after/ftplugin/markdown.lua create mode 100644 user/nvim/after/ftplugin/nix.lua create mode 100644 user/nvim/after/ftplugin/svelte.lua create mode 100644 user/nvim/after/ftplugin/typescript.lua create mode 100644 user/nvim/init.lua (limited to 'user/nvim') diff --git a/user/nvim/after/ftplugin/markdown.lua b/user/nvim/after/ftplugin/markdown.lua new file mode 100644 index 0000000..9909541 --- /dev/null +++ b/user/nvim/after/ftplugin/markdown.lua @@ -0,0 +1,5 @@ +-- Shortcut for Hugo TOML frontmatter. +vim.keymap.set('n', '', 'i+++title = ""+++kk$i', { + buffer = true, + desc = 'Insert Hugo TOML frontmatter', +}) diff --git a/user/nvim/after/ftplugin/nix.lua b/user/nvim/after/ftplugin/nix.lua new file mode 100644 index 0000000..af99d8d --- /dev/null +++ b/user/nvim/after/ftplugin/nix.lua @@ -0,0 +1,7 @@ +vim.opt_local.expandtab = true +vim.opt_local.shiftwidth = 2 +vim.opt_local.softtabstop = 2 +vim.opt_local.tabstop = 2 + +vim.treesitter.start() +vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" diff --git a/user/nvim/after/ftplugin/svelte.lua b/user/nvim/after/ftplugin/svelte.lua new file mode 100644 index 0000000..af99d8d --- /dev/null +++ b/user/nvim/after/ftplugin/svelte.lua @@ -0,0 +1,7 @@ +vim.opt_local.expandtab = true +vim.opt_local.shiftwidth = 2 +vim.opt_local.softtabstop = 2 +vim.opt_local.tabstop = 2 + +vim.treesitter.start() +vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" diff --git a/user/nvim/after/ftplugin/typescript.lua b/user/nvim/after/ftplugin/typescript.lua new file mode 100644 index 0000000..af99d8d --- /dev/null +++ b/user/nvim/after/ftplugin/typescript.lua @@ -0,0 +1,7 @@ +vim.opt_local.expandtab = true +vim.opt_local.shiftwidth = 2 +vim.opt_local.softtabstop = 2 +vim.opt_local.tabstop = 2 + +vim.treesitter.start() +vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" diff --git a/user/nvim/init.lua b/user/nvim/init.lua new file mode 100644 index 0000000..2874c1d --- /dev/null +++ b/user/nvim/init.lua @@ -0,0 +1,32 @@ +-- Don't break words in the middle. +vim.opt.linebreak = true + +-- Use the system clipboard. +vim.opt.clipboard = "unnamedplus" + +-- Ignore case in search unless the pattern contains uppercase. +vim.opt.ignorecase = true +vim.opt.smartcase = true + +-- Color scheme +require('vscode').setup({ + -- Enable transparent background. + transparent = true, +}) +vim.cmd.colorscheme "vscode" + +-- File picker +local pick = require('mini.pick') +-- Disable icons in mini.pick (my font doesn't have them). +pick.setup({ source = { show = pick.default_show } }) +-- Reuse Neovim's popup-menu selection color for mini.pick's selected item. +vim.api.nvim_set_hl(0, 'MiniPickMatchCurrent', { link = 'PmenuSel' }) + +-- Keyboard shortcuts + +-- Clear search highlighting with Escape. +vim.keymap.set('n', '', 'nohlsearch', { desc = 'Clear search highlight' }) + +vim.keymap.set('n', '', function() + pick.builtin.files() +end, { desc = 'Pick files' }) -- cgit v1.3.1