Vim Script实现一个自己的function

3 篇文章 0 订阅

Vim Script 实现一个自己的function

Vim有许多功能强大的插件,可以定制化实现很多出色的功能,一直向往能自己开发一个适合自己的插件,可惜能力和精力都有限。今日偶的闲来试试吧!

Vim自带的Help里面就有如何写Vim脚本的说明:

vim +help

代开help。查找script

在这里插入图片描述

如果对Vim script 有兴趣可以仔细研究,不赘述。

经过一番研究大概明白了基本的语法和函数的写法,自建了一个一直想实现的功能:

"by louyong:open file with same suffix;
:function Search_OpenTypeFiles(suffix)
:let filename=expand("<cword>")
:let java_filename=filename . "." . a:suffix
:let $REALPATH=findfile(java_filename, "**")
:if empty($REALPATH)
:echo "Can not find " . java_filename
:else
:find $REALPATH
:call search(filename)
:endif
:endfunction
map <silent>,ff :call Search_OpenTypeFiles(expand("%:e"))<CR>

将这个方法写入到你的 .vimrc文件,之后在代码里可以实现,在光标处点击“,ff”可以跳转到光标所在处的词同名的文件。
如:光标在App这里,你的当前文件是index.js, 你点击“,ff”就会跳转到App.js.

说明一下“,ff”是自定义的快捷键,逗号是我的先导按键
let mapleader = “,”

简单记录说明下,免得自己以后忘记自己写的代码是什么意思,😂

"by louyong:open file with same suffix;

这是注释的写法,引号开头,略

:function Search_OpenTypeFiles(suffix)

:endfunction

function是函数定义关键字和:endfunction匹配,Search_OpenTypeFiles是函数名,小括号里是参数

:let filename=expand("")

:find $REALPATH
:call search(filename)

let定义变量filename 通过 expand("")

  • cword表示当前光标所在词。
  • expand是vim内建函数。
  • empty也是内建函数,判断是否存在
  • search也是内建函数,在全文查找关键字。
  • find是内建命令,可以直接查找并打开文件。

参考:https://blog.csdn.net/lengye7/article/details/79348035
感谢🙏!作者

此方法只在mac下验证,不保证linux/windows可用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值