默认的Emacs模式行仅显示当前行号及其相对于总行数的百分比.如何让它显示总线数?
我正在为emacs制作自己的次要模式.现在我想添加按钮到modeline.必须单击此按钮才会出现弹出菜单.此菜单的项目取决于用户的操作.我知道有一种方法可以使用`minor-mode-alist'向modeline添加一个功能按钮,但我不知道如何制作动态菜单.
我试图改变emacs 24中的模式行的样式.
我想添加一个上划线和一个下划线.下划线工作正常,但由于某种原因,上线不起作用.这是我到目前为止的代码(添加到.emacs):
(set-face-attribute 'mode-line nil
:foreground "gray0"
:background "cyan"
:overline "cyan"
:underline "cyan")
Run Code Online (Sandbox Code Playgroud)
关于如何使用上线工作的任何想法?
还有一种方法来设置边框和文本之间的距离?
谢谢
我计划在不久的将来在Emacs中自定义模式行,我不明白在模式行中列出次模式的算法.
在Emacs手册的"1.3模式线"部分中,它说:«MINOR是一些已启用的"次要模式"列表»
在«23.2次模式»部分中,它说:«大多数缓冲区本地次要模式在启用时在模式行中说明»
但是我列出了ErgoEmacs次要模式,这是全局的.有人可以解释这背后的机制,并最好指出负责这一点的各种elisp来源吗?
我想看看是否有办法在主模式下更改模式链接前景和背景颜色,
我正在考虑添加逻辑
(add-hook 'after-change-major-mode-hook
Run Code Online (Sandbox Code Playgroud)
但是,我没有所有emacs lisp经验来做出这样的改变.这是逻辑:
switch major-mode:
case "emacs-lisp-mode":
(set-face-foreground 'mode-line "ivory")
(set-face-background 'mode-line "DarkOrange2")
case "ruby-mode":
(set-face-foreground 'mode-line "white")
(set-face-background 'mode-line "red")
...
default:
(set-face-foreground 'mode-line "black")
(set-face-background 'mode-line "white")
end switch
Run Code Online (Sandbox Code Playgroud)
提前谢谢了!.
有没有办法在模式行的右端定位一个值?
根据我的理解,如果值增加,模式线会将其值"推"到更远的位置.如果某些值从右侧开始并扩展到中间,我会更喜欢它.
我已经尝试过像powerline这样的解决方案,但是它们看起来相当分散注意力并且在设置上更加复杂,以显示与标准模式相同的信息量.
我从事各种项目,其中许多项目都设置了特定于文件的vim设置.我被要求不在.vimrc中设置模型; 加载文件后加载模型设置是否有办法?
所以,如果我用vim打开tmp.c:
int main(int argc, char* argv[]) {
return 0;
}
/* vim: set expandtab tabstop=4 : */
Run Code Online (Sandbox Code Playgroud)
是否有一个命令我可以运行来设置模式行中的东西?只是:set modeline在它打开后做什么都没有做.
如何在模式行中使用多种字体?例如,如果想要它看起来像
线:23 尺寸:3000
用Line和Size在不同的字体比modeline字体,应该如何
(setq-default mode-line-format '(
"Line: %l Size: %i"
))
Run Code Online (Sandbox Code Playgroud)
被修改?
是否可以更改模式行的位置,使其出现在缓冲区的顶部而不是主缓冲区的底部?如果是这样,我该怎么办?
如果一个文件位于由Subversion repo支持的目录中,该目录以其中任何一个trunk或branches/X如何在模式行中显示trunk或X显示为与Git支持的文件中显示的相似SVN-trunk或SVN-X类似Git-master.