@@ -3,6 +3,19 @@ vim.g.mapleader = ' '
33vim .g .maplocalleader = ' '
44vim .g .have_nerd_font = true
55
6+ local function nvim_ver (major , minor )
7+ local version = vim .version ()
8+ return (version .major > major or version .minor >= minor )
9+ end
10+
11+ -- fs_stat moves based on version :(
12+ local fs_stat = function ()
13+ if nvim_ver (0 , 10 ) then
14+ return vim .uv .fs_stat
15+ end
16+ return vim .loop .fs_stat
17+ end
18+
619-- Margins
720vim .opt .title = false -- in status, not great with tmux
821vim .opt .number = true -- show line number
@@ -22,8 +35,11 @@ vim.opt.mouse = 'nvi'
2235
2336-- File related
2437vim .opt .autochdir = false
38+ vim .opt .swapfile = false
39+ vim .opt .backup = false
2540vim .opt .writebackup = false
2641vim .opt .undofile = true
42+ vim .opt .undodir = os.getenv ' HOME' .. ' /.vim/undodir'
2743if vim .fn .has ' win32' == 1 or vim .fn .has ' win64' == 1 then
2844 vim .opt .fileformats = ' dos,unix,mac'
2945elseif vim .fn .has ' mac' == 1 then
@@ -76,7 +92,8 @@ vim.api.nvim_create_autocmd('TextYankPost', {
7692
7793-- Install Lazy from Github
7894local lazypath = vim .fn .stdpath ' data' .. ' /lazy/lazy.nvim'
79- if not vim .uv .fs_stat (lazypath ) then
95+
96+ if not fs_stat (lazypath ) then
8097 local lazyrepo = ' https://github.com/folke/lazy.nvim.git'
8198 local out = vim .fn .system { ' git' , ' clone' , ' --filter=blob:none' , ' --branch=stable' , lazyrepo , lazypath }
8299 if vim .v .shell_error ~= 0 then
@@ -95,6 +112,11 @@ require('lazy').setup({
95112 ' millerjason/neovimacs.nvim' ,
96113 opts = {},
97114 },
115+ -- {
116+ -- dir = '/Users/jason/github/neovimacs.nvim',
117+ -- name = 'neovimacs.nvim',
118+ -- opts = {},
119+ -- },
98120
99121 -- Add git changes to gutter
100122 {
@@ -111,7 +133,8 @@ require('lazy').setup({
111133 },
112134
113135 -- Shows keybindings as you go
114- {
136+ -- this technically requires >= 0.9.4
137+ unpack (nvim_ver (0 , 10 ) and {
115138 ' folke/which-key.nvim' ,
116139 event = ' VimEnter' ,
117140 config = function ()
@@ -127,7 +150,7 @@ require('lazy').setup({
127150 { ' <leader>h' , group = ' Git [H]unk' , mode = { ' n' , ' v' } },
128151 }
129152 end ,
130- },
153+ } or {}) ,
131154
132155 -- Fuzzy finder (file & lsp)
133156 -- :Telescope help_tags
@@ -643,16 +666,24 @@ local function safe_tabclose()
643666 vim .cmd ' tabclose'
644667 end
645668end
669+ vim .keymap .set (' t' , ' <F1>' , vim .cmd .tabp , { noremap = true , silent = true })
670+ vim .keymap .set (' t' , ' <F2>' , vim .cmd .tabn , { noremap = true , silent = true })
671+ vim .keymap .set (' t' , ' <F3>' , ' <C-\\ ><C-n>:tabnew<CR>' , { noremap = true , silent = true })
672+ vim .keymap .set (' t' , ' ' , ' <C-\\ ><C-n>:tabnew<CR>' , { noremap = true , silent = true })
673+ vim .keymap .set (' t' , ' <F4>' , safe_tabclose , { noremap = true , silent = true })
674+ vim .keymap .set (' t' , ' <F5>' , ' <C-\\ ><C-n><Esc>:tab new<CR>' , { noremap = true , silent = true })
646675vim .keymap .set (' n' , ' <F1>' , vim .cmd .tabp , { noremap = true , silent = true })
647676vim .keymap .set (' n' , ' <F2>' , vim .cmd .tabn , { noremap = true , silent = true })
648677vim .keymap .set (' n' , ' <F3>' , ' :tabnew<CR>' , { noremap = true , silent = true })
649678vim .keymap .set (' n' , ' ' , ' :tabnew<CR>' , { noremap = true , silent = true })
650679vim .keymap .set (' n' , ' <F4>' , safe_tabclose , { noremap = true , silent = true })
680+ vim .keymap .set (' n' , ' <F5>' , ' :tab term<CR>' , { noremap = true , silent = true })
651681vim .keymap .set (' i' , ' <F1>' , vim .cmd .tabp , { noremap = true , silent = true })
652682vim .keymap .set (' i' , ' <F2>' , vim .cmd .tabn , { noremap = true , silent = true })
653683vim .keymap .set (' i' , ' <F3>' , ' <Esc>:tabnew<CR>' , { noremap = true , silent = true })
654684vim .keymap .set (' i' , ' ' , ' <Esc>:tabnew<CR>' , { noremap = true , silent = true })
655685vim .keymap .set (' i' , ' <F4>' , safe_tabclose , { noremap = true , silent = true })
686+ vim .keymap .set (' i' , ' <F5>' , ' <Esc>:tab term<CR>' , { noremap = true , silent = true })
656687vim .keymap .set (' n' , ' <leader>tp' , vim .cmd .tabn , { desc = ' Tab [p]revious' })
657688vim .keymap .set (' n' , ' <leader>tn' , vim .cmd .tabp , { desc = ' Tab [n]ext' })
658689vim .keymap .set (' n' , ' <leader>to' , vim .cmd .tabnew , { desc = ' Tab [o]pen' })
0 commit comments