mirror of
https://github.com/nvim-lua/kickstart.nvim.git
synced 2025-06-23 21:58:36 +02:00
Inserting zoxide
This commit is contained in:
parent
439f26e105
commit
d350f910b6
4 changed files with 126 additions and 5 deletions
43
init.lua
43
init.lua
|
@ -279,7 +279,7 @@ require('lazy').setup({
|
|||
},
|
||||
},
|
||||
},
|
||||
|
||||
{ 'jvgrootveld/telescope-zoxide', opts = {} },
|
||||
-- NOTE: Plugins can also be configured to run Lua code when they are loaded.
|
||||
--
|
||||
-- This is often very useful to both group configuration, as well as handle
|
||||
|
@ -403,6 +403,7 @@ require('lazy').setup({
|
|||
|
||||
-- [[ Configure Telescope ]]
|
||||
-- See `:help telescope` and `:help telescope.setup()`
|
||||
local z_utils = require 'telescope._extensions.zoxide.utils'
|
||||
require('telescope').setup {
|
||||
-- You can put your default mappings / updates / etc. in here
|
||||
-- All the info you're looking for is in `:help telescope.setup()`
|
||||
|
@ -422,11 +423,42 @@ require('lazy').setup({
|
|||
auto_quoting = true,
|
||||
theme = 'dropdown',
|
||||
},
|
||||
['zoxide'] = {
|
||||
prompt_title = '[ Zoxide List ]',
|
||||
|
||||
-- Zoxide list command with score
|
||||
list_command = 'zoxide query -ls',
|
||||
mappings = {
|
||||
default = {
|
||||
action = function(selection)
|
||||
vim.cmd.cd(selection.path)
|
||||
end,
|
||||
after_action = function(selection)
|
||||
vim.notify('Directory changed to ' .. selection.path)
|
||||
end,
|
||||
},
|
||||
['<C-s>'] = { action = z_utils.create_basic_command 'split' },
|
||||
['<C-v>'] = { action = z_utils.create_basic_command 'vsplit' },
|
||||
['<C-e>'] = { action = z_utils.create_basic_command 'edit' },
|
||||
['<C-f>'] = {
|
||||
keepinsert = true,
|
||||
action = function(selection)
|
||||
builtin.find_files { cwd = selection.path }
|
||||
end,
|
||||
},
|
||||
['<C-t>'] = {
|
||||
action = function(selection)
|
||||
vim.cmd.tcd(selection.path)
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- Enable Telescope extensions if they are installed
|
||||
pcall(require('telescope').load_extension, 'fzf')
|
||||
pcall(require('telescope').load_extension, 'zoxide')
|
||||
pcall(require('telescope').load_extension, 'ui-select')
|
||||
|
||||
-- See `:help telescope.builtin`
|
||||
|
@ -740,8 +772,8 @@ require('lazy').setup({
|
|||
end,
|
||||
formatters_by_ft = {
|
||||
cmake = { 'cmakelang' },
|
||||
cpp = { 'clang_format' },
|
||||
json = { 'clang_format' },
|
||||
cpp = { 'clang-format' },
|
||||
json = { 'clang-format' },
|
||||
lua = { 'stylua' },
|
||||
-- Conform can also run multiple formatters sequentially
|
||||
python = { 'isort' },
|
||||
|
@ -879,7 +911,7 @@ require('lazy').setup({
|
|||
-- Load the colorscheme here.
|
||||
-- Like many other themes, this one has different styles, and you could load
|
||||
-- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'.
|
||||
vim.cmd.colorscheme 'wildcharm'
|
||||
vim.cmd.colorscheme 'retrobox'
|
||||
|
||||
-- You can configure highlights by doing something like:
|
||||
vim.cmd.hi 'Comment gui=none'
|
||||
|
@ -971,7 +1003,7 @@ require('lazy').setup({
|
|||
-- Uncomment any of the lines below to enable them (you will need to restart nvim).
|
||||
--
|
||||
-- require 'kickstart.plugins.debug',
|
||||
-- require 'kickstart.plugins.indent_line',
|
||||
require 'kickstart.plugins.indent_line',
|
||||
-- require 'kickstart.plugins.lint',
|
||||
-- require 'kickstart.plugins.autopairs',
|
||||
-- require 'kickstart.plugins.neo-tree',
|
||||
|
@ -1042,3 +1074,4 @@ require('lazy').setup({
|
|||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
require 'custom/keymap'
|
||||
|
|
13
lua/custom/autocommands.lua
Normal file
13
lua/custom/autocommands.lua
Normal file
|
@ -0,0 +1,13 @@
|
|||
-- [[ Basic Autocommands ]]
|
||||
-- See `:help lua-guide-autocommands`
|
||||
|
||||
-- Highlight when yanking (copying) text
|
||||
-- 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 }),
|
||||
callback = function()
|
||||
vim.highlight.on_yank()
|
||||
end,
|
||||
})
|
35
lua/custom/keymap.lua
Normal file
35
lua/custom/keymap.lua
Normal file
|
@ -0,0 +1,35 @@
|
|||
-- [[ Basic Keymaps ]]
|
||||
-- See `:help vim.keymap.set()`
|
||||
|
||||
-- Set highlight on search, but clear on pressing <Esc> in normal mode
|
||||
vim.keymap.set('n', '<leader>fa', '<cmd>lua vim.lsp.buf.format()<CR>')
|
||||
vim.keymap.set('n', '<leader>mt', '<cmd>NvimTreeFocus<CR>')
|
||||
vim.keymap.set('n', '<C-o>', '<cmd>ClangdSwitchSourceHeader<CR>')
|
||||
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
|
||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous [D]iagnostic message' })
|
||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next [D]iagnostic message' })
|
||||
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = 'Show diagnostic [E]rror messages' })
|
||||
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
|
||||
vim.keymap.set('n', '<leader>z', require('telescope').extensions.zoxide.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' })
|
||||
|
||||
-- TIP: Disable arrow keys in normal mode
|
||||
-- vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
|
||||
-- vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
|
||||
-- vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
|
||||
-- vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<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' })
|
40
lua/custom/vim_options.lua
Normal file
40
lua/custom/vim_options.lua
Normal file
|
@ -0,0 +1,40 @@
|
|||
vim.g.mapleader = ' '
|
||||
vim.g.maplocalleader = ' '
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
vim.g.have_nerd_font = true
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.encoding = 'UTF-8'
|
||||
vim.opt.wrap = false
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.autoindent = true
|
||||
vim.api.nvim_create_augroup('neotree', {})
|
||||
vim.api.nvim_create_autocmd('UiEnter', {
|
||||
desc = 'Open Neotree automatically',
|
||||
group = 'neotree',
|
||||
callback = function()
|
||||
if vim.fn.argc() == 0 then
|
||||
vim.cmd 'NvimTreeToggle'
|
||||
end
|
||||
end,
|
||||
})
|
||||
vim.opt.number = true
|
||||
vim.opt.mouse = 'a'
|
||||
vim.opt.showmode = false
|
||||
vim.opt.clipboard = 'unnamedplus'
|
||||
vim.opt.breakindent = true
|
||||
vim.opt.undofile = true
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.smartcase = true
|
||||
vim.opt.signcolumn = 'yes'
|
||||
vim.opt.updatetime = 250
|
||||
vim.opt.timeoutlen = 300
|
||||
vim.opt.splitright = true
|
||||
vim.opt.splitbelow = true
|
||||
vim.opt.list = true
|
||||
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
|
||||
vim.opt.inccommand = 'split'
|
||||
vim.opt.cursorline = true
|
||||
vim.opt.scrolloff = 10
|
||||
vim.opt.hlsearch = true
|
Loading…
Add table
Add a link
Reference in a new issue