Automation Vim函数更新类定义以反映当前位置

Automation Vim函数更新类定义以反映当前位置,automation,vim,Automation,Vim,我正在尝试将我的vimscript提升到下一个级别。作为我关于的另一个问题的后续,您将如何在vimscript中实现以下内容 假设我在lib/foo/bar/buz.rb中有一个文件,看起来像这样: module Foo module Bar class Buz ... end end end 如果我将文件移动到lib/cat/dog/cow/buz.rb,我可以创建一个函数来快速更新文件,使其看起来像这样吗 module Cat module Dog module

我正在尝试将我的vimscript提升到下一个级别。作为我关于的另一个问题的后续,您将如何在vimscript中实现以下内容

假设我在
lib/foo/bar/buz.rb
中有一个文件,看起来像这样:

module Foo
module Bar

   class Buz
     ...
   end

end
end
如果我将文件移动到
lib/cat/dog/cow/buz.rb
,我可以创建一个函数来快速更新文件,使其看起来像这样吗

module Cat
module Dog
module Cow

  class Buz
    ...
  end

end
end
end
您可以使用
expand('%:p:h:t')
获取当前文件的目录。添加额外的
:h
修饰符以获取父目录。请参见
:帮助文件名修改器

substitute('foo','^','\u&','')
将第一个字母大写


要在缓冲区中进行替换,可以使用
:sub replace
替换
:help sub replace expression

谢谢这帮助我开始了。我解决了另一个问题。现在来看这个。@Romaill这里有一些我不知道如何在vim脚本中执行的基本片段。这方面的伪代码并不难,但我不知道从哪里开始从vimscript读取/写入缓冲区。我不知道做这些基本事情的惯用方法。我不确定你关于“你尝试了什么”的问题的满意答案是什么。几行vimscript将是一个好的开始。