Questions tagged «syntax»

5
如何将下划线视为单词的一部分?
我使用Emacs + evil模式。 当我将光标放在e(正常状态)诸如,的大块文本中abc_def_ghi时ciw(更改内部字词)仅更改def字符串的一部分,而Vim会更改整个字符串abc_def_ghi。 我evil该如何像Vim一样强迫下划线(即作为单词的一部分)?

2
如何检测是否在配对中?
问:有没有一种通用的方法来检测点是否在匹配的字符对内? 也就是说:是否有一个通用的谓词功能(或某些功能)可以确定点是在匹配对之间还是某些任意选择的字符之间?我正在考虑一种可以参考t以下情况的评估方案!: "!" (quotes in general) ``!'' (LaTeX quotes) $!$ (LaTeX math) (!) (lisp parens) *!* (org emphasis) 编辑:syntax-ppss似乎是一个很好的起点,但对我来说尚不清楚如何使它适应多字符匹配对(例如``LaTeX引号'',甚至是matched <b>html tags</b>)。我想知道是否有一个通用的解决方案,或者是否需要一个专用的解析器。
16 elisp  syntax 


3
在编模式下将符号视为单词
Emacs中有许多命令适用于“单词”。实例包括forward-word,kill-word,upcase-word,mark-word,transpose-words,等。“字”的定义似乎改变命令之间的位。例如,forward-word将在单词(例如foo_bar)内的下划线处停止,但mark-word不会在下划线处停止。 当我处于编模式时,是否可以更改“单词”的定义,以便Emacs将适当的单词边界用于当前语言的语法? 当我进入时,c-mode我想forward-word跳过下划线,当我进入时,lisp-mode我想forward-word跳过连字符和下划线,等等。

2
“ syntax-ppss”适合什么语言?
我一直在寻找一种方法,通过查看当前缓冲区的字体设置来检测注释上是否存在点。 Smartparens定义sp-point-in-comment依赖于syntax-ppss。然而,似乎syntax-ppss和parse-partial-sexp可用于任意语言,即使他们不使用s表达式。 例如,以下Python: x = 1 # I'm a comment y = 2 将点放在评论和评估中(if (nth 4 (syntax-ppss)) 'comment 'not-comment)可以正常工作。 是否syntax-ppss适用于任何编程模式?为什么文档字符串讨论s表达式?

2
是否有用于定义键盘绑定的标准/推荐语法?
我已经看到了以下所有定义键盘绑定的内容。所有这些工作(至少在MS Windows上有效)。我不知道是否还有另一种方法可以做同样的事情。 我想知道是否有定义键盘绑定的标准或推荐方法,是否建议避免其中的某些方法。 (global-set-key "\M-r" 'some-command) (global-set-key [(meta r)] 'some-command) (global-set-key [?\M-r] 'some-command) (global-set-key (kbd "M-r") 'some-command)

2
使正向表达式识别由关键字定义的块,而不仅仅是括号
在一种语言(茱莉亚)中,该语言具有由关键字(例如for..end,begin..end)以及括号定义的块,跳过该块的好方法是什么?另外,end它不仅是block关键字,还是在其他地方使用的有效标识符。 一种方法是查找开始/关闭正则表达式的块,并跳过所有字符串,注释和ends等,但这有点效率低下,而且有点难看。 有没有一种方法可以使emacs自己的语法解析识别出这样的块关键字,从而使其forward/backward-sexp自动工作,从而可以从例如输出中快速判断出当前块的开始syntax-ppss? [注意:我不介意自己解析文件,但是在那种情况下,我仍然想知道如何将解析器插入其余的emacs。]
10 syntax  parsing 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.