ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vim编写第一个插件——Hello World

2022-04-24 23:01:17  阅读:342  来源: 互联网

标签:文件 插件 vimrc vim ftplugin World 目录


任务:用vim打开文件,通过简短指令输出 Hello World

1.写插件脚本

在任意位置建立.vim文件,比如在root路径下建立helloworld.vim

 

vim 文件名  打开一个文件,如果文件不存在,就创建它。 

vim   /root/helloworld.vims

输入代码:

1 function! HelloWorld()  //定义HelloWorld函数
2     echo 'Hello World'  //函数的动作是输出Hello World
3 endfunction             //函数结束标志
4 command! -nargs=0 HW call HelloWorld()  //-nargs=0表示没有命令行参数,HW用于调起Helloworld()函数的指令定义
5 nnoremap <leader>hw :call HelloWorld()  //作用同上,<leader> 键是关于 Vim 高级功能 Mapping 映射

另外有几点需要注意的地方:

    •   函数名首字母必须大写;
    •   自定义命令首字母必须大写;
    •   -nargs=0表示没有命令行参数;
    •   插件的扩展名必须为.vim。

 

2.让脚本生效

①在vimrc文件中做链接,指定vim启动时运行该脚本

找出安装vim后,在系统中的vimrc的路径;打开vimrc,在末位添加链接

find / -name vimrc  //find / -name 文件名 查找文件绝对路径
vim /etc/vimrc     //打开vimrc
source ~/helloworld.vim  //在vimrc末位添加链接语句

  执行 source /etc/vimrc 使配置生效

用vim打开任意文件,在随后执行 :call HelloWorld() 并回车,可以看到屏幕下方“Hello World”的内容显示。

 

②把脚本放在~/.vim/plugin目录下

 检查用户下是否有~/.vim文件夹,没有就创建, 移动helloworld.vim至~/.vim/plugin目录下,插件即可生效。

mkdir ~/.vim  //创建目录
cd ~/.vim  //改变当前目录
mkdir plugged plugin syntax colors doc autoload(autoload文件夹也可在安装Vim-plug插件时创建)//批量创建目录

~/.vim文件夹下目录介绍 

 1 ~/.vim/autoload/它是一个非常重要的目录,尽管听起来比实际复杂。简而言之,它里面放置的是当你真正需要的时候才被自动加载运行的文件,而不是在vim启动时就加载。
 2 ~/.vim/colors/是用来存放vim配色方案的。
 3 ~/.vim/plugin/存放的是每次启动vim都会被运行一次的插件,也就是说只要你想在vim启动时就运行的插件就放在这个目录下。我们可以放从vim-plug官方下载下来的插件.vim
 4 ~/.vim/syntax/语法描述脚本。我们放有关文本(比如c语言)语法相关的插件
 5 ~/.vim/doc/为插件放置文档的地方。例如:help的时候可以用到。
 6 ~/.vim/ftdetect/中的文件同样也会在vim启动时就运行。有些时候可能没有这个目录。ftdetect代表的是“filetype detection(文件类型检测)”。此目录中的文件应该用自动命令(autocommands)来检测和设置文件的类型,除此之外并无其他。也就是说,它们只该有一两行而已。
 7 ~/.vim/ftplugin/此目录中的文件有些不同。当vim给缓冲区的filetype设置一个值时,vim将会在~/.vim/ftplugin/ 目录下来查找和filetype相同名字的文件。例如你运行set filetype=derp这条命令后,vim将查找~/.vim/ftplugin/derp.vim此文件,如果存在就运行它。不仅如此,它还会运行ftplugin下相同名字的子目录中的所有文件,如~/.vim/ftplugin/derp/这个文件夹下的文件都会被运行。每次启用时,应该为不同的文件类型设置局部缓冲选项,如果设置为全局缓冲选项的话,将会覆盖所有打开的缓冲区。
 8 ~/.vim/indent/这里面的文件和ftplugin中的很像,它们也是根据它们的名字来加载的。它放置了相关文件类型的缩进。例如python应该怎么缩进,java应该怎么缩进等等。其实放在ftplugin中也可以,但单独列出来只是为了方便文件管理和理解。
 9 ~/.vim/compiler/和indent很像,它放的是相应文件类型应该如何编译的选项。
10 ~/.vim/after/这里面的文件也会在vim每次启动的时候加载,不过是等待~/.vim/plugin/加载完成之后才加载after里的内容,所以叫做after。
11 ~/.vim/spell/拼写检查脚本。

 

 

用vim打开任意文件,在随后执行 :HW或者<leader>hw并回车,既可完成命令的调用。

 

3.至此,完成了第一个vim插件

 

参考链接:

http://wxnacy.com/2017/12/30/vim-plugin-write-helloworld/

https://www.cnblogs.com/zhaodehua/articles/15108744.html

https://www.cnblogs.com/tekkaman/p/3514982.html 

标签:文件,插件,vimrc,vim,ftplugin,World,目录
来源: https://www.cnblogs.com/jingchi/p/16188169.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有