使用Ctrl键和鼠标滚动调整Emacs字体大小
记事本++允许我在按住Ctrl键并向前旋转鼠标中滚动按钮时增加字体大小 同样,当我按住Ctrl键并向后旋转鼠标中的滚动按钮时,屏幕的大小会减小使用Ctrl键和鼠标滚动调整Emacs字体大小,emacs,mouseevent,font-size,Emacs,Mouseevent,Font Size,记事本++允许我在按住Ctrl键并向前旋转鼠标中滚动按钮时增加字体大小 同样,当我按住Ctrl键并向后旋转鼠标中的滚动按钮时,屏幕的大小会减小 如何使用Emacs获得相同的结果?理论上,我可以给你答案,但是比我更熟练的人将不得不编写lisp,我只是有点忙,我自己来弄清楚 如果明天之前没人回复,我会查清楚的 需要做什么: 编写一个函数(大字体),用于执行以下操作: 字体默认大小=字体默认大小+1` 然后重新评估所有打开的缓冲区 然后将函数绑定到一个键(定义键映射[C-wheel-up]“字体大”)
如何使用Emacs获得相同的结果?理论上,我可以给你答案,但是比我更熟练的人将不得不编写lisp,我只是有点忙,我自己来弄清楚 如果明天之前没人回复,我会查清楚的 需要做什么: 编写一个函数(大字体),用于执行以下操作:
我希望我的想法至少能获得部分学分:)使用emacs23,您可以在.emacs.el中添加以下行:
(global-set-key (kbd "<C-mouse-4>") 'text-scale-decrease)
(global-set-key (kbd "<C-mouse-5>") 'text-scale-increase)
(全局设置键(kbd“”)“文本比例减小)
(全局设置键(kbd“”)“文本比例增加)
代码用于:
(德芬字体大()
(互动)
(设置面属性“默认为零:高度”
(+(面属性“默认值:高度)10)))
(defun字体小()
(互动)
(设置面属性“默认为零:高度”
(((面属性的默认值:高度)10)))
(全局设置键(kbd“”)字体小)
(全局设置键(kbd“”)字体大)
编辑:用于最小和最大使用
(defun font-big ()
(interactive)
(set-face-attribute 'default nil :height
(min 720
(+ (face-attribute 'default :height) 10))))
(defun font-small ()
(interactive)
(set-face-attribute 'default nil :height
(max 80
(- (face-attribute 'default :height) 10))))
(德芬字体大()
(互动)
(设置面属性“默认为零:高度”
(最低720
(+(面属性“默认值:高度)10)))
(defun字体小()
(互动)
(设置面属性“默认为零:高度”
(最多80
(((面属性的默认值:高度)10)))
试试这个:
(global-set-key (kbd "<C-mouse-4>") (lambda () (interactive) (text-scale-decrease 1)))
(global-set-key (kbd "<C-mouse-5>") (lambda () (interactive) (text-scale-increase 1)))
(全局设置键(kbd“”)(lambda()(交互式)(文本比例减小1)))
(全局设置键(kbd“”)(lambda()(交互式)(文本比例增加1)))
就是你想要的。我一直在做你描述的事情。加载zoom frm.el
后,添加一些绑定,例如:
(global-set-key [S-mouse-1] 'zoom-in)
(global-set-key [C-S-mouse-1] 'zoom-out)
(global-set-key (vector (list 'control mouse-wheel-down-event)) 'zoom-in)
(global-set-key (vector (list 'control mouse-wheel-up-event)) 'zoom-out)
(全局设置键[S-鼠标-1]'放大)
(全局设置键[C-S-鼠标-1]“缩小”)
(全局设置键(矢量(列表“控制鼠标滚轮下降事件”)“放大)
(全局设置键(矢量(列表“控制鼠标滚轮上升事件”)“缩小)
另请参见:谢谢您的想法:-)。寻找lisp专家编写函数我在windows上使用emacs 23.1.5。但是我不能让它工作+1不确定鼠标-4和鼠标-5是什么,但是这对我来说非常有效,所以谢谢!在一个干净的ubuntu安装中,C-mouse-4和C-mouse-5与快速滚动相关,因此我使用m-mouse-4和m-mouse-5(但s-前缀也可用)。@mariotomo如果您自定义鼠标滚轮滚动量变量,您可以更改绑定到快速滚动的键,然后使用这些键进行缩放。唉,这对任何文本都不起作用。也就是说,我在.emacs配置中有一行
。(字体锁定注释面((t(:前景“暗灰色”:倾斜斜体:粗体:高度71:家族“purisa”))
。这是为注释设置字体/大小,并且该字体在文本缩放减少功能上不会因某种原因做出反应。这是有效的。无论如何,我可以将字体大小限制为最大72,最小8?
和
对我不起作用。我使用了
和
,效果很好。(我使用的是ArchLinux,如果有必要的话)我使用了示例代码,并在函数的最后一个右括号前添加了以下内容font big
和font small
,以便消息行告诉执行命令时的新高度:(消息“默认面部高度设置为%d”(面属性“默认值:高度))
下面有你的答案,但你真的经常这么做吗?是的,我经常在向团队解释代码时最大化字体。即使在演示时它在投影仪中也很有用。另请参见:是emacs dude,你为什么要使用鼠标?C-x C-+是最好的方式!Xah Lee有最好的答案,与操作系统无关。用 所以,对于windows,我得到了(kbd“”)
。来自您的rock。我将围绕这些设置进行操作。我根据其他人的建议进行了缩放。这一个与emacs一起提供的选项可以减少我的emacs配置。这可能很有效,但正如您所说,使用这些命令需要将zoom frm.el
添加到.emacs.d/lisp/
,这需要添加frame cmds.el
,这需要需要添加更多的文件,都是巨大的。我不愿意将所有这些东西添加到我的Emacs设置中,只是为了获得简单的字体缩放功能。@cobbal的回答可以做到这一点,而不需要任何额外的东西。@TeemuLeisti:不。只需要三个文件:(1)zoom frm.el
,(2)frame cmds.el
,和(3)frame fns.el
。文件是分开的,正是因为有人可以使用没有1或2的#3,或者使用没有1的#2。如果这只能作为缩放“包”使用,那么你所能做的就是:始终加载所有三个文件。哦,它们都不是“大的”:总共3个大约100KB,没有评论。无论如何,请不要觉得有必要使用其中任何一个。只是如果你只想让这个简单的缩放功能与鼠标一起工作,科巴的答案很好。无论如何,我收回了“巨大的”,并没有冒犯的意思。看起来这些文件实现了很多有用的功能。
(global-set-key [S-mouse-1] 'zoom-in)
(global-set-key [C-S-mouse-1] 'zoom-out)
(global-set-key (vector (list 'control mouse-wheel-down-event)) 'zoom-in)
(global-set-key (vector (list 'control mouse-wheel-up-event)) 'zoom-out)