Compare commits

...

4 commits

Author SHA1 Message Date
Bruno BELANYI 16d68022eb home: vim: enable swap and undo files
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Trying it on for size, since NeoVim does use XDG directories for those.
2024-07-12 19:13:09 +01:00
Bruno BELANYI 0de9966127 home: vim: remove redundant 'nobackup'
It's already the default.
2024-07-12 19:13:09 +01:00
Bruno BELANYI 452399ee4c home: vim: oil: add detail view toggle mapping 2024-07-12 19:12:58 +01:00
Bruno BELANYI 6a6f3aed63 home: vim: migrate to 'oil.nvim' 2024-07-12 19:12:12 +01:00
4 changed files with 39 additions and 11 deletions

View file

@ -1,6 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" Don't show Netrw in buffer list
setlocal bufhidden=delete
let b:undo_ftplugin='|setlocal bufhidden<'

View file

@ -46,7 +46,6 @@ in
vim-repeat # Enanche '.' for plugins
vim-rsi # Readline mappings
vim-unimpaired # Some ex command mappings
vim-vinegar # Better netrw
# Languages
rust-vim
@ -85,6 +84,7 @@ in
dressing-nvim # Integrate native UI hooks with Telescope etc...
gitsigns-nvim # Fast git UI integration
nvim-surround # Deal with pairs, now in Lua
oil-nvim # Better alternative to NetrW
telescope-fzf-native-nvim # Use 'fzf' fuzzy matching algorithm
telescope-lsp-handlers-nvim # Use 'telescope' for various LSP actions
telescope-nvim # Fuzzy finder interface

View file

@ -38,10 +38,10 @@ set tabstop=8
" File parameters {{{
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Disable backups, we have source control for that
set nobackup
" Disable swapfiles too
set noswapfile
" Enable swap files
set swapfile
" And undo files
set undofile
" }}}
" UI and UX parameters {{{

View file

@ -0,0 +1,34 @@
local oil = require("oil")
local wk = require("which-key")
local detail = false
oil.setup({
view_options = {
-- Show files and directories that start with "." by default
show_hidden = true,
-- But never '..'
is_always_hidden = function(name, bufnr)
return name == ".."
end,
},
keymaps = {
["gd"] = {
desc = "Toggle file detail view",
callback = function()
detail = not detail
if detail then
oil.set_columns({ "icon", "permissions", "size", "mtime" })
else
oil.set_columns({ "icon" })
end
end,
},
},
})
local keys = {
["-"] = { oil.open, "Open parent directory" },
}
wk.register(keys)