neovim设置swapfile保存路径
本文记录了如何在neovim中配置自定义的swapfile路径。
Lua配置: vim.go.directory = vim.fn.expand('~/.nvim/swapfiles//') .. ',!,'
配置
直接配置vim.go.directory = "~/.nvim/swapfiles"
是不正确的,这会在当前目录下创建~/.nvim/swapfiles
文件夹,不会展开~
。
正确的Lua配置应该是: vim.go.directory = vim.fn.expand('~/.nvim/swapfiles//') .. ',!,'
vim.fn.expand
的用法
vim.fn.expand()
的语法与 Vim 中的 expand()
函数相同。你需要传递一个字符串给 expand()
,该字符串描述了你想要扩展的内容。这个字符串可以是以下几种类型之一:
- 文件名修饰符:如
'%'
,'#'
,'$'
,'<sfile>'
, 等。 - 环境变量:以
$
开头的字符串,如'$HOME'
。 - Vim 选项:以
&
开头的字符串,如'&backupdir'
。 - 其他特定的字符串:有些字符串被
expand()
函数识别为特殊的扩展方式。
示例:当前文件名
local current_file = vim.fn.expand('%')
print(current_file)
示例2:当前文件目录
local current_dir = vim.fn.expand('%:p:h')
print(current_dir) -- 打印当前编辑文件的目录
示例3:环境变量
local home_dir = vim.fn.expand('$HOME')
print(home_dir) -- 打印用户的家目录
示例4:vim变量
local backupdir = vim.fn.expand('&backupdir')
print(backupdir) -- 打印备份文件的目录
示例5:用户特定子目录
local swapfile_dir = vim.fn.expand('~/.vim_swapfiles//')
vim.o.directory = swapfile_dir .. ',!,'
//
处理包含空格的目录,,
用于区分不同的目录,!
表示目录是排他的,只能在其中一个创建文件,并且不使用默认配置。
- 原文作者:生如夏花
- 原文链接:https://blduan.top/post/%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91/neovim/neovim%E8%AE%BE%E7%BD%AEswapfile%E4%BF%9D%E5%AD%98%E8%B7%AF%E5%BE%84/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。