From 10176dee7a85dfdb8729232ab0ecec408246a269 Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Fri, 1 Apr 2022 00:24:47 +0200 Subject: fix(settings): update settings --- fnl/settings/init.fnl | 2 +- fnl/settings/keymaps.fnl | 54 +++++++++++++++++++++++++----------------------- fnl/settings/options.fnl | 52 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 27 deletions(-) create mode 100644 fnl/settings/options.fnl (limited to 'fnl') diff --git a/fnl/settings/init.fnl b/fnl/settings/init.fnl index 9546224..0045fc2 100644 --- a/fnl/settings/init.fnl +++ b/fnl/settings/init.fnl @@ -1,4 +1,4 @@ --- Load nvim settings +;; Load nvim settings (module settings) (require :settings.options) diff --git a/fnl/settings/keymaps.fnl b/fnl/settings/keymaps.fnl index 9c4b0e8..b6c826a 100644 --- a/fnl/settings/keymaps.fnl +++ b/fnl/settings/keymaps.fnl @@ -1,4 +1,4 @@ --- Custom keymappings. +;; Custom keymappings. (module settings.keymaps {autoload {nvim aniseed.nvim}}) @@ -6,52 +6,54 @@ (defn- map [mode lhs rhs opt] (nvim.set_keymap mode lhs rhs opt) ---Remap space as leader key +;;Remap space as leader key (map "" "" "" opts) - --- Modes --- normal_mode = "n" --- insert_mode = "i" --- visual_mode = "v" --- visual_block_mode = "x" --- term_mode = "t" --- command_mode = "c" - --- Normal -- --- Better window navigation +(set nvim.g.mapleader " ") +(set nvim.g.maplocalleader " ") + +;; Modes +;; normal_mode = "n" +;; insert_mode = "i" +;; visual_mode = "v" +;; visual_block_mode = "x" +;; term_mode = "t" +;; command_mode = "c" + +;; Normal ;; +;; Better window navigation (map "n" "" "h" opts) (map "n" "" "j" opts) (map "n" "" "k" opts) (map "n" "" "l" opts) --- Resize with arrows +;; Resize with arrows (map "n" "" ":resize -2" opts) (map "n" "" ":resize +2" opts) (map "n" "" ":vertical resize -2" opts) (map "n" "" ":vertical resize +2" opts) --- Navigate buffers +;; Navigate buffers (map "n" "" ":bnext" opts) (map "n" "" ":bprevious" opts) --- Insert -- --- Press jk fast to enter +;; Insert ;; +;; Press jk fast to enter (map "i" "jk" "" opts) --- Visual -- --- Stay in indent mode +;; Visual ;; +;; Stay in indent mode (map "v" "<" "" ">gv" opts) --- Move text up and down -(map "v" "" ":m .+1==" opts) -(map "v" "" ":m .-2==" opts) -(map "v" "p" '"_dP' opts) - --- Visual Block -- --- Move text up and down +;; Visual Block ;; +;; Move text up and down (map "x" "J" ":move '>+1gv-gv" opts) (map "x" "K" ":move '<-2gv-gv" opts) (map "x" "" ":move '>+1gv-gv" opts) (map "x" "" ":move '<-2gv-gv" opts) + +;; Move text up and down +(map "v" "" ":m .+1==" opts) +(map "v" "" ":m .-2==" opts) +(map "v" "p" '"_dP' opts) diff --git a/fnl/settings/options.fnl b/fnl/settings/options.fnl new file mode 100644 index 0000000..9cf42e5 --- /dev/null +++ b/fnl/settings/options.fnl @@ -0,0 +1,52 @@ +;; Sets options in neovim +(module settings.options + {autoload {nvim aniseed.nvim}}) + +(def- opts { + :backup false ;; creates a backup file + :clipboard "unnamedplus" ;; allows neovim to access the system clipboard + :cmdheight 2 ;; more space in the neovim command line for displaying messages + :completeopt { "menuone" "noselect" } ;; mostly just for cmp + :conceallevel 0 ;; so that `` is visible in markdown files + :fileencoding "utf-8" ;; the encoding written to a file + :hlsearch true ;; highlight all matches on previous search pattern + :ignorecase true ;; ignore case in search patterns + :mouse "" ;; disable the mouse to be used in neovim + :pumheight 10 ;; pop up menu height + :showmode false ;; we don't need to see things like ;; INSERT ;; anymore + :showtabline 2 ;; always show tabs + :smartcase true ;; smart case + :smartindent true ;; make indenting smarter again + :splitbelow true ;; force all horizontal splits to go below current window + :splitright true ;; force all vertical splits to go to the right of current window + :swapfile false ;; creates a swapfile + :termguicolors true ;; set term gui colors (most terminals support this) + :timeoutlen 1000 ;; time to wait for a mapped sequence to complete (in milliseconds) + :undofile true ;; enable persistent undo + :updatetime 300 ;; faster completion (4000ms default) + :writebackup false ;; if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited + :expandtab true ;; convert tabs to spaces + :shiftwidth 2 ;; the number of spaces inserted for each indentation + :tabstop 2 ;; insert 2 spaces for a tab + :cursorline true ;; highlight the current line + :number true ;; set numbered lines + :relativenumber true ;; set relative numbered lines + :numberwidth 4 ;; set number column width to 2 {default 4} + :signcolumn "yes" ;; always show the sign column, otherwise it would shift the text each time + :wrap false ;; display lines as one long line + :scrolloff 8 ;; is one of my fav + :sidescrolloff 8 + :guifont "monospace:h17" ;; the font used in graphical neovim applications + } +) + +(defn- apply-opts [opts] + (each [k v (pairs opts)] + (set vim.opt[k] v))) + +(set vim.cmd "set whichwrap+=<,>,[,],h,l") +(set vim.cmd [[set iskeyword+=-]]) +(set vim.cmd [[set formatoptions-=cro]]) +(nvim.ex.set "shortmess+=c") +(nvim.ex.set :spell) +(apply-opts) -- cgit v1.2.3-70-g09d2