问题标签 [vim-perl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 显示当前 Perl 子程序的 Vim 插件
我正在尝试制作一个 Vim 插件,该插件将在加载时拆分窗口并模拟终端顶部的信息栏。我已经让它工作了,但我认为我已经达到了我对 Vim 语法知识的限制,或者我的代码中存在逻辑问题。
期望的效果是从我在活动缓冲区中的当前位置开始反向搜索 Perl 子例程的任何声明,并在顶部缓冲区中显示该行。Ctrl当我用-切换缓冲区时,我还试图让它跳过该缓冲区R。到目前为止,我的尝试可以从嵌套 if 语句的混乱中看出。
无论如何,这是代码。我将非常感谢任何人的反馈。
类似于问题VIM: display custom reference bar on top of window和 Vim Tips wiki page Show current function name in C programs。
perl - 为什么 vim 不正确地缩进我的 Perl 代码?
我在 Perl 中有一个子例程,应该像这样缩进:
但是,当我将光标放在子程序块的起始括号上时按=%
(是,cindent
打开),它会像这样缩进:
为什么这样做?我该如何解决?
编辑:应该注意我在 Windows 上使用 gvim 7.3。
vim - 除非我停止使用“文件类型缩进”,否则不能使用 vim-perl
我在这里找到了vim-perl
插件,但我无法通过以下方式启用它:
filetype plugin indent on
(看到那个链接后,我改变了“插件”和“缩进”的顺序)
我无法禁用插件支持,所以我尝试了另一种方法,
但这也不起作用!当我filetype
在 VIM 中执行命令时,我看到plugin, autodetection, indent
都是 ON
有什么想法吗?
perl - DBD::mysql (Can't locate DBD/mysql.pm in @INC) 使用 perl-support.vim 运行 perl 脚本时出错(最终只是设置不正确的 PERL5LIB)
我正在尝试一个访问 Mysql 数据库的简短脚本。据我所知,我已经安装了相关的 perl 模块、DBI 和 DBD::mysql 及其依赖项。
这是 test.pl 中唯一的代码
使用“perl test.pl”在命令行运行它运行良好,没有错误。
但是,当我尝试在 vim 中使用“\rr”通过 perlsupport 运行它时,我收到一个错误。
在@INC 中找不到 DBD/mysql.pm(@INC 包含:/Users/rob/perl5/lib/perl5/darwin-thread-multi-2level /Users/rob/perl5/lib/perl5 /Users/rob/ perl5/lib/perl5 setenv PERLBREW_MANPATH /Users/rob/perl5/perlbrew/perls/perl-5.16.0/man setenv PERLBREW_PATH /Users/rob/perl5/perlbrew/bin /Users/rob/perl5/perlbrew/perls/perl- 5.16.0/bin setenv PERLBREW_PERL perl-5.16.0 setenv PERLBREW_ROOT /Users/rob/perl5/perlbrew setenv PERLBREW_VERSION 0.69 setenv PERLBREW_MANPATH /Users/rob/perl5/perlbrew/perls/perl-5.16.0/man setenv PERLBREW_PATH /Users/ rob/perl5/perlbrew/bin /Users/rob/perl5/perlbrew/perls/perl-5.16.0/bin setenv PERLBREW_PERL perl-5.16.0 setenv PERLBREW_ROOT /Users/rob/perl5/perlbrew setenv PERLBREW_VERSION 0.69 /Library/Perl/ 5.16/darwin-thread-multi-2level /Library/Perl/5.16 /Network/Library/Perl/5。16/darwin-thread-multi-2level /Network/Library/Perl/5.16 /Library/Perl/Updates/5.16.2/darwin-thread-multi-2level /Library/Perl/Updates/5.16.2 /System/Library/ Perl/5.16/darwin-thread-multi-2level /System/Library/Perl/5.16 /System/Library/Perl/Extras/5.16/darwin-thread-multi-2level /System/Library/Perl/Extras/5.16 .) 在/Users/rob/Desktop/perl/test.pl 第 11 行。开始失败 - 编译在 /Users/rob/Desktop/perl/test.pl 第 11 行中止。
我在 OSX 上使用 perlbrew 并使用安装了 perlbrew 的 Perl 5.16.0 版本,并且我已经为模块设置了 Local::Lib。我查看了所有设置,甚至尝试卸载/重新安装 perlbrew perl 5.16.0 安装并卸载/重新安装 DBI 和 DBD::mysql 以查看我的设置是否搞砸了。
@INC 中的“setenv XXXXXXX”似乎不合适,所以我可能搞砸了设置。
编辑
所以我最终找到了问题所在。我的 PERL5LIB 变量在其他地方设置不正确(霍布斯是对的),所以我现在在我的 fish.config 文件中正确设置了它。我仍然需要找出那个问题在哪里,但是这个特定的问题已经解决了。