首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于颜色数的人脸颜色应用

基于颜色数的人脸颜色应用
EN

Stack Overflow用户
提问于 2012-07-25 12:59:07
回答 2查看 122关注 0票数 2

有一些所谓的严格格式,比如pdb,其中符号的意义是由符号的颜色数定义的。例如,这里是上述pdb格式的规范。

有什么方法可以根据列的范围来应用面部颜色吗?

通常可以添加要突出显示的regexp,例如对于当前会话,其方式如下:

代码语言:javascript
复制
(font-lock-add-keywords nil '(("\\[\\(.+?\\)\\]" . font-lock-keyword-face)))

那么,是否有一种方法可以指定列中的那张脸,比如7-11 -应该是,比如说-红色?

编辑

所以答案是:

代码语言:javascript
复制
(font-lock-add-keywords nil '(("^.\\{2\\}\\(.\\{2\\}\\)" 1 font-lock-warning-face)))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-25 13:49:45

定义将选择适当列的regexp。例如,要选择第三列(假设这些列只包含字母以表示示例的清晰度),您可以执行类似"\(?:[a-z]+ \)\{2\}\([a-z]+\)"的操作,然后在第一个组中进行匹配。

当然,您可以通过使用format并传递一些参数来创建这样的字符串,以获得更大的灵活性。

(font-lock-add-keywords nil '(("\\(?:[a-z]+ \\)\\{2\\}\\([a-z]+\\)" 1 font-lock-warning-face)))

作为另一个方向,在空格模式中可以找到以下代码,该模式突出显示某个数字上的字符:

代码语言:javascript
复制
;; Show "long" lines
(list
(let ((line-column (or whitespace-line-column fill-column)))
   (format
    "^\\([^\t\n]\\{%s\\}\\|[^\t\n]\\{0,%s\\}\t\\)\\{%d\\}%s\\(.+\\)$"
    whitespace-tab-width
    (1- whitespace-tab-width)
    (/ line-column whitespace-tab-width)
    (let ((rem (% line-column whitespace-tab-width)))
      (if (zerop rem)
      ""
    (format ".\\{%d\\}" rem)))))
 (if (memq 'lines whitespace-active-style)
     0              ; whole line
   2)               ; line tail
 whitespace-line t)
票数 2
EN

Stack Overflow用户

发布于 2012-07-25 15:07:10

以下内容最初应用于第7至第11栏的文字着色:

代码语言:javascript
复制
(defun bk-pdb-color-ATOM-initially()
  (interactive)
  (save-excursion
    (goto-char (point-min))
    (while (search-forward-regexp "^ATOM  \\(.\\{5\\}\\).\\(.\\{4\\}\\).\\(.\\{3\\}\\).\\(.\\{5\\}\\).\\{4\\}\\(.\\{24\\}\\)" nil t)
      (progn
        (overlay-put
         (make-overlay (match-beginning 1) (match-end 1))
         'face '(:foreground "blue"))
        (overlay-put
         (make-overlay (match-beginning 2) (match-end 2))
         'face '(:foreground "red"))
        (overlay-put
         (make-overlay (match-beginning 3) (match-end 3))
         'face '(:foreground "purple1"))
        (overlay-put
         (make-overlay (match-beginning 4) (match-end 4))
         'face '(:foreground "orange"))
        (overlay-put
         (make-overlay (match-beginning 5) (match-end 5))
         'face '(:foreground "green"))
        t nil)
)))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11650278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档