commit - 6c74fe11071df85192d74581a021ecf67c13edb8
commit + 3be0639a9062658804becb993d8b2687c123c9c2
blob - 46e36084159eccf1f4a24a0259cea6e60da43b32
blob + 90b9c4a7b0a0a6a9f017bdc48ffac8843a9392d2
--- init.lua
+++ init.lua
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
-require 'config.options'
require 'plugins.lazy'
-require("lazy").setup({
- require 'plugins/telescope',
+require('lazy').setup({
+ require 'plugins/telescope'
})
+
+require 'config.options'
+require 'config.keymaps'
blob - a3eaa5736f0c1a2c5e030cda7d130ffbfacb0ea7
blob + 995738b008bada3c6825615a94fbd1640f7a7c32
--- lazy-lock.json
+++ lazy-lock.json
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
- "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
- "telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" }
+ "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }
}
blob - 24b261b466bd7a9f0419af6d5d5c1f40403b415d
blob + 0974f2dad9ec8b6ca79d7e71136f442486e8c4bc
--- lua/config/keymaps.lua
+++ lua/config/keymaps.lua
-- Clear highlights on search when pressing <Esc> in normal mode
--- See `:help hlsearch`
+-- See `:help hlsearch`
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
+-- Faster netrw mapping
+-- See `:help netrw`
+vim.keymap.set('n', '<leader>e', ':Ex<CR>')
+
-- Diagnostic keymaps
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier
-- for people to discover. Otherwise, you normally need to press <C-\><C-n>, which
-- is not what someone will guess without a bit more experience.
---
+
-- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping
-- or just use <C-\><C-n> to exit terminal mode
-vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
+-- See `:help terminal`
+vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
+vim.keymap.set('n', '<leader>e', ':Ex<CR>')
+-- Diagnostic keymaps
+vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
+
-- TIP: Disable arrow keys in normal mode
vim.keymap.set('n', '<left>', '<cmd>echo "No Arrows!"<CR>')
vim.keymap.set('n', '<right>', '<cmd>echo "No Arrows!"<CR>')
vim.keymap.set('n', '<down>', '<cmd>echo "No Arrows!"<CR>')
-- Keybinds to make split navigation easier.
--- Use CTRL+<hjkl> to switch between windows
---
+-- Use CTRL+<hjkl> to switch between windows
-- See `:help wincmd` for a list of all window commands
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
-- Highlight when yanking (copying) text
--- Try it with `yap` in normal mode
--- See `:help vim.highlight.on_yank()`
+-- Try it with `yap` in normal mode
+-- See `:help vim.highlight.on_yank()`
vim.api.nvim_create_autocmd('TextYankPost', {
desc = 'Highlight when yanking (copying) text',
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
vim.highlight.on_yank()
end,
})
+vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
--- vim: ts=2 sts=2 sw=2 et
+-- TIP: Disable arrow keys in normal mode
+vim.keymap.set('n', '<left>', '<cmd>echo "No Arrows!"<CR>')
+vim.keymap.set('n', '<right>', '<cmd>echo "No Arrows!"<CR>')
+vim.keymap.set('n', '<up>', '<cmd>echo "No Arrows!"<CR>')
+vim.keymap.set('n', '<down>', '<cmd>echo "No Arrows!"<CR>')
+
+-- Keybinds to make split navigation easier.
+-- Use CTRL+<hjkl> to switch between windows
+-- See `:help wincmd` for a list of all window commands
+vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
+vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
+vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
+vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
+
+-- Telescope keymaps
+-- See `:help telescope.builtin`
+vim.keymap.set('n', '<leader>sf', '<cmd>Telescope find_files<CR>', { desc = 'Find files' })
+vim.keymap.set('n', '<leader>sg', '<cmd>Telescope live_grep<CR>', { desc = 'Search text in files' })
+vim.keymap.set('n', '<leader>sb', '<cmd>Telescope buffers<CR>', { desc = 'List open buffers' })
+vim.keymap.set('n', '<leader>gf', '<cmd>Telescope git_files<CR>', { desc = 'Find Git-tracked files' })
+vim.keymap.set('n', '<leader>sh', '<cmd>Telescope help_tags<CR>', { desc = 'Search help tags' })
+vim.keymap.set('n', '<leader>sr', '<cmd>Telescope oldfiles<CR>', { desc = 'List recent files' })
+vim.keymap.set('n', '<leader>sz', '<cmd>Telescope current_buffer_fuzzy_find<CR>', { desc = 'Fuzzy find in current buffer' })
blob - 74c1e9ff7bb15a60dfb158b85524b8f9f96962ba
blob + cfba14dc15db438fe815d17a0d21d3f65ecaea4f
--- lua/config/options.lua
+++ lua/config/options.lua
vim.o.signcolumn = 'yes'
-- Decrease update time
-vim.o.updatetime = 250
+vim.o.updatetime = 100
-- Decrease mapped sequence wait time
vim.o.timeoutlen = 300
blob - ec610290e8d92a2f7a0683406c04e234a26a9887
blob + 242ede334e2859fea69f50f538bf9c6b6aad4d82
--- lua/plugins/lazy.lua
+++ lua/plugins/lazy.lua
--- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
blob - a3f45e823be3663fe5a6c315f3e505b8998c9138
blob + 4338fe2b02e3d3bdb5f6336488b458890784eaaa
--- lua/plugins/telescope.lua
+++ lua/plugins/telescope.lua
return {
- "nvim-telescope/telescope.nvim",
- event = "VimEnter",
- dependencies = {
- "nvim-lua/plenary.nvim",
- {
- "nvim-telescope/telescope-fzf-native.nvim",
- build = "make",
- cond = function()
- return vim.fn.executable "make" == 1
- end,
- },
- { "nvim-telescope/telescope-ui-select.nvim" },
- },
- config = function()
- require("telescope").setup {
- extensions = {
- ["ui-select"] = {
- require("telescope.themes").get_dropdown(),
- },
+ 'nvim-telescope/telescope.nvim',
+ branch = '0.1.x',
+ dependencies = {
+ 'nvim-lua/plenary.nvim',
+ {
+ 'nvim-telescope/telescope-fzf-native.nvim',
+
+ -- `build` is used to run some command when the plugin is installed/updated.
+ -- This is only run then, not every time Neovim starts up.
+ build = 'make',
+
+ -- `cond` is a condition used to determine whether this plugin should be
+ -- installed and loaded.
+ cond = function()
+ return vim.fn.executable 'make' == 1
+ end,
},
- }
- pcall(require("telescope").load_extension, "fzf")
- pcall(require("telescope").load_extension, "ui-select")
- local builtin = require("telescope.builtin")
- vim.keymap.set("n", "<leader>sh", builtin.help_tags, { desc = "[S]earch [H]elp" })
- vim.keymap.set("n", "<leader>sk", builtin.keymaps, { desc = "[S]earch [K]eymaps" })
- vim.keymap.set("n", "<leader>sf", builtin.find_files, { desc = "[S]earch [F]iles" })
- vim.keymap.set("n", "<leader>ss", builtin.builtin, { desc = "[S]earch [S]elect Telescope" })
- vim.keymap.set("n", "<leader>sw", builtin.grep_string, { desc = "[S]earch current [W]ord" })
- vim.keymap.set("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
- vim.keymap.set("n", "<leader>sd", builtin.diagnostics, { desc = "[S]earch [D]iagnostics" })
- vim.keymap.set("n", "<leader>sr", builtin.resume, { desc = "[S]earch [R]esume" })
- vim.keymap.set("n", "<leader>s.", builtin.oldfiles, { desc = "[S]earch Recent Files" })
- vim.keymap.set("n", "<leader><leader>", builtin.buffers, { desc = "[ ] Find existing buffers" })
- vim.keymap.set("n", "<leader>/", function()
- builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown {
- winblend = 10,
- previewer = false,
- })
- end, { desc = "[/] Fuzzily search in current buffer" })
- vim.keymap.set("n", "<leader>s/", function()
- builtin.live_grep {
- grep_open_files = true,
- prompt_title = "Live Grep in Open Files",
- }
- end, { desc = "[S]earch [/] in Open Files" })
- vim.keymap.set("n", "<leader>sn", function()
- builtin.find_files { cwd = vim.fn.stdpath "config" }
- end, { desc = "[S]earch [N]eovim files" })
- end,
+ },
+ cmd = 'Telescope', -- Lazy-load on :Telescope command
+ config = function()
+ pcall(require('telescope').load_extension, 'fzf')
+ require('telescope').setup({
+ defaults = {
+ -- Minimal layout for speed
+ layout_strategy = 'horizontal',
+ layout_config = {
+ width = 0.8,
+ height = 0.8,
+ preview_width = 0.6,
+ },
+ -- Disable costly folders
+ file_ignore_patterns = { 'node_modules', '.git/' },
+ -- Basic mappings for efficiency
+ mappings = {
+ i = {
+ ['<C-j>'] = 'move_selection_next',
+ ['<C-k>'] = 'move_selection_previous',
+ ['<C-c>'] = 'close',
+ },
+ n = {
+ ['q'] = 'close',
+ },
+ },
+ },
+ })
+ end,
}
--- vim: ts=2 sts=2 sw=2 et