增加/减少emacs框架中的字体大小(不仅仅是缓冲区)

时间:2014-07-11 20:27:18

标签: emacs

使用 Cx C - + Cx C - (文本缩放调整)非常方便在一个缓冲区中增加/减少字体大小即可。当一些人在同一台显示器前一起工作时,这可以减少头部碰撞。

有没有办法在一个框架(或同时所有框架)中增加(并稍后减少)字体大小?我想知道是否有一种方法比在每个新缓冲区中重新输入 Cx C - + ,2-调用Mx x-select-font并使用鼠标选择,以及3-运行elisp暂存缓冲区中的代码。

更新

如果您有兴趣满足上述不仅仅是1-3,还要:

4- Keep the size (and position) of the frame still.

然后查看this问题。

4 个答案:

答案 0 :(得分:3)

请参阅有关frame zooming的Emacs Wiki页面。

它告诉您几种方法,包括来自图书馆zoom-frm.eldoremi-frm.elframe-cmds.el的命令。

特别是,单个命令zoom-in/out允许您放大或缩小帧或缓冲区。 (前者:缩放框架,是您要求的。)

答案 1 :(得分:1)

这不是最正确的方法,我过去使用这些功能逐帧调整大小:

在这种情况下,可以通过更改默认面的:height属性来完成。

(defun zoom-frame (&optional n frame amt)
  "Increase the default size of text by AMT inside FRAME N times.
  N can be given as a prefix arg.
  AMT will default to 10.
  FRAME will default the selected frame."
  (interactive "p")
  (let ((frame (or frame (selected-frame)))
        (height (+ (face-attribute 'default :height frame) (* n (or amt 10)))))
    (set-face-attribute 'default frame :height height)
    (when (called-interactively-p)
      (message "Set frame's default text height to %d." height))))

(defun zoom-frame-out (&optional n frame amt)
  "Call `zoom-frame' with -N."
  (interactive "p")
  (zoom-frame (- n) frame amt))


(global-set-key (kbd "C-c z i") 'zoom-frame)

(global-set-key (kbd "C-c z o") 'zoom-frame-out)

这会扩展整个框架,而不仅仅是文本,因此它会在桌面上缩小或增长,可能会超出可见范围并需要从操作系统重绘。

我可能会研究另一种可能的解决方案,即将帧局部变量设置为所需的高度,并使用每次选择缓冲区时运行的钩子将该缓冲区中的文本重新显示为帧的所需大小。除非在两个帧上显示缓冲区,否则这样可以很好地工作。

答案 2 :(得分:0)

答案 3 :(得分:0)

基于@Jordon Biondo的回答,这是一种替代解决方案,它通过使用 public string ReadFile(string Filename) { PdfReader reader = new PdfReader(Filename); string pdfText = string.Empty; string OCRErrorPages = string.Empty; for (int i = 1; i <= reader.NumberOfPages; i++) { iTextSharp.text.pdf.parser.ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy(); String extractText = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader, i, its); extractText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(extractText))); if (extractText != "") { pdfText = pdfText + extractText; } else { OCRErrorPages = OCRErrorPages + i + extractText + "<br/>"; } } reader.Close(); if (OCRErrorPages != "") { return OCRErrorPages + " This page contains no text"; } else { return pdfText; } } public string ExtractText(string inFileName) { string line = string.Empty; // Create a reader for the given PDF file PdfReader reader = new PdfReader(inFileName); int totalLen = 68; float charUnit = ((float)totalLen) / (float)reader.NumberOfPages; int totalWritten = 0; float curUnit = 0; for (int page = 1; page <= reader.NumberOfPages; page++) { line += ExtractTextFromPDFBytes(reader.GetPageContent(page)) + " "; var thing = reader.GetPageContent(page); // Write the progress. if (charUnit >= 1.0f) { for (int i = 0; i < (int)charUnit; i++) { Console.Write("#"); totalWritten++; } } else { curUnit += charUnit; if (curUnit >= 1.0f) { for (int i = 0; i < (int)curUnit; i++) { Console.Write("#"); totalWritten++; } curUnit = 0; } } } if (totalWritten < totalLen) { for (int i = 0; i < (totalLen - totalWritten); i++) { Console.Write("#"); } } return line; } 和参数KEEP-SIZE等于apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-claim spec: accessModes: - ReadWriteOnce volumeName: <the-volume-that-you-want-to-explore> resources: requests: storage: 3Gi --- apiVersion: v1 kind: Pod metadata: name: volume-inspector spec: containers: - name: foo command: ["sleep","infinity"] image: ubuntu:latest volumeMounts: - mountPath: "/tmp/mount" name: data volumes: - name: data persistentVolumeClaim: claimName: my-claim readOnly: true 来解决更改框架大小的附带影响。

$ kubectl exec -it volume-inspector bash
root@volume-inspector:/# ls /tmp/mount