在 my 中init.vim,我只想在当前文件位于某个层次结构下时才运行某些命令。伪代码:
if current_file_directory == ~/some/path/here\n autocmd <whatever>\n set <whatever>\nendif\nRun Code Online (Sandbox Code Playgroud)\n但if我发现的所有例子都太基础了,无法推断。
澄清一下,既不:pwd也不getcwd()应用,因为它们返回调用 neovim 时所在的目录。我关心文件所在的目录。按照上面的代码,如果 I\xe2\x80\x99m 在下/tmp但编辑文件,则命令应触发,~/some/path/here/more/deep/still.txt但如果 I\xe2\x80\x99m 在下但编辑文件,则不会触发。~/some/path/here/tmp/example.txt
您可以expand()在文件名 ( %)上使用各种修饰符(:p、:h等):
:e ~/some/path/here/more/deep/still.txt
:echo expand("%:ph")
/home/muru/some/path/here/more/deep/still.txt
Run Code Online (Sandbox Code Playgroud)
您可以将其与您想要的路径进行比较。
| 归档时间: |
|
| 查看次数: |
915 次 |
| 最近记录: |