3

是否可以在 Emacs 中进行转换:

<!-- inclusion du code JavaScript    -->
<!-- inclusion des feuilles de style -->
<!-- definition du ZHO               -->

进入这个(大约):

<!--   inclusion du code JavaScript  -->
<!-- inclusion des feuilles de style -->
<!--        definition du ZHO        -->
4

4 回答 4

3

您将变量设置fill-column为 nr。的列。

然后你打电话(center-line)

您可以这样做:

  1. (setq 填充列 100)
  2. 在每一行剪切'<---'和'--->'
  3. 你打电话(中线)
  4. 在列 1 上调用 string-rectangle 并插入 '<---'
  5. 在最后一列调用字符串矩形,并插入'--->'

要在最后一步 [3] 到达最后一列,您可以执行(goto-char (point-min)),然后(行尾),然后调用(indent-line-to COL)

于 2012-07-25T14:10:08.897 回答
3

我已将下面的点连接为交互式命令。@nicolasdudebout 的算法或多或少是合理的,另外需要“硬”move-to-column来选择矩形。

选择您感兴趣的(无箭头)矩形并运行:

(defun center-rectangle (beg end)
  (interactive "*r")
  (kill-rectangle beg end)
  (with-temp-buffer
    (yank-rectangle)
    (setq fill-column (current-column))
    (center-region (point-min) (point-max))
    (goto-char (point-max))
    (move-to-column fill-column t)
    (kill-rectangle (point-min) (point)))
  (goto-char beg)
  (yank-rectangle))
于 2012-07-25T16:14:39.457 回答
2

您可以使用矩形构建一个函数或宏。这将执行以下操作:

  • 剪切仅包含文本的矩形
  • 将其粘贴到临时缓冲区中
  • 设置fill-column为列数并使用center-line(参见 alinsoar 的答案)
  • 将结果剪切为矩形
  • 在原始缓冲区中将其拉回为矩形
于 2012-07-25T14:21:57.347 回答
1

set-justification-center. 也set-justification-right如您所料。这些功能包括认为不适当位置的换行符,因此可能会破坏段落行。

于 2012-12-16T15:05:13.033 回答