什么是获得当前文件名的禁区方式(使用Cy)

fal*_*lse 2 emacs

有时我编辑具有特定后缀的文件和具有相同基本名称但另一个后缀的文件.由于基本名称很长且很笨拙,我想重用现有的文件名来构造另一个名字.

我现在做的是:

C-x C-b (这显示了缓冲区列表)

C-x o (现在我在缓冲区列表中)

M-right M-left (在基名的开头)

C-space M-right ... M-w (复制基名)

C-x o (回到我来自哪里)

...

必须有更规范的方法来做到这一点!(我对涉及正确定义命令的方式不感兴趣,我已经有太多了...)


编辑:实际上,我想要的是用这个名字做一些事情,最常见的是创建或阅读相关文件.@Trey Jackson C-x C-v是的!

Tre*_*son 5

严格地说,即使您不想要命令,此命令也会执行您想要的操作:

(defun copy-base-filename-as-kill ()
  (interactive)
  (let ((filename (buffer-file-name)))
    (when filename
      (kill-new (file-name-nondirectory (file-name-sans-extension filename))))))
Run Code Online (Sandbox Code Playgroud)

但是,如果你真的只是用这个名字来做别的事情......或许更好的解决办法就是让其他事情变得更容易.

如果您要执行的操作是根据当前名称创建新名称,请尝试使用命令C-x C-v(aka M-x find-alternate-file).