我正在使用 Neovim 0.5,想要编写一个自定义函数来与telescope.nvim.
在执行该函数之前,我需要获取当前缓冲区中加载的文件的路径。在阅读 Neovim Lua API 文档后,我一直无法找到如何执行此操作。
到目前为止,我发现vim.api.nvim_get_current_buf()返回当前缓冲区编号,但是如何获取当前缓冲区的完整文件路径?
Ist*_*115 32
您可以使用 访问当前缓冲区中文件的完整路径vim.api.nvim_buf_get_name(0),其中0buffer id 表示“当前缓冲区”。
https://neovim.io/doc/user/api.html#nvim_buf_get_name()
小智 25
您正在寻找的功能是:
vim.fn.expand('%')
Run Code Online (Sandbox Code Playgroud)
%扩展为当前文件名。
请参阅:help expand()参考资料 获取更多通配符,例如%.
Jon*_*hoi 10
vim.fn.expand('%:p')
Run Code Online (Sandbox Code Playgroud)
无论当前路径 (CWD) 如何,都会提供完整路径。如果没有%:p修饰符,它可能只给出相对路径。参见:help filename-modifiers(或%:p)