问题标签 [cperl-mode]
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.
emacs - 在 emacs 中将 cperl 模式与 Perl 代码相关联
我正在尝试将 CPerl 模式与 emacs(CentOS 6 上的 23.1.1)中的 Perl 源文件相关联。
如果我在 .emacs 中包含以下行
然后打开 Perl 源文件时将加载 CPerl 模式。
然而,下面这行,看起来 ti 应该可以工作,却导致 Perl 模式被加载:
没有错误消息——它只是加载 Perl 模式而不是 CPerl 模式。
我问的原因是我在使用 cperl-set-style 时遇到了一些问题(在 emacs 菜单中工作,但如果我将它作为 CPerl 模式的钩子添加到 CPerl 模式中,当它被别名为 perl 模式时),我想尝试直接加载CPerl模式。
我在 .emacs 中使用的将缩进样式设置为 CPerl 模式的钩子的语句是
如果没有加载 CPerl 模式(当我使用 auto-mode-alist 方法时)并且当我通过将 CPerl 模式别名为 Perl 模式来加载 CPerl 模式时没有做正确的事情(似乎使用 GNU 缩进样式),这显然没有效果。
emacs - Emacs 使用cperl模式下的qq里面
我正在使用qq函数将我的 SQL 请求存储在 Perl 中。像这样:
但是在 Emacs cperl-mode 中,不可能在 qq 中使用tab,这会减慢我的工作速度。我该如何解决?
c - 文档互斥定义
我正在用C编写一个小程序,我想记录它,以便其他人可以更改一些细节。我用 s 编写了一个 config.h 文件,#define
它可以启用或不启用某些操作,其中一些是互斥的,另一些则不是。
不互斥的例子:
互斥示例:
到目前为止,我通过记录我不想使用的功能来选择要编译的程序的配置,例如:
构建一个 COMPACT 可执行文件。
如何为注释掉的功能编写文档?
我试过:
我没有编译它,USE_C
但显然我丢失了文档,因为 doxygen 没有解析它。#define
如果我误解了使用定义的正确方式,你将如何重写流程?
perl - Emacs 中 perl 的语法高亮已损坏,是否有修复?
我是一个 perl 程序员和一个新的 emacs 用户。我在 Windows 下,使用 cperl-mode 来编辑 perl。Emacs 版本是 24.2.1。这是带有一些示例代码的屏幕截图:
(来源:breqwas.net)
- 明显的错误:它在 (a => "b" ) 样式列表中突出显示数组、哈希和未引用的文字值
- 另一个错误:由于非默认引号符号,它将正则表达式中的第一个单词作为数组高亮显示
- 不是错误,但看起来很奇怪:它在使用数组和散列时随时突出显示(即使在注释中,呵呵),但标量仅在声明时才会突出显示
- 不是错误,但看起来很奇怪:与函数相同的故事:声明时突出显示,而不是调用时
- 不是错误,但看起来很奇怪:为什么“打印”、“说”和“系统”有不同的颜色?
我可以继续前进,但我希望这能很好地解释“破碎”这个词。
然后我学会了神奇的 Cu Cx = 组合键,它显示光标下文本的文本属性等,希望能做出更好的自己的着色方案。在这一点上,它开始变得更没有意义了。
“打印”具有cperl-nonoverridable-face。“死”有font-lock-keyword-face。同时,两者都是函数,可以(并且经常)被覆盖。“系统”有font-lock-type-face。为什么?函数声明有font-lock-function-name-face - 这没关系,但“use”的参数也是如此。为什么?函数调用和标量根本没有 face 属性,无法突出显示。为什么?等等,等等。再一次,我可以继续前进。
有没有办法解决这一切?是否有一些配置可以让我将词汇单元重新映射到其他字体,或者其他方式来使语法突出显示不那么疯狂?
为了避免“perl 不可解析”的说法,这里是我要迁移的编辑器的屏幕截图,代码完全相同:http: //breqwas.net/dropbox/perlsyn_pn.png。看起来更合理。
更新:到目前为止(在这里提出这个问题后 3 周)我还没有找到治愈方法。我认识的所有使用 emacs 的 perl 程序员都忽略了这些问题。似乎没有更好的用于 emacs 的 perl 荧光笔。阅读 cperl-mode 文档提供了一些解释(现在各种元素的面孔选择似乎不那么疯狂了),但没有提供任何答案。我给 cperl-mode 维护者写了一封电子邮件,提出了这些问题,并进行了一些挖掘,但没有得到回复。
是的,你没看错:似乎 emacs 社区在 perl 出现的 25 年里无法做出好的 perl 语法高亮。这是一个悲伤的故事。
emacs - 在 perl 模式 emacs 中关闭自动缩进
当我使用 Emacs 时,我会关闭任何自动缩进并使用自定义缩进方案(保持前一行的缩进,仅使用空格)。
在c模式下,我只是用来C-c C-l
关闭电动模式。
但在 perl 模式下,我不确定如何实现相同的目标。
查看http://mirror.fraunhofer.de/CPAN/misc/emacs/perl-mode.el。我可以看到
所以我尝试M-x set-variable perl-mode-map
了,但我只得到[No match]
。
这是因为我的 perl-mode.el 是预编译的吗?当我尝试M-x find-function perl-mode
它时抱怨它找不到它 perl-mode.el 。不过,我确实有一个 perl-mode.elc 文件。
我正在通过 cygwin 上的控制台运行 emacs。
emacs - Emacs:如何摆脱 perl 模式 yasnippet 中不需要的选项卡
我在 perl 模式中有以下 yasnippet 来创建子:
但是当 Emacs 展开它时,它会生成一个不需要的选项卡:
我在片段定义中没有这个选项卡,所以它似乎是由 cperl-mode 添加的(perl-mode yasnippets 在 cperl-mode 中激活)。如何摆脱它?
emacs - 在 Emacs 中添加/删除 font-lock 关键字的语法
我用 Emacs 做的大部分事情都是用 perl 做的,因为那cperl-mode
大多是优秀的。一个主要的烦恼是my $whatever
对属性进行了简单的介绍font-lock-keyword-face
,这消除了关键字pop的优势。我是 elisp 的新手,因此一直在尝试在font-lock
. 虽然EmacsWiki和GNU都给出了语法,但正则表达式让我发疯。在我的初始化中,我得到了以下内容:
(font-lock-remove-keywords 'cperl-mode '(("\\<\\(my\\)")))
它什么也不做。该\\<\\(my\\)
位可以从头开始使用,re-builder
因此我认为我在这里遇到了语法问题。如何添加和删除关键字?
perl - Emacs cperl - 常量块中的缩进
我正在运行基于 GNU Emacs 24.3.50.2 的 Aquamacs 3.0a。cperl 版本是 6.2。当我编辑一个 Perl 常量块时,我得到了我不想要的额外缩进:-
我想要的是这个:-
问题似乎是正在添加 cperl-continued-statement-offset,因为我们在一个块内,并且前一行的末尾没有分号。
有没有办法告诉 cperl 使用“parens”规则缩进常量块?我确实尝试过调整 cperl-indent-parens-as-block,但这并没有帮助。我并不感到惊讶,我想我应该寻找一个名为 cperl-indent-constant-block-as-parens 的变量 :-)
emacs - 如何配置以便我可以在 .emacs 中的 cperl-mode-hook 中定义多个操作?
这是我的 .emacs 的摘录
案例 1:使用下面的配置,perl-completion 模式可以完美运行。
CASE 2:使用下面的配置,在 cperl-mode 下 Cc Cc 将成功启动 perl 编译。
案例3:但是,下面的代码通过取消注释钩子函数(my-cperl-hook-func)中的所有行来启用perl-completion和Cc Cc来启动perl编译,它只是以那个perl-结束完成可以正常工作,而 Cc Cc 根本不起作用(emacs 说 Cc Cc 未定义。)
如何使这两个操作在 cperl-mode-hook 中有效?
perl - Emacs cperl 模式:禁用“if”等的插入
我在 Emacs 中使用 cperl-mode 已经有一段时间了。在一个新系统上,我遇到了一个有问题的行为:当我键入“if”之类的内容时,Emacs 会将其扩展为一个完整的语句,因此它会自动给我
这真的很让人分心。将 cperl-electric-keywords 设置为 nil 不会改变这种行为。我已经将 cperl-hairy 设置为 nil。
我看到这里有关于 Perl Monks 的讨论http://www.perlmonks.org/?node_id=864654,它确实有效,正如那里所建议的那样,说 cperl-toggle-abbrev,或者使用菜单 Perl - > 切换 -> 电动关键字。但是我希望这种行为是永久性的,并且将 (setq cperl-electric-keywords nil) 放入我的 .emacs 中不起作用。
如何修改我的 .emacs 来处理这个问题?