如何创建一个使用vim-function的命令?

问题描述 投票:0回答:1

说我们有一个函数。

function StripTrailingWhitespace()
  if !&binary && &filetype != 'diff'
    normal mz
    normal Hmy
    %s/\s\+$//e
    normal 'yz<CR>
    normal `z
  endif
endfunction

如何将这个函数映射到 StripTrailingWhiteSpace 命令,这样我们就可以运行 :StripTrailingWhiteSpace 而不是 :call StripTrailingWhiteSpace() ?

如何对带参数的函数进行同样的操作?

这样做的原因是:我们得到的命令是完成窗口的 fzf/vim-clap/coc 插件。而且它更符合vscode的 cmd+shift+p 的功能,比如说我们有一个函数:函数StripTrailingWhitespace() if !amp;二进制&&文件类型 != 'diff' normal mz normal Hmy %s\。

vim vi neovim
1个回答
3
投票

的... :command 命令就是你要找的。

请阅读 :h command 以了解详情。如:范围处理、参数处理等。

在你的情况下。

command! StripTrailingWhiteSpace call StripTrailingWhiteSpace()
© www.soinside.com 2019 - 2024. All rights reserved.