@v中的特殊字符是什么意思?

时间:2014-01-17 07:27:35

标签: vim

注册%包含当前文件的名称,注册#包含备用文件的名称。这些寄存器允许显示或插入当前或备用文件的名称。可以使用包含该文件的名称,完整路径或目录。

例如,在目录/abc中,命令vim def/my.txt将编辑文件/abc/def/my.txt。可以输入以下命令以显示所显示的信息。

:echo @%    def/my.txt  directory/name of file     

我想知道@在这里的含义。

1 个答案:

答案 0 :(得分:7)

@是附加到变量名称的sigil或特殊前缀,它将变量解释为寄存器。对于环境变量,其他符号为$,对于Vim选项,其他符号为&

:echo f  " prints variable named f
:echo @f " prints contents of register f
:echo $f " prints contents of environment variable f
:echo &fenc " prints the value of :set fileencodings?

您也可以使用@a代替getreg('a'),这是相应的Vimscript函数。 @只是一个方便的捷径。

您可以在:help expression-syntaxexpr9

下的帮助中找到此信息