微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Vim命令中的当前目录

对于我的 Haskell程序,我知道路径中的可执行文件名与我当前目录的名称相同.现在我想创建一个这样的映射:
:map <leader>rr :!curdir()<cr>

但是,我所知道的唯一命令是getcwd(),它给出了整个路径,而不仅仅是目录的名称.

是否有一种简单的方法来只提取目录的名称

使用
fnamemodify(getcwd(),':t')

要么

fnamemodify('.',':p:h:t')

. :h在第二种情况下是必要的,因为:p发出尾随路径分隔符(因此选择的最后一个路径组件:t现在是空字符串).

将其移动到您的映射使用中

:noremap \rr :!<C-r>=shellescape(fnamemodify('.',':p:h:t'),1)<CR><CR>

.有关您不应该使用的原因的说明:map请参阅here.

原文地址:https://www.jb51.cc/vim/385067.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐