diff options
author | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-04-01 00:24:47 +0200 |
---|---|---|
committer | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-04-01 00:24:47 +0200 |
commit | 10176dee7a85dfdb8729232ab0ecec408246a269 (patch) | |
tree | 960c6f1cfa3238054d4f30c5e35a92720ad51031 /fnl/settings | |
parent | 08f55a31684adc5f801d0c7ccaef885e26f21ba1 (diff) |
fix(settings): update settings
Diffstat (limited to 'fnl/settings')
-rw-r--r-- | fnl/settings/init.fnl | 2 | ||||
-rw-r--r-- | fnl/settings/keymaps.fnl | 54 | ||||
-rw-r--r-- | fnl/settings/options.fnl | 52 |
3 files changed, 81 insertions, 27 deletions
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 "" "<Space>" "<Nop>" 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" "<C-h>" "<C-w>h" opts) (map "n" "<C-j>" "<C-w>j" opts) (map "n" "<C-k>" "<C-w>k" opts) (map "n" "<C-l>" "<C-w>l" opts) --- Resize with arrows +;; Resize with arrows (map "n" "<C-Up>" ":resize -2<CR>" opts) (map "n" "<C-Down>" ":resize +2<CR>" opts) (map "n" "<C-Left>" ":vertical resize -2<CR>" opts) (map "n" "<C-Right>" ":vertical resize +2<CR>" opts) --- Navigate buffers +;; Navigate buffers (map "n" "<S-l>" ":bnext<CR>" opts) (map "n" "<S-h>" ":bprevious<CR>" opts) --- Insert -- --- Press jk fast to enter +;; Insert ;; +;; Press jk fast to enter (map "i" "jk" "<ESC>" opts) --- Visual -- --- Stay in indent mode +;; Visual ;; +;; Stay in indent mode (map "v" "<" "<gv" opts) (map "v" ">" ">gv" opts) --- Move text up and down -(map "v" "<A-j>" ":m .+1<CR>==" opts) -(map "v" "<A-k>" ":m .-2<CR>==" opts) -(map "v" "p" '"_dP' opts) - --- Visual Block -- --- Move text up and down +;; Visual Block ;; +;; Move text up and down (map "x" "J" ":move '>+1<CR>gv-gv" opts) (map "x" "K" ":move '<-2<CR>gv-gv" opts) (map "x" "<A-j>" ":move '>+1<CR>gv-gv" opts) (map "x" "<A-k>" ":move '<-2<CR>gv-gv" opts) + +;; Move text up and down +(map "v" "<A-j>" ":m .+1<CR>==" opts) +(map "v" "<A-k>" ":m .-2<CR>==" 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) |