diff options
Diffstat (limited to '.vim/init.lua')
| -rw-r--r-- | .vim/init.lua | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/.vim/init.lua b/.vim/init.lua index daa991f..3b5bf52 100644 --- a/.vim/init.lua +++ b/.vim/init.lua @@ -155,8 +155,16 @@ vim.keymap.set('n', '<tab>', [[ :normal za<cr> ]], {silent = true}) -- vim.keymap.set('n', '<tab>', [[ :exe 'normal za' | IndentBlanklineRefresh<cr> ]], {silent = true}) -- swap gf and gF -vim.keymap.set('n', 'gf', [[ :e <cfile><cr> ]]) -vim.keymap.set('v', 'gf', [[ :e <cfile><cr> ]]) +-- vim.keymap.set('n', 'gf', [[ :e <cfile><cr> ]]) +-- vim.keymap.set('v', 'gf', [[ :e <cfile><cr> ]]) +vim.keymap.set({'n', 'v'}, 'gf', function(a) + local Path = require('plenary.path') + local cfile = Path:new(vim.fn.expand('<cfile>')) + if not cfile:is_absolute() then + cfile = Path:new(vim.fn.expand('%:p:h'), cfile):normalize() + end + vim.cmd.edit(cfile) +end, {desc='extends `:e <cfile>` with path normalization'}) vim.keymap.set('n', '{', [[ {zz ]]) vim.keymap.set('n', '}', [[ }zz ]]) @@ -174,7 +182,6 @@ vim.keymap.set('v', 'T', local misc = require('internal.misc') vim.keymap.set('n', 'gd', function() misc.open_under_cursor(nil, true) end, {desc='open under cursor'}) --- vim.keymap.set('n', 'gf', function() misc.file_under_cursor(function(s) vim.cmd('edit ' .. s) end) end) vim.keymap.set('n', 'gx', function() misc.open_under_cursor('url-launcher') end, {desc='url-launcher'}) vim.keymap.set('n', 'gu', function() misc.open_under_cursor('url-launcher') end, {desc='url-launcher'}) -- vim.keymap.set('n', '<localleader>gs', function() misc.word_under_cursor(function(s) vim.fn.feedkeys(':%s/' .. s .. '//g'); cmd [[ call feedkeys("\<left>\<left>") ]] end) end) |