disable oil, enable mini.files

This commit is contained in:
2026-09-18 14:33:35 +02:00
parent c71d6ae982
commit 75eae3f174
4 changed files with 97 additions and 96 deletions
+2 -6
View File
@@ -53,13 +53,9 @@ Refresh shortcuts (oil and buffers):
- `gR` refresh the current buffer - `gR` refresh the current buffer
- `<F5>` refresh the current buffer - `<F5>` refresh the current buffer
Oil usage: Files usage:
- `<leader>dl` opens the file browser - `<leader>e` opens the file browser
- `-`, `<BS>` goes to the parent directory
- `<A-h>` also goes to the parent directory
- `<A-l>` opens the selected file or enters the selected directory
- `<C-p>` previews the selected entry
- `gx` opens the file in external viewer - `gx` opens the file in external viewer
Toggle shortcuts: Toggle shortcuts:
+3 -1
View File
@@ -20,7 +20,9 @@ end
map("n", "<leader><leader>r", ":source ~/.config/nvim/init.lua<CR>", { desc = "reload init.lua" }) map("n", "<leader><leader>r", ":source ~/.config/nvim/init.lua<CR>", { desc = "reload init.lua" })
map("n", "<leader><leader>h", telescope_picker("keymaps"), { desc = "show keymaps" }) map("n", "<leader><leader>h", telescope_picker("keymaps"), { desc = "show keymaps" })
map("n", "<leader>dl", "<Cmd>Oil<CR>", { desc = "open oil" }) map("n", "<leader>e", function()
MiniFiles.open()
end, { desc = "open mini.files" })
map("n", "<leader>ff", telescope_picker("find_files"), { desc = "find files" }) map("n", "<leader>ff", telescope_picker("find_files"), { desc = "find files" })
map("n", "<leader>fg", telescope_picker("live_grep"), { desc = "live grep" }) map("n", "<leader>fg", telescope_picker("live_grep"), { desc = "live grep" })
map("n", "<leader>fb", telescope_picker("buffers"), { desc = "find buffers" }) map("n", "<leader>fb", telescope_picker("buffers"), { desc = "find buffers" })
@@ -9,6 +9,7 @@ vim.pack.add({
local clue = require("mini.clue") local clue = require("mini.clue")
local completion = require("mini.completion") local completion = require("mini.completion")
local icons = require("mini.icons") local icons = require("mini.icons")
local files = require("mini.files")
local git = require("mini.git") local git = require("mini.git")
local diff = require("mini.diff") local diff = require("mini.diff")
local statusline = require("mini.statusline") local statusline = require("mini.statusline")
@@ -42,6 +43,8 @@ clue.setup({
icons.setup({}) icons.setup({})
files.setup({})
git.setup({}) git.setup({})
diff.setup({}) diff.setup({})
+89 -89
View File
@@ -1,89 +1,89 @@
vim.pack.add({ -- vim.pack.add({
{ -- {
src = "https://github.com/stevearc/oil.nvim", -- src = "https://github.com/stevearc/oil.nvim",
name = "oil.nvim", -- name = "oil.nvim",
}, -- },
{ -- {
src = "https://github.com/malewicz1337/oil-git.nvim", -- src = "https://github.com/malewicz1337/oil-git.nvim",
name = "oil-git.nvim", -- name = "oil-git.nvim",
}, -- },
}) -- })
--
local function set_oil_git_highlights() -- local function set_oil_git_highlights()
vim.api.nvim_set_hl(0, "OilGitAdded", { link = "MiniDiffSignAdd" }) -- vim.api.nvim_set_hl(0, "OilGitAdded", { link = "MiniDiffSignAdd" })
vim.api.nvim_set_hl(0, "OilGitUntracked", { link = "MiniDiffSignAdd" }) -- vim.api.nvim_set_hl(0, "OilGitUntracked", { link = "MiniDiffSignAdd" })
vim.api.nvim_set_hl(0, "OilGitModifiedStaged", { link = "MiniDiffSignChange" }) -- vim.api.nvim_set_hl(0, "OilGitModifiedStaged", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitModifiedUnstaged", { link = "MiniDiffSignChange" }) -- vim.api.nvim_set_hl(0, "OilGitModifiedUnstaged", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitRenamed", { link = "MiniDiffSignChange" }) -- vim.api.nvim_set_hl(0, "OilGitRenamed", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitCopied", { link = "MiniDiffSignChange" }) -- vim.api.nvim_set_hl(0, "OilGitCopied", { link = "MiniDiffSignChange" })
vim.api.nvim_set_hl(0, "OilGitDeleted", { link = "MiniDiffSignDelete" }) -- vim.api.nvim_set_hl(0, "OilGitDeleted", { link = "MiniDiffSignDelete" })
vim.api.nvim_set_hl(0, "OilGitConflict", { link = "MiniDiffSignDelete" }) -- vim.api.nvim_set_hl(0, "OilGitConflict", { link = "MiniDiffSignDelete" })
vim.api.nvim_set_hl(0, "OilGitIgnored", { link = "Comment" }) -- vim.api.nvim_set_hl(0, "OilGitIgnored", { link = "Comment" })
end -- end
--
require("oil").setup({ -- require("oil").setup({
keymaps = { -- keymaps = {
["<C-h>"] = false, -- ["<C-h>"] = false,
["<C-j>"] = false, -- ["<C-j>"] = false,
["<C-k>"] = false, -- ["<C-k>"] = false,
["<C-l>"] = false, -- ["<C-l>"] = false,
["gR"] = "actions.refresh", -- replaces default <C-l> behavior -- ["gR"] = "actions.refresh", -- replaces default <C-l> behavior
["<F5>"] = "actions.refresh", -- ["<F5>"] = "actions.refresh",
["<C-s>"] = false, -- ["<C-s>"] = false,
["<C-p>"] = { "actions.preview", opts = { vertical = true, split = "belowright" } }, -- ["<C-p>"] = { "actions.preview", opts = { vertical = true, split = "belowright" } },
["<BS>"] = { "actions.parent", mode = "n" }, -- ["<BS>"] = { "actions.parent", mode = "n" },
}, -- },
view_options = { -- view_options = {
show_hidden = true, -- show_hidden = true,
is_hidden_file = function(_, _) -- is_hidden_file = function(_, _)
return false -- return false
end, -- end,
is_always_hidden = function(name, _) -- is_always_hidden = function(name, _)
return name == ".git" -- return name == ".git"
end, -- end,
}, -- },
}) -- })
--
local oil_git_trie = require("oil-git.trie") -- local oil_git_trie = require("oil-git.trie")
local oil_git_lookup = oil_git_trie.lookup -- local oil_git_lookup = oil_git_trie.lookup
--
-- ugly internal monkey patch to not show partially git-ignored foldres as grey -- -- ugly internal monkey patch to not show partially git-ignored foldres as grey
rawset(oil_git_trie, "lookup", function(root, entry_path, git_root, exclude_ignored) -- rawset(oil_git_trie, "lookup", function(root, entry_path, git_root, exclude_ignored)
local status = oil_git_lookup(root, entry_path, git_root, exclude_ignored) -- local status = oil_git_lookup(root, entry_path, git_root, exclude_ignored)
if status ~= "!!" or exclude_ignored then -- if status ~= "!!" or exclude_ignored then
return status -- return status
end -- end
--
local relative_path = entry_path:sub(#git_root + 2) -- local relative_path = entry_path:sub(#git_root + 2)
local node = root -- local node = root
for segment in relative_path:gmatch("[^/\\]+") do -- for segment in relative_path:gmatch("[^/\\]+") do
node = node.children[segment] -- node = node.children[segment]
if not node then -- if not node then
return nil -- return nil
end -- end
end -- end
--
-- oil-git normally propagates an ignored child's status to every parent. -- -- oil-git normally propagates an ignored child's status to every parent.
-- Only grey a directory when Git reported that directory itself as ignored. -- -- Only grey a directory when Git reported that directory itself as ignored.
if not node.is_dir_ignored then -- if not node.is_dir_ignored then
return nil -- return nil
end -- end
--
return status -- return status
end) -- end)
--
require("oil-git").setup({ -- require("oil-git").setup({
show_file_highlights = true, -- show_file_highlights = true,
show_directory_highlights = true, -- show_directory_highlights = true,
show_ignored_files = true, -- show_ignored_files = true,
show_ignored_directories = true, -- show_ignored_directories = true,
show_file_symbols = true, -- show_file_symbols = true,
show_directory_symbols = true, -- show_directory_symbols = true,
symbol_position = "none", -- symbol_position = "none",
}) -- })
--
set_oil_git_highlights() -- set_oil_git_highlights()
vim.api.nvim_create_autocmd("ColorScheme", { -- vim.api.nvim_create_autocmd("ColorScheme", {
group = vim.api.nvim_create_augroup("romanzy_oil_git_highlights", { clear = true }), -- group = vim.api.nvim_create_augroup("romanzy_oil_git_highlights", { clear = true }),
callback = set_oil_git_highlights, -- callback = set_oil_git_highlights,
}) -- })