【问题标题】:How to open file in Emacs via eshell?如何通过 eshell 在 Emacs 中打开文件?
【发布时间】:2011-06-21 15:26:54
【问题描述】:

在 eshell 中是否有在另一个缓冲区中打开文件的命令?

【问题讨论】:

    标签: emacs buffer eshell


    【解决方案1】:

    您可以直接调用 elisp 函数。因此,要打开文件,请在文件名上调用 find-file。示例:

    ~ $ ls
    myfile
    ~ $ (find-file "myfile")
    

    括号和引号是可选的,所以也可以:

    ~ $ find-file myfile
    

    【讨论】:

    • 我认为这并不能真正回答“意思”问题,但它回答了所提出的问题。我的意思是发现这个问题的人可能正在寻找一个命令行命令来输入 eshell,可能是因为他们不想使用C-x C-f,无论出于何种原因。
    • 我通常将 emacs 拆分为两个窗口,并希望在另一个窗口中打开文件,而不是替换我的 eshell 会话:find-file-other-window myfile
    【解决方案2】:

    为什么要使用 eshell? 'C-x f' 并输入文件的位置。

    【讨论】:

    • 好吧,我不想输入整个路径,因为我已经在 shell 中的某个位置。我仍然猜想在我的 emacs 冒险的某个时刻我会使用 dired。在'commander way'
    • 我想如果您尝试一下,您会发现“C-x C-f”实际上会在您正在浏览的目录中打开。另外,您将获得 ido 完成!
    【解决方案3】:

    在 eshell 中,使用 find file 命令时不必使用整个路径。点击 C-x C-f 与输入 find-file 相同,eshell 将目录设置为您当前正在浏览的目录。这是我使用 ansi-term 的优势。试试看。

    【讨论】:

      【解决方案4】:

      elisp函数可以直接在eshell中使用,大家可以试试:

      find-file <filename>
      

      【讨论】:

        【解决方案5】:

        find-file 基本上是这样做的,正如 ataylor 和 ryan kung 之前指出的那样。

        $ find-file myfile
        

        但是,使用 eshell 本身,您还可以设置更短的别名:

        $ alias ff 'for i in ${eshell-flatten-list $*} {find-file $i}'
        

        (并且 eshell 会永久记住它)。所以从现在开始你可以输入:

        $ ff myfile
        

        感谢this tutorial

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-11
          • 1970-01-01
          • 2013-10-17
          • 1970-01-01
          • 2012-09-17
          相关资源
          最近更新 更多