Switch to oil.nvim and drop netrw
This commit is contained in:
parent
745f6c408b
commit
3d736dca8a
29
lua/plugins/oil.lua
Normal file
29
lua/plugins/oil.lua
Normal file
@ -0,0 +1,29 @@
|
||||
return {
|
||||
'stevearc/oil.nvim',
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
lazy = false,
|
||||
config = function()
|
||||
require('oil').setup({
|
||||
keymaps = {
|
||||
["g?"] = { "actions.show_help", mode = "n" },
|
||||
["<CR>"] = "actions.select",
|
||||
["<leader>l"] = "actions.refresh",
|
||||
["-"] = { "actions.parent", mode = "n" },
|
||||
["_"] = { "actions.open_cwd", mode = "n" },
|
||||
["`"] = { "actions.cd", mode = "n" },
|
||||
["~"] = { "actions.cd", opts = { scope = "tab" }, mode = "n" },
|
||||
["gs"] = { "actions.change_sort", mode = "n" },
|
||||
["gx"] = "actions.open_external",
|
||||
["g."] = { "actions.toggle_hidden", mode = "n" },
|
||||
["g\\"] = { "actions.toggle_trash", mode = "n" },
|
||||
},
|
||||
use_default_keymaps = false,
|
||||
})
|
||||
vim.keymap.set("n", "-", function()
|
||||
local dir = vim.fn.expand("%:h")
|
||||
vim.cmd.Oil(dir ~= "" and dir or ".")
|
||||
end, {})
|
||||
end
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
-- Disable banner
|
||||
vim.g.netrw_banner = 0
|
||||
|
||||
-- Fix gx when running inside WSL
|
||||
if vim.env.WSLENV then
|
||||
vim.g.netrw_browsex_viewer = 'cmd.exe /C start'
|
||||
end
|
||||
|
||||
-- Sort files in a sensible sequence
|
||||
vim.g.netrw_sort_sequence = '[\\/]$,*'
|
||||
|
||||
-- Map - key to open netrw in current files parent directory
|
||||
vim.keymap.set('n', '-', function()
|
||||
-- Get the filename before invoking netrw
|
||||
local filename = vim.fn.expand('%:t')
|
||||
local directory = vim.fn.expand('%:hp')
|
||||
|
||||
if directory == '' then
|
||||
directory = vim.fn.getcwd()
|
||||
end
|
||||
|
||||
-- Invoke netrw on the directory containing the current file
|
||||
vim.fn.execute(string.format("edit %s", directory))
|
||||
if filename ~= '' then
|
||||
-- In the netrw buffer, move the cursor to the first character of filename
|
||||
vim.fn.search('\\<' .. filename .. '\\>')
|
||||
end
|
||||
end)
|
||||
|
||||
-- Unmap <C-l> in netrw buffers so it can be used for natigation
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = 'netrw',
|
||||
group = vim.api.nvim_create_augroup('netrw_unmap', {}),
|
||||
callback = function()
|
||||
local buffer = vim.api.nvim_get_current_buf()
|
||||
if vim.fn.hasmapto('<Plug>NetrwRefresh') == 1 then
|
||||
vim.keymap.del('n', '<C-l>', { buffer = buffer })
|
||||
end
|
||||
end
|
||||
})
|
Loading…
x
Reference in New Issue
Block a user