尝试在 vim 中添加可见标记时出错

尝试在 vim 中添加可见标记时出错

我正在尝试在 vim 中使用可见标记。我的文件
中有以下内容:.vimrc

sign define information text=!> linehl=Warning texthl=Error  
exe ":sign place 123 line=" . line(.) ."name=information file=" . expand("%:p")  
map <F7> :exe ":sign place 123 line=" . line(".") ."name=information file=".expand("%:p")<CR>  

但是当我打开 vim 时,我收到一行错误exe ":sign etc

line   30:  
E15: Invalid expression: .) ."name=information file=" . expand("%:p")  
E116: Invalid arguments for function line(.) ."name=information file=" . expand("%:p")  
E15: Invalid expression: ":sign place 123 line=" . line(.) ."name=information file=" .   expand("%:p")

我的语法有什么问题?

答案1

这个错误很容易发现。

你写了

line(.)

代替

line('.') or line(".")

编辑

问题中的错误消息与上述错误有关,但还有第二个错误,缺少空格。

  1. 您的线路:

    exe ":sign place 123 line=" . line(.) ."name=information file=" . expand("%:p")
    
  2. 通过将参数放在line()引号中来纠正第一个错误(expand()也已修复):

    exe ":sign place 123 line=" . line('.') ."name=information file=" . expand('%:p')
    
  3. 通过在第三个双引号后添加缺失的空格来更正第二个错误:

    exe ":sign place 123 line=" . line('.') ." name=information file=" . expand('%:p')
                                              ^
                                              +-- added missing space
    

由于缺少空格,参数的值line类似于26name=information并且name参数丢失。

相关内容