首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部分vim命令行映射

部分vim命令行映射
EN

Stack Overflow用户
提问于 2012-02-07 05:37:58
回答 1查看 245关注 0票数 1

在vim中,我想这样做

代码语言:javascript
复制
function! ModuleFile()
  let $module = input("Module of file> ")
  :e **/${module}_
endfunction
map <Leader>e :call ModuleFile()<CR>

我期望的是,例如,如果我输入模块"ABC",我将在vim中得到以下命令行:

代码语言:javascript
复制
:e **/ABC_

然后输入新文本,比如"name_of_file",就会得到如下结果:

代码语言:javascript
复制
:e **/ABC_name_of_file

最后,按Enter键将执行该命令。这样做的重点是能够获得制表符补全。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-07 15:36:18

不需要在vim脚本中使用sigils,${...}$var用于环境变量。

代码语言:javascript
复制
function! ModuleFile()
  let module = input("Module of file> ")
  let name   = input("Search pattern> ")
  execute 'args **/' . module . '_' . name
endfunction
map <Leader>e :call ModuleFile()<CR>

在你的评论之后,你想要的可能是:

代码语言:javascript
复制
map <leader>e :args **/<c-r>=input("Module of file: ") . '_' . input("Search pattern: ")<cr>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9167623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档