Emacs: 设置窗口标题格式
Emacs默认的窗口标题常常比较简单,例如我的默认标题是"emacs@ubuntu"。如果想要在标题中显示更多的信息,我们可以对它进行一些设置。由于Emacs的可扩展性,这种修改实际上非常容易。
显示文件名
设置Emacs的标题只需要设置变量frame-title-format就可以了[1]。例如
(setq frame-title-format "%b - Emacs")
将标题设置为"文件名 - Emacs"的形式,其中%b表示文件名。更多格式说明可以参考mode-line-format的文档。
显示当前目录
我们比较贪,想要titlebar做更多的事[2]。一个比较常见的做法是显示当前文件所在的目录。为了便于扩展我们将上述标题整理为等价的格式:
(setq frame-title-format
'(:eval (concat
(buffer-name)
" - Emacs"))
)
表示标题的格式由计算一个表达式得到,而这个表达式是(buffer-name)和"- Emacs"连接得到的。这样,就容易加入当前目录的计算[3]:
(if buffer-file-name
(concat " (" (directory-file-name (abbreviate-file-name default-directory)) ")"))
其中default-directory表示当前的目录,abbreviate-file-name将其转化为缩略的形式(例如"/home/user/path/"变为"~/path/"),directory-file-name去掉最后的斜杠。if语句表示只针对文件buffer执行这项操作。现在标题格式类似于"init.el (~/.emacs.d) - Emacs"。
修改指示符
最后加入一个现代编辑器常见的功能,在已修改的文件前面加一个标志。如下所示:
(if (and buffer-file-name (buffer-modified-p)) "•")
最终成品如下,将该语句加入启动文件即可:
(setq frame-title-format
'(:eval (concat
(if (and buffer-file-name (buffer-modified-p)) "•")
(buffer-name)
(if buffer-file-name
(concat " (" (directory-file-name (abbreviate-file-name default-directory)) ")"))
" - Emacs"))
)

参考资料
- https://www.gnu.org/software/emacs/manual/html_node/efaq/Displaying-the-current-file-name-in-the-titlebar.html
- https://www.emacswiki.org/emacs/FrameTitle
- https://www.gnu.org/software/emacs/manual/html_node/elisp/Directory-Names.html
Emacs: 设置窗口标题格式的更多相关文章
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
java日期格式大全 format SimpleDateFormat(转) SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH ...
- log_format为Nginx设置日志格式
nginx服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式, 另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,一般在nginx的配置文件中日记配置 ...
- .Net如何在后台设置日期格式,并显示在前台页面上
其实方法比较老咯,有比这个简单的朋友请留言哈,我的思路是先将数据库中的日期格式读出来,在后台转化成DatetTime类型,然后在使用DateTime的内部方法设置日期格式,代码如下: DateTime ...
- (转)MyEclipse设置注释格式
原文:http://xinghaifeng2006.iteye.com/blog/1243565 MyEclipse设置注释格式(转载) 博客分类: Java基础知识 Windo ...
- Java json设置时间格式,Jackson设置时间格式,json设置单引号
Java json设置时间格式,Jackson设置时间格式,json设置单引号 >>>>>>>>>>>>>>> ...
- Powershell 设置数值格式 1
设置数值格式 1 6 6月, 2013 在 Powershell tagged 字符串 / 数字 / 文本 / 日期 / 格式化 by Mooser Lee 格式化操作符 -f 可以将数值插入到字符 ...
- 【SSRS】入门篇(五) -- 设置报表格式
原文:[SSRS]入门篇(五) -- 设置报表格式 在上一节 [SSRS]入门篇(四) -- 向报表添加数据 我们设置好了报表,并可以预览到数据,如下图: 当报表完成后,有个重要的工作就是美化报表格式 ...
- (后端)excel设置日期格式的步骤
在excel中设置日期格式,分直接设置和代码设置. 一.直接设置: 选取日期所在的单元格,单元格右键菜单中--设置单元格格式.在单元格格式窗口中选数字类型为“日期”在右边的列表框中选取相应的日期格式即 ...
- execl中设置的格式无法实现
在一次项目中,需要导出execl表,并且要给表中的表格设置格式,因为每列的格式都不一样,需要单独设置设置这些格式,在后期使用中因为导入的数据过多,是的后面的单元格中设置的格式无法实现. 每次打开exe ...
随机推荐
- LTE 网元功能
E-NodeB : 无线资源管理,无线承载控制.无线接入控制.连接移动性控制.UE的上下行动态资源分配 IP头压缩及用户数据流加密 UE连接期间选择MME 路由用户面数据至S-GW 寻呼消息的组织和发 ...
- DoMes平台首页菜单栏
问题1:左侧菜单栏数据是在哪里获取的? 答案1: 项目根目录的Views/Home/Index文件为平台首页 打开Index.cshtml文件,有一个framework-clientdata.js引入 ...
- eclispe+maven+ssm+sql_server/mysql配置
链接: https://pan.baidu.com/s/1_BFI8XfS8l89-3-1IjlVZg 密码: x9in
- iis下发布MVC网站
1.首先检查有没有安装iis,没有的话先安装iis 2. 3.选择应用程序池的时候看有没有asp.net 4.0 如果没有先安装. 首先以管理员身份打开“运行”输入cd C:\Windows\Micr ...
- mysql odbc 配置详解
1.安装mysql 以及mysql odbc 要注意自己的版本 版本都要统一(32位 或者64位) 2.出现的error 1989 126错误代码 Error 1918. Error installi ...
- kill和raise
kill向特定的进程和进程组发送信号 raise向进程自身发送信号
- JavaScript引用类型与对象
1.引用类型 引用类型的值(对象)是引用类型的一个实例.引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法. 对象是某个特定引用类型的实例.新对象是使用new操作符后跟一个构造 ...
- 白底黑字!Android浅色状态栏黑色字体模式(另)
小彬什么都想做任重致远 关注 2016.06.30 10:16* 字数 489 阅读 3234评论 3喜欢 12 前言 由于该死不死的设计湿,设计了一套白色状态栏的UI.当然在iOS上可以实现自适应, ...
- IDEA报 : Lombok Requires Annotation Processing
Lombok Requires Annotation Processing Annotation processing seems to be disabled for the project &qu ...
- ibd2sdi — InnoDB表空间SDI提取实用程序
参考mysql8.0官方文档 https://dev.mysql.com/doc/refman/8.0/en/ibd2sdi.html ibd2sdi是一个实用程序,用于从表空间文件中提取 序列化的字 ...