diff options
| author | Hsieh Chin Fan <pham@topo.tw> | 2024-06-08 17:06:10 +0800 |
|---|---|---|
| committer | Hsieh Chin Fan <pham@topo.tw> | 2024-06-08 17:06:10 +0800 |
| commit | 024dd04edc16693545fb916150e6361f0626aad0 (patch) | |
| tree | 3659d77e27ec2d8ac515aa034e67397928d27c62 | |
| parent | a0417c10ed8c5249eea5ba9911ca128dfe5598ca (diff) | |
Update
| -rw-r--r-- | snippets/html/html_with_basic_head | 21 | ||||
| -rw-r--r-- | snippets/lua/keymap | 6 | ||||
| -rw-r--r-- | vim/lazy/lazy.lua | 56 |
3 files changed, 65 insertions, 18 deletions
diff --git a/snippets/html/html_with_basic_head b/snippets/html/html_with_basic_head new file mode 100644 index 0000000..219bae2 --- /dev/null +++ b/snippets/html/html_with_basic_head | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | <!DOCTYPE html> | ||
| 2 | <html lang="en"> | ||
| 3 | <head> | ||
| 4 | <meta charset="UTF-8"> | ||
| 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
| 6 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | ||
| 7 | |||
| 8 | <title>My Website</title> | ||
| 9 | |||
| 10 | <link rel="stylesheet" href="./style.css"> | ||
| 11 | <link rel="icon" href="./favicon.ico" type="image/x-icon"> | ||
| 12 | |||
| 13 | <script defer src="index.js"></script> | ||
| 14 | </head> | ||
| 15 | <body> | ||
| 16 | <header></header> | ||
| 17 | <main> | ||
| 18 | <h1>foo</h1> | ||
| 19 | </main> | ||
| 20 | </body> | ||
| 21 | </html> | ||
diff --git a/snippets/lua/keymap b/snippets/lua/keymap new file mode 100644 index 0000000..7ea9396 --- /dev/null +++ b/snippets/lua/keymap | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | vim.keymap.set( | ||
| 2 | 'n', | ||
| 3 | '<leader>gp', | ||
| 4 | require('gitsigns').prev_hunk, | ||
| 5 | { buffer = bufnr, desc = '[G]o to [P]revious Hunk' } | ||
| 6 | ) | ||
diff --git a/vim/lazy/lazy.lua b/vim/lazy/lazy.lua index f4cbf0f..efd545f 100644 --- a/vim/lazy/lazy.lua +++ b/vim/lazy/lazy.lua | |||
| @@ -72,13 +72,13 @@ require('lazy').setup({ | |||
| 72 | changedelete = { text = '~' }, | 72 | changedelete = { text = '~' }, |
| 73 | }, | 73 | }, |
| 74 | on_attach = function(bufnr) | 74 | on_attach = function(bufnr) |
| 75 | |||
| 76 | vim.keymap.set('n', '<leader>gp', require('gitsigns').prev_hunk, | 75 | vim.keymap.set('n', '<leader>gp', require('gitsigns').prev_hunk, |
| 77 | { buffer = bufnr, desc = '[G]o to [P]revious Hunk' }) | 76 | { buffer = bufnr, desc = '[G]o to [P]revious Hunk' }) |
| 78 | vim.keymap.set('n', '<leader>gn', require('gitsigns').next_hunk, { buffer = bufnr, desc = '[G]o to [N]ext Hunk' }) | 77 | vim.keymap.set('n', '<leader>gn', require('gitsigns').next_hunk, { buffer = bufnr, desc = '[G]o to [N]ext Hunk' }) |
| 79 | vim.keymap.set('n', '<leader>ph', require('gitsigns').preview_hunk, { buffer = bufnr, desc = '[P]review [H]unk' }) | 78 | vim.keymap.set('n', '<leader>ph', require('gitsigns').preview_hunk, { buffer = bufnr, desc = '[P]review [H]unk' }) |
| 80 | vim.keymap.set('n', '<leader>hd', require('gitsigns').diffthis, { buffer = bufnr, desc = '[h]unk [d]iff' }) | 79 | vim.keymap.set('n', '<leader>hd', require('gitsigns').diffthis, { buffer = bufnr, desc = '[h]unk [d]iff' }) |
| 81 | vim.keymap.set('n', '<leader>hD', function() require('gitsigns').diffthis('~') end, { buffer = bufnr, desc = '[h]unk [d]iff for ~' }) | 80 | vim.keymap.set('n', '<leader>hD', function() require('gitsigns').diffthis('~') end, |
| 81 | { buffer = bufnr, desc = '[h]unk [d]iff for ~' }) | ||
| 82 | vim.keymap.set('v', 'hr', ":Gitsigns reset_hunk<CR>", { buffer = bufnr, desc = '[h]unk [r]eset' }) | 82 | vim.keymap.set('v', 'hr', ":Gitsigns reset_hunk<CR>", { buffer = bufnr, desc = '[h]unk [r]eset' }) |
| 83 | end, | 83 | end, |
| 84 | }, | 84 | }, |
| @@ -188,6 +188,14 @@ require('lazy').setup({ | |||
| 188 | }, | 188 | }, |
| 189 | }, | 189 | }, |
| 190 | 190 | ||
| 191 | -- install without yarn or npm | ||
| 192 | { | ||
| 193 | "iamcco/markdown-preview.nvim", | ||
| 194 | cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, | ||
| 195 | ft = { "markdown" }, | ||
| 196 | build = function() vim.fn["mkdp#util#install"]() end, | ||
| 197 | }, | ||
| 198 | |||
| 191 | -- For beancount | 199 | -- For beancount |
| 192 | 'nathangrigg/vim-beancount', | 200 | 'nathangrigg/vim-beancount', |
| 193 | 201 | ||
| @@ -310,12 +318,6 @@ require('lazy').setup({ | |||
| 310 | build = ':TSUpdate', | 318 | build = ':TSUpdate', |
| 311 | }, | 319 | }, |
| 312 | 320 | ||
| 313 | -- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart | ||
| 314 | -- These are some example plugins that I've included in the kickstart repository. | ||
| 315 | -- Uncomment any of the lines below to enable them. | ||
| 316 | -- require 'kickstart.plugins.autoformat', | ||
| 317 | -- require 'kickstart.plugins.debug', | ||
| 318 | |||
| 319 | -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` | 321 | -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` |
| 320 | -- You can use this folder to prevent any conflicts with this init.lua if you're interested in keeping | 322 | -- You can use this folder to prevent any conflicts with this init.lua if you're interested in keeping |
| 321 | -- up-to-date with whatever is in the kickstart repo. | 323 | -- up-to-date with whatever is in the kickstart repo. |
| @@ -323,13 +325,6 @@ require('lazy').setup({ | |||
| 323 | -- | 325 | -- |
| 324 | -- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins | 326 | -- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins |
| 325 | -- { import = 'custom.plugins' }, | 327 | -- { import = 'custom.plugins' }, |
| 326 | -- install without yarn or npm | ||
| 327 | { | ||
| 328 | "iamcco/markdown-preview.nvim", | ||
| 329 | cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, | ||
| 330 | ft = { "markdown" }, | ||
| 331 | build = function() vim.fn["mkdp#util#install"]() end, | ||
| 332 | }, | ||
| 333 | }, {}) | 328 | }, {}) |
| 334 | 329 | ||
| 335 | -- [[ Setting options ]] | 330 | -- [[ Setting options ]] |
| @@ -441,7 +436,8 @@ require('telescope').setup { | |||
| 441 | ["<c-d>"] = "delete_buffer", | 436 | ["<c-d>"] = "delete_buffer", |
| 442 | } | 437 | } |
| 443 | } | 438 | } |
| 444 | } | 439 | }, |
| 440 | |||
| 445 | }, | 441 | }, |
| 446 | extensions = { | 442 | extensions = { |
| 447 | aerial = { | 443 | aerial = { |
| @@ -459,8 +455,9 @@ require('telescope').setup { | |||
| 459 | pcall(require('telescope').load_extension, 'fzf') | 455 | pcall(require('telescope').load_extension, 'fzf') |
| 460 | 456 | ||
| 461 | -- See `:help telescope.builtin` | 457 | -- See `:help telescope.builtin` |
| 462 | vim.keymap.set('n', '<leader>f', require('telescope.builtin').oldfiles, { desc = '[f] Find recently opened files' }) | 458 | vim.keymap.set('n', '<leader>f', require('telescope.builtin').oldfiles, { desc = '[F] Find recently opened files' }) |
| 463 | vim.keymap.set('n', '<leader>b', require('telescope.builtin').buffers, { desc = '[b] Find existing buffers' }) | 459 | vim.keymap.set('n', '<leader>b', require('telescope.builtin').buffers, { desc = '[B] Find existing buffers' }) |
| 460 | vim.keymap.set('n', '<leader>st', require('telescope.builtin').builtin, { desc = '[S]earch [T]elescope for builtin' }) | ||
| 464 | vim.keymap.set('n', '<leader>gf', require('telescope.builtin').git_files, { desc = 'Search [G]it [F]iles' }) | 461 | vim.keymap.set('n', '<leader>gf', require('telescope.builtin').git_files, { desc = 'Search [G]it [F]iles' }) |
| 465 | vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' }) | 462 | vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' }) |
| 466 | vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) | 463 | vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) |
| @@ -479,6 +476,29 @@ end, { desc = '[/] Fuzzily search in current buffer' }) | |||
| 479 | vim.keymap.set('n', '<leader>sn', function() | 476 | vim.keymap.set('n', '<leader>sn', function() |
| 480 | require('telescope.builtin').find_files { cwd = vim.fn.stdpath 'config' } | 477 | require('telescope.builtin').find_files { cwd = vim.fn.stdpath 'config' } |
| 481 | end, { desc = '[S]earch [N]eovim files' }) | 478 | end, { desc = '[S]earch [N]eovim files' }) |
| 479 | -- Get snippets from ~/helper/snippets | ||
| 480 | vim.keymap.set('n', '<leader>ss', function() | ||
| 481 | local current_filetype = vim.bo.filetype | ||
| 482 | local cwd = '/home/pham/helper/snippets/' .. current_filetype | ||
| 483 | require('telescope.builtin').find_files { | ||
| 484 | prompt_title = 'Select a snippet for ' .. current_filetype, | ||
| 485 | cwd = cwd, | ||
| 486 | attach_mappings = function(prompt_bufnr, map) | ||
| 487 | local insert_selected_snippet = function() | ||
| 488 | local file = require('telescope.actions.state').get_selected_entry()[1] | ||
| 489 | local snippet_content = vim.fn.readfile(cwd .. "/" .. file) | ||
| 490 | require('telescope.actions').close(prompt_bufnr) | ||
| 491 | vim.api.nvim_command('normal! h') | ||
| 492 | vim.api.nvim_put(snippet_content, '', false, true) | ||
| 493 | end | ||
| 494 | |||
| 495 | map('i', '<CR>', insert_selected_snippet) | ||
| 496 | map('n', '<CR>', insert_selected_snippet) | ||
| 497 | |||
| 498 | return true | ||
| 499 | end, | ||
| 500 | } | ||
| 501 | end, { desc = '[S]earch [S]nippets' }) | ||
| 482 | 502 | ||
| 483 | -- [[ Configure Treesitter ]] | 503 | -- [[ Configure Treesitter ]] |
| 484 | -- See `:help nvim-treesitter` | 504 | -- See `:help nvim-treesitter` |