diff --git a/init.lua b/init.lua index d4441db2..688fd9da 100644 --- a/init.lua +++ b/init.lua @@ -1,8 +1,13 @@ -- Need original init.lua ? use *.BAK -- +-- tmux -- ~/.tmux.conf -- main config file require 'jim.config' -- lua/jim/config.lua +require 'jim.keymaps' -- lua/jim/keymaps.lua require 'jim.settings' -- lua/jim/settings.lua +-- ~/.config/kickstart/skeleton/skeleton.qmd + +-- -- vim: ts=2 sts=2 sw=2 et diff --git a/lua/jim/config.lua b/lua/jim/config.lua index 6d05a18c..77115c03 100644 --- a/lua/jim/config.lua +++ b/lua/jim/config.lua @@ -257,6 +257,11 @@ vim.cmd([[let g:LanguageClient_serverCommands = { \ } ]]) +-- 2023-11-03 (experimental filetype) +vim.cmd([[ + autocmd BufRead, BufNewFile *.r *.qmd *.rmd setlocal filetype = r + ]]) + --[[ 2023-10-07 another try with R & LSP 1) Mason to install r language server (takes a while) @@ -267,6 +272,8 @@ BUT, can not get r language server to fire up with *.qmd Add to bottom of *.qmd, *.R file: # /* vim: set filetype=r : */ +# vim:linebreak:nospell:nowrap:cul tw=78 fo=tqlnrc foldcolumn=1 cc=+1 filetype=r + --nope \ 'qmd': ['R', '--slave', '-e', 'languageserver::run()'], -- compare to lua version: https://github.com/neovim/nvim-lspconfig/blob/1028360e0f2f724d93e876df3d22f63c1acd6ff9/lua/lspconfig/server_configurations/r_language_server.lua#L8 --]] @@ -328,36 +335,6 @@ vim.o.completeopt = 'menuone,noselect' -- NOTE: You should make sure your terminal supports this (yes: 2023-09-03) vim.o.termguicolors = true ----------------------- --- [[ Basic Keymaps ]] ----------------------- --- Keymaps for better default experience --- See `:help vim.keymap.set()` -vim.keymap.set({ 'n', 'v' }, '', '', { silent = true }) -vim.keymap.set({ 'n', 'v' }, 'q', '', { silent = true }) - --- REF: https://nanotipsforvim.prose.sh/keeping-your-register-clean-from-dd --- if dd action holds content: keep it --- if dd action holds BLANK LINE: sent to black hole _dd -vim.keymap.set("n", "dd", function() - if vim.fn.getline(".") == "" then return '"_dd' end - return "dd" -end, { expr = true }) - --- vim.keymap.set( {'n', ']nc', --- Remap for dealing with word wrap --- jr 2023-10-07 Not cause of sticky line -vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) -vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) -vim.keymap.set('n', '', 'zz', { desc = 'Move Up, center' }) -vim.keymap.set('n', '', 'zz', { desc = 'Move Down, center' }) - --- vim.keymap.set('n', 'ck', ':e ~/.config/kickstart/init.lua', { desc = 'Config Kickstart' }) -vim.keymap.set('n', 'tn', ':e ~/code/docs/tech_notes/300_tech_notes.qmd', { desc = 'Tech Notes' }) -vim.keymap.set('n', 'mln', ':e ~/code/docs/tech_notes/500_ML_Notes.qmd', { desc = 'ML Notes' }) -vim.keymap.set('n', 'bw', 'i**Ea**w', { desc = "[B]old [W]ord" }) --- insert # --------... -vim.keymap.set("n", "ic", "yypVr-I# ", { desc = "[ic]insert comment line" }) -- [[ Highlight on yank ]] -- See `:help vim.highlight.on_yank()` @@ -375,61 +352,6 @@ vim.api.nvim_create_autocmd('TextYankPost', { vim.cmd([[ autocmd BufNewFile *.qmd r ~/.config/kickstart/skeleton/skeleton.qmd ]]) ------------------------------------------------------- --- which-key ------------------------------------------------------- --- experiment; add my keymaps to which-key --- stolen: REF: https://github.com/hackorum/nfs/blob/master/lua/whichkey-config/init.lua ------------------------------------------------------- ---{{{ -local wk = require 'which-key' -wk.setup { - plugins = { - marks = false, - registers = true, - spelling = { enabled = false, suggestions = 20 }, - presets = { - operators = false, - motions = false, - text_objects = false, - windows = false, - nav = false, - -- z = false, - g = false, - }, - }, -} -local mappings = { - -- g is an experiment and duplicates done elsewhere - g = { - name = "temp file", - f = { "Telescope find_files", "Find File" }, -- create a binding with label - g = { "Telescope live_grep", "Full Text Search" }, - b = { "Telescope buffers", "Buffers" }, - q = { "q", 'Quit - no warn' }, - }, - t = { - name = "telescope", - f = { "Telescope find_files", "Find File" }, -- create a binding with label - z = { "Telescope find_files", "Find File", desc = "Search Home", pwd = '/home/jim' }, -- create a binding with label - }, - - q = { ':q', 'Quit - no warn' }, - Q = { ':wq', 'Save & Quit' }, - w = { ':w', 'Save' }, - x = { ':bdelete', 'Close' }, - -- use :RKill to stop R, close terminal (not guaranteed) - z1 = { 'p', 'other window' }, - z2 = { 'pAjunk', 'other window junk' }, - rk = { ':RKill', 'RKill , but not guaranteed to close terminal' }, - -- use ck E = { ':e ~/.config/kickstart/init.lua', 'Edit KICKSTART config' }, - ck = { ':e ~/.config/kickstart/init.lua', '[ck] Edit KICKSTART config' }, - -- f = { ":Telescope find_files", "Telescope Find Files" }, - -- r = { ":Telescope live_grep", "Telescope Live Grep" }, -} -local opts = { prefix = '' } -wk.register(mappings, opts) --- }}} -- ------------------------------------------------------ -- require("lspconfig").sumneko_lua.setup({ diff --git a/lua/jim/keymaps.lua b/lua/jim/keymaps.lua new file mode 100644 index 00000000..fea8c690 --- /dev/null +++ b/lua/jim/keymaps.lua @@ -0,0 +1,86 @@ +---------------------- +-- [[ Basic Keymaps ]] +---------------------- +-- Keymaps for better default experience +-- See `:help vim.keymap.set()` +vim.keymap.set({ 'n', 'v' }, '', '', { silent = true }) +vim.keymap.set({ 'n', 'v' }, 'q', '', { silent = true }) + +-- REF: https://nanotipsforvim.prose.sh/keeping-your-register-clean-from-dd +-- if dd action holds content: keep it +-- if dd action holds BLANK LINE: sent to black hole _dd +vim.keymap.set("n", "dd", function() + if vim.fn.getline(".") == "" then return '"_dd' end + return "dd" +end, { expr = true }) + +-- vim.keymap.set( {'n', ']nc', +-- Remap for dealing with word wrap +-- jr 2023-10-07 Not cause of sticky line +vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) +vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) +vim.keymap.set('n', '', 'zz', { desc = 'Move Up, center' }) +vim.keymap.set('n', '', 'zz', { desc = 'Move Down, center' }) + +-- vim.keymap.set('n', 'ck', ':e ~/.config/kickstart/init.lua', { desc = 'Config Kickstart' }) +vim.keymap.set('n', 'tn', ':e ~/code/docs/tech_notes/300_tech_notes.qmd', { desc = 'Tech Notes' }) +vim.keymap.set('n', 'mln', ':e ~/code/docs/tech_notes/500_ML_Notes.qmd', { desc = 'ML Notes' }) +vim.keymap.set('n', 'bw', 'i**Ea**w', { desc = "[B]old [W]ord" }) +-- insert # --------... +vim.keymap.set("n", "ic", "yypVr-I# ", { desc = "[ic]insert comment line" }) + +------------------------------------------------------ +-- which-key +------------------------------------------------------ +-- experiment; add my keymaps to which-key +-- stolen: REF: https://github.com/hackorum/nfs/blob/master/lua/whichkey-config/init.lua +------------------------------------------------------ +--{{{ +local wk = require 'which-key' +wk.setup { + plugins = { + marks = false, + registers = true, + spelling = { enabled = false, suggestions = 20 }, + presets = { + operators = false, + motions = false, + text_objects = false, + windows = false, + nav = false, + -- z = false, + g = false, + }, + }, +} +local mappings = { + -- g is an experiment and duplicates done elsewhere + g = { + name = "temp file", + f = { "Telescope find_files", "Find File" }, -- create a binding with label + g = { "Telescope live_grep", "Full Text Search" }, + b = { "Telescope buffers", "Buffers" }, + q = { "q", 'Quit - no warn' }, + }, + t = { + name = "telescope", + f = { "Telescope find_files", "Find File" }, -- create a binding with label + z = { "Telescope find_files", "Find File", desc = "Search Home", pwd = '/home/jim' }, -- create a binding with label + }, + + q = { ':q', 'Quit - no warn' }, + Q = { ':wq', 'Save & Quit' }, + w = { ':w', 'Save' }, + x = { ':bdelete', 'Close' }, + -- use :RKill to stop R, close terminal (not guaranteed) + z1 = { 'p', 'other window' }, + z2 = { 'pAjunk', 'other window junk' }, + rk = { ':RKill', 'RKill , but not guaranteed to close terminal' }, + -- use ck E = { ':e ~/.config/kickstart/init.lua', 'Edit KICKSTART config' }, + ck = { ':e ~/.config/kickstart/init.lua', '[ck] Edit KICKSTART config' }, + -- f = { ":Telescope find_files", "Telescope Find Files" }, + -- r = { ":Telescope live_grep", "Telescope Live Grep" }, +} +local opts = { prefix = '' } +wk.register(mappings, opts) +-- }}} diff --git a/skeleton/skeleton.qmd b/skeleton/skeleton.qmd index ea337add..57e589e1 100644 --- a/skeleton/skeleton.qmd +++ b/skeleton/skeleton.qmd @@ -1,8 +1,12 @@ - +--- +title: Loose Leaf +date: last-modified +# Quarto requires title, if want date to appear +--- ```{r} ``` -vim:linebreak:nospell:nowrap:cul tw=78 fo=tqlnr foldcolumn=1 cc=+1 filetype=r +vim:linebreak:nospell:nowrap:cul tw=78 fo=tqlnrc foldcolumn=1 cc=+1 filetype=r