使用 perl-support.vim 插件使 Vim 成为你的 Perl IDE

举报
Tiamo_T 发表于 2021/11/25 07:19:31 2021/11/25
【摘要】 作为程序员,您在编码时可能会执行许多重复性任务,例如: 添加文件头 添加功能/框架注释 包括默认代码片段 执行语法检查 阅读有关函数的文档 将代码块转换为注释,反之亦然 在Perl的支持Vim的插件- Perl的IDE提供最简单的方式做所有的上述情况,节省大量的时间和按键。

作为程序员,您在编码时可能会执行许多重复性任务,例如:

  • 添加文件头
  • 添加功能/框架注释
  • 包括默认代码片段
  • 执行语法检查
  • 阅读有关函数的文档
  • 将代码块转换为注释,反之亦然

Perl的支持Vim的插件- Perl的IDE提供最简单的方式做所有的上述情况,节省大量的时间和按键。

该插件由 Fritz Mehner 编写,他将插件的用途解释为:“使用菜单和热键编写和运行 Perl 脚本”。

本文介绍了如何通过 3 个简单的步骤和插件的 7 个强大功能来安装插件。

安装支持 Perl 的 Vim 插件的 3 个步骤

第 1 步:下载支持 Perl 的 Vim 插件

vim.org 网站下载插件。

$ cd /usr/src
$ wget http://www.vim.org/scripts/download_script.php?src_id=9701

第二步:安装支持 Perl 的 Vim 插件

$ mkdir ~/.vim
$ cd ~/.vim
$ unzip /usr/src/perl-support.zip

第 3 步:在 ~/.vimrc 中启用插件

将以下行添加到 ~/.vimrc 以启用 Vim 编辑器的插件。

$ vim ~/.vimrc
filetype plugin on

Perl-Support Vim 插件的 7 个强大功能


功能 1:将自动标题添加到 *.pl 文件

当您打开扩展名为 .pl 的文件时,它会打开带有标题的文件,如下所示。这也会将光标置于插入模式下的描述字段中。

$ vim myprogram.pl
#!/usr/bin/perl
#===================================================
#
#         FILE:  myprogram.pl
#
#        USAGE:  ./myprogram.pl
#
#  DESCRIPTION:
#
#      OPTIONS:  ---
# REQUIREMENTS:  ---
#         BUGS:  ---
#        NOTES:  ---
#       AUTHOR:  Dr. fedh
#      COMPANY:  china
#      VERSION:  1.0
#      CREATED:  12/23/2012 03:47:07 PM
#     REVISION:  ---
#===================================================

use strict;
use warnings;


要更改 AUTHOR 和 COMPANY 的默认值,请修改 ~/.vim/perl-support/templates/Templates 中的默认值

$ vim ~/.vim/perl-support/templates/Templates
|AUTHOR|    = tiamo
|AUTHORREF| = sm
|EMAIL|     = test@test.com
|COMPANY|   = mycompany


现在,当您创建一个新的 perl 文件时,它将显示修改后的 AUTHOR 和 COMPANY 值,如下所示。

$ vim myprogram.pl
#!/usr/bin/perl
#===================================================
#
#         FILE:  myprogram.pl
#
#        USAGE:  ./myprogram.pl
#
#  DESCRIPTION:
#
#      OPTIONS:  ---
# REQUIREMENTS:  ---
#         BUGS:  ---
#        NOTES:  ---
#       AUTHOR:  SathiyaMoorthy (sm), test@test.com
#      COMPANY:  mycompany
#      VERSION:  1.0
#      CREATED:  12/23/2008 04:09:23 PM
#     REVISION:  ---
#===================================================

use strict;
use warnings;


注意:要向标题添加自定义字段,请修改 ~/.vim/perl-support/templates/file-description.template 文件并添加您自己的自定义字段。

特性 2:使用 \isu 添加 Perl 子程序

编写子程序,在普通模式下输入\isu,会提示输入子程序名称(如下图1),并插入带有默认函数内容的子程序(如下图2)。

Perl 支持插入子程序
图 1:提示用户输入子程序名称


Perl 支持插件插入子程序
图 2:自动插入子程序到 Perl 代码

特性 3:使用 \cfu 插入函数头

要插入函数头文件,请在正常模式下键入 \cfu,这将添加如下所示的注释。

Perl 支持添加函数注释
图 3:在 Perl 代码中插入函数注释

功能 4:使用 \cfr 添加框架注释

要添加框架注释,请在正常模式下键入 \cfr,这将给出以下格式化注释。

Perl 支持框架注释
图 4:在 Perl 代码中插入帧注释

功能 5:保存文件并使用 \rr 立即执行

在普通模式下输入\rr,这将保存文件并立即执行。

特性 6:使用 \cc 注释一段代码

要将整个代码块更改为注释,请在可视模式下选择代码并键入 \cc。

特性 7:使用 \nr 将预定义的代码片段插入 Perl 代码

该插件附带了一些可以插入到代码中的预定义代码片段。以下是插件附带的默认代码片段。

$ ls ~/.vim/perl-support/codesnippets/
dot.SmallProf                print-data-structure-with-Dumper.pl
free-software-comment        print-hash.pl
inside-out-class.pl          print-hash-sorted.pl
module-interface.pl          process-all-files-in-a-directory-recursively.pl
new.pl                       slurp-file.pl
pod-template-application.pl  SmallProf-variables.pl
pod-template-module.pl


例如,如果您想创建一个打印hash values的函数,您可以从现有的代码片段中重新使用它。以下是 print-hash.pl 预定义代码片段的内容。

$ cat ~/.vim/perl-support/codesnippets/print-hash.pl

#----------------------------------------------------------------------
#  subroutine : print_hash
#----------------------------------------------------------------------
sub print_hash {
  my  $hashref  = shift;      # 1. parameter : hash reference
  print "\n";
  while ( my ( $key, $value ) = each %$hashref ) {
    print "'$key'\t=>\t'$value'\n";
  }       # -----  end while  -----
} # ----------  end of subroutine print_hash_sorted  ----------


要将其插入到您的工作 perl 程序中,请在 vim 中的正常模式下键入 \nr,这将提示“读取代码段 /home/rnatarajan/.vim/perl-support/codesnippets/”,最后键入 print-hash.pl然后按回车键,这将自动将 ~/.vim/perl-support/codesnippets/print-hash.pl 的内容插入到您的工作文件中。

注意:您可以定义自己的代码片段并将其放在 ~/.vim/perl-support/codesnippets/ 下。您还可以从现有代码构建自己的代码片段——选择需要制作的代码部分作为代码片段,按 \nw,并为其指定文件名。从下次开始,键入 \nr 和文件名以获取您的自定义代码片段。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。