我想将当前文件类型作为vimscript中的变量。
我正在创建一个抓取当前文件类型的函数,并编辑相应文件类型的另一个文件。
例如:
等。我知道:set ft?
在vim中显示文件类型,但我不知道如何捕获它,然后使用它作为新文件字符串的一部分打开另一个文件。
答案 0 :(得分:28)
您可以通过在前面添加&符号来访问设置的值。要将文件类型分配给变量,以下内容是等效的:
let my_filetype = &filetype
let my_filetype = &ft
因此,对于您的示例,假设已设置当前缓冲区的文件类型,您可以执行类似
的操作execute 'edit tmp/other.' . &filetype
请注意,您需要execute
表达式,以便在连接字符串之前展开变量。
答案 1 :(得分:0)
文件类型和文件后缀不一定是一回事。例如,如果您正在编辑.txt文件,请让zft =& ft将zft设置为" text"。让zfs = fnamemodify(bufname("%"),":e")将zfs设置为" txt"。