如何扩展Vim的%寄存器,使其可插入文件完整路径?
扩展Vim的%寄存器以插入文件完整路径
有两种方法可以实现需求,按需选择:
1. 直接插入完整路径(无需修改寄存器)
不用改动%寄存器的默认行为,直接在插入/命令模式下输入:<Ctrl+r>=expand('%:p')<CR>
这里的expand('%:p')是Vim内置函数,:p修饰符会把当前文件名扩展为完整绝对路径,执行后内容会直接插入到光标位置。
2. 修改%寄存器默认返回完整路径
如果希望每次用<Ctrl+r %>都直接插入完整路径,可以在Vim配置文件(~/.vimrc 或 Neovim的~/.config/nvim/init.vim)中添加以下自动命令:
autocmd BufEnter * let @% = expand('%:p')
这条命令会在每次进入缓冲区时,自动把%寄存器的值替换为当前文件的完整路径。
注意事项
修改%寄存器可能会影响部分依赖其默认相对路径行为的脚本或插件,如果你只是偶尔需要完整路径,优先用第一种方法更稳妥。
内容的提问来源于stack exchange,提问作者KarlsD
相关产品推荐
相关产品推荐

