对于 Perl 开发的理想 Vim 配置,您有何建议?

2023-12-22

有很多关于如何配置的线程Vim/GVim http://www.vim.org/用于 Perl 开发在 PerlMonks.org 上 http://www.google.com/search?q=vimrc+site%3Aperlmonks.org。我发布这个问题的目的是尝试为使用 Vim/GVim 的 Perl 开发尽可能创建一个理想的配置。请发表您的建议.vimrc设置以及有用的插件。

我会尝试将这些建议合并为一组.vimrc设置以及推荐插件、ftplugins 和语法文件的列表。

.vimrc 设置

"Create a command :Tidy to invoke perltidy"
"By default it operates on the whole file, but you can give it a"
"range or visual range as well if you know what you're doing."
command -range=% -nargs=* Tidy <line1>,<line2>!
    \perltidy -your -preferred -default -options <args>

vmap <tab> >gv    "make tab in v mode indent code"
vmap <s-tab> <gv

nmap <tab> I<tab><esc> "make tab in normal mode indent code"
nmap <s-tab> ^i<bs><esc>

let perl_include_pod   = 1    "include pod.vim syntax file with perl.vim"
let perl_extended_vars = 1    "highlight complex expressions such as @{[$x, $y]}"
let perl_sync_dist     = 250  "use more context for highlighting"

set nocompatible "Use Vim defaults"
set backspace=2  "Allow backspacing over everything in insert mode"

set autoindent   "Always set auto-indenting on"
set expandtab    "Insert spaces instead of tabs in insert mode. Use spaces for indents"
set tabstop=4    "Number of spaces that a <Tab> in the file counts for"
set shiftwidth=4 "Number of spaces to use for each step of (auto)indent"

set showmatch    "When a bracket is inserted, briefly jump to the matching one"

syntax

  • vim-perl:Vim 中对 Perl 5 和 Perl 6 的支持 https://github.com/vim-perl/vim-perl

plugins

  • delimitMate 在插入模式下提供引号、括号、方括号等的自动补全功能 http://github.com/Raimondi/delimitMate。它比处理撇号更智能closepairs.vim http://www.vim.org/scripts/script.php?script_id=2373 does.

  • perlhelp.vim:perldoc 的接口 http://www.vim.org/scripts/script.php?script_id=1913

  • taglist.vim:源代码浏览器 http://www.vim.org/scripts/script.php?script_id=273

ftplugins

  • perldoc.vim:vim 中的 perldoc 命令 http://www.vim.org/scripts/script.php?script_id=209

CPAN模块

  • Vim::X https://metacpan.org/pod/Vim::X

调试工具

我刚刚发现VimDebug http://vim.sourceforge.net/scripts/script.php?script_id=663。我还无法在 Windows 上安装它,但从描述来看似乎很有希望。


From 彩色的博客 http://www.modernperlbooks.com/mt/2009/10/from-novice-to-adept-cleaning-up-bad-code.html(稍微调整为能够使用所有模式中的相同映射)。

vmap ,pt :!perltidy<CR> 
nmap ,pt :%! perltidy<CR>

hit ,pt在正常模式下清理整个文件,或在可视模式下清理所选内容。您还可以添加:

imap ,pt <ESC>:%! perltidy<CR>

但不建议使用输入模式的命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于 Perl 开发的理想 Vim 配置,您有何建议? 的相关文章

  • Eclipse - 更改当前标签的开始和结束标签的背景颜色

    我刚刚将 Eclipse 首选项更改为较暗的主题 我唯一无法想象的是 当你在html中选择一个标签时 开始和结束标签的背景会改变 前景色也是如此 这与在 php 中选择 var 的行为相同 同一文档中相似文本的背景和前景色也会更改 我可以在
  • nginx 的“ssl”指令已弃用,请使用“listen ... ssl”

    NGINX 升级后v1 15 2开始收到警告 nginx warn the ssl directive is deprecated use the listen ssl directive instead in usr local etc
  • VIM 分块插入

    我想在 VIM 中选定的文本块的开头插入一个哈希 Ruby 注释 我在可视模式下选择了线条 但如何对所有线条执行相同的操作 您有两个主要选择 在块视觉模式中选择 ctrl v 然后使用I沿着整个块的左侧插入相同的东西 相似地A追加 看分块运
  • Vim 中最近的文件历史记录?

    我想访问最近在 GVim 中打开然后关闭的文件 我经常打开和关闭 GVim 我也想访问以前会话中的最新文件 GVim 是否将最近的文件存储在 Word 和许多其他桌面应用程序存储的位置 如何访问它们 至少终端 vim 将前十个文件存储到 v
  • Perl Moose TypeDecorator 错误。我该如何调试?

    我最近遇到了一个问题 非常感谢您的见解 我在圣诞节前在 PerlMonks 上发布了类似的问题 并提供了一些从 MooseX Declare 切换的反馈 http www perlmonks org node id 877703 1 我现在
  • 如何检测已更改的网页?

    在我的应用程序中 我使用 LWP 定期获取网页 无论如何 是否要检查两次连续提取之间网页是否在某些方面发生了变化 除了明确进行比较之外 是否有在较低协议层生成的任何签名 例如 CRC 可以提取并与旧签名进行比较以查看可能的更改 有两种可能的
  • VIM语法折叠:禁用折叠多行注释

    我在 vim 7 3 中使用 语法 折叠方法 在 vimrc中 set foldmethod syntax 当我打开 Test cpp 时 包含 A function with a multi line comment This takes
  • Perl 删除目录中的所有文件

    我怎样才能删除allPerl 中目录中的文件 不删除目录 我的主机只允许最多 250 000 个 文件 而我的 tmp 文件夹会在所有会话 cookie 运行的情况下快速填充 250 000 个 qouta 在这种情况下我无法删除 tmp
  • 如何在正则表达式中匹配“/*”?

    stuff d learning perl tmp txt open STUFF stuff or die Cannot open stuff for read while
  • 为什么我不应该使用 UNIVERSAL::isa?

    根据这个 http perldoc perl org UNIVERSAL html http perldoc perl org UNIVERSAL html 我不应该使用 UNIVERSAL isa 而应该使用 obj gt isa 或 C
  • vim 中的语法高亮

    当我在 vim 中打开语法颜色时 我无法在黑色上阅读深蓝色 如何更改一些默认颜色或模式颜色 例如 http www vim org scripts script php script id 1571 http www vim org scr
  • 如何中断一个花费太多时间的 Vim 命令?

    有时 Vim 命令需要花费太多时间来执行 典型示例 gf通过网络发送具有巨大路径的命令 最多可能需要 30 秒才能结束 我想在执行过程中中断它 有没有办法取消命令执行并返回到正常模式 无需杀死 Vim 并重新启动 您可以中断它发送 SIGI
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 如何从 R 运行带有特定模块的 perl 脚本?

    我可以从终端运行 perl 脚本 myperlscript pl 没有任何问题 但是 如果我尝试从 RStudio 中运行相同的 perl 脚本 则会出现以下错误 command lt myperlscript pl outputfile
  • VIM:使用 :normal 命令退出插入模式

    当我使用 normal 命令进入插入模式时 normal i 例如 如何退出插入模式 如果我按 或 VIM 会退出命令模式 并且我无法运行 normal 命令 I put imap
  • 迭代哈希数组

    我编写了下面的例程 迭代哈希值 0 7 并打印出每个哈希值中特定键的值 我需要获取每个哈希中 b4 的值 我想取消 0 7 当存在不同数量的哈希值时使用更智能的东西 例如 有时只有 2 个 也可能有 160 个 my out decode
  • 在压缩存档内的文本文件上运行“head”,而不解压存档

    问候 我接手了之前的团队并编写了处理 csv 文件的 ETL 作业 我在 ubuntu 上结合使用 shell 脚本和 perl csv 文件很大 它们以压缩档案形式到达 解压后 很多都超过 30Gb 是的 那是 G 旧进程是在 cron
  • 在没有管理控制台 GUI 的情况下配置 Glassfish

    我已经安装了 Glassfish 应用服务器 Openshift 云服务器 由于 Openshift 限制 我只能使用 8080 端口 它不允许我在 4848 端口上运行管理控制台 并且我将以某种方式从配置文件手动配置数据源 文件领域和安全
  • Perl 和 Unix 如何以相同的顺序对 Unicode 字符串进行排序?

    我正在尝试获取 Perl 和 GNU Linuxsort 1 程序就如何对 Unicode 字符串进行排序达成一致 我在跑sort with LANG en US UTF 8 在Perl程序中我尝试了以下方法 use Unicode Col
  • Vim 在 Mingw 上表现异常

    我在 MinGW 4 6 2 上的 Vim 表现得很奇怪 例如 在插入模式下按 Backspace 会删除字符 但我必须用箭头键移动光标才能删除的字符消失 而且它也会使我退出插入模式 另一个例子 按 Del 删除字符有时会生成奇怪的字符 例

随机推荐