如题,另外经常在compile下编译文件的情况下,如何获取文件名呢(去掉扩展名的那种,比如test.c->text)?
使用evil有一种,^R %。 emacs下有对应的命令吗?
(info “(elisp) Buffer File Name”) 中有介绍获得 Buffer 对应的文件命的变量和函数。我自己的配置里有个命令
(defun chunyang-copy-buffer-file-name (&optional buffer)
"Save filename of BUFFER is visiting to kill-ring."
(interactive)
(let ((file (buffer-file-name buffer)))
(if file
(progn (kill-new file)
(message "Copied: %s" file))
(user-error "Not visiting a file"))))
不过我几乎没怎么用过。用 Helm 的话,打开文件管理器 C-x C-f (helm-find-files
) 之后再按 C-u C-c C-k (helm-kill-selection-and-quit
) 是同样的效果。你完全可以自己实现,一来比较简单,二来一般人都偏爱自己的东西。
去掉扩展名使用
(file-name-sans-extension "test.cc")
得到 test
1 个赞
我是用helm的,不过没发现这个功能。。。
thanks,
Helm 的 Help 文档里也有提到
** Frequently Used Commands
C-t Toggle vertical/horizontal split on first hit and swap helm window on second hit. C-x C-f Drop into `helm-find-files’. C-c C-k Kill display value of candidate and quit (with prefix arg, kill the real value).
好吧,这个连接能发下吗?感觉漏了好多内容
如果用spacemacs的话是 space f y ,可以参考它的实现
查看 Helm 的帮助文档有两种方法:
- 打开任意一个 Helm 命令,再按 C-h m (
helm-help
) M-x helm-documentation
然后你可以从中搜索到我上面引用的文字。
这个文档是写在代码里的,线上看效果并不好:
1 个赞
多谢,我用的是标准的emacs:P
代码都看了呀,服!