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

时间:2014-06-11 13:46:19

标签: automation vim

我正在尝试将我的vimscript提升到一个新的水平。作为关于generating a class definition from a file path的其他问题的后续内容,您将如何在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

1 个答案:

答案 0 :(得分:1)

您可以使用expand('%:p:h:t')获取当前文件的目录。添加其他:h修饰符以获取父目录。请参阅:help filename-modifiers

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

要在缓冲区中进行替换,:substitute可能会使用:help sub-replace-expression