`

Emacs Lisp与Shell的交互

阅读更多

一直以来对于w3m、tramp、dired等与shell关系密切的mode不是很了解,没有仔细读过代码。但总觉得应该是调用shell命令,再将shell命令的输出重定向到emacs中进行处理。今天在网上看到了相关的方法:

  1. 调用shell命令
    (defun zj-open-directory-with-explorer ()
      "在windows中用explorer浏览当前目录"
      (interactive)
      (shell-command "explorer.exe .")
      (browse-url "www.google.cn")
      )
    
     
  2. 处理shell命令输出
    (defun zj-display-directory-files ()
      "执行shell命令并处理它的输出。这里为显示当前目录下的文件"
      (interactive)
      (message (shell-command-to-string "ls -l"))
      )
     

 

分享到:
评论

相关推荐

    emacs-lisp功能扩展集锦

    Emacs自身提供了强大的调试工具,如`edebug`可以帮助用户调试.lisp代码,而`ielm`则提供了交互式的Lisp shell,便于测试和学习。 总的来说,“emacs-lisp功能扩展集锦”中的.el文件是Emacs用户自定义编辑器功能的...

    shx-for-emacs:Emacs的shell模式(和comint模式)扩展,可显示小图和图形,并允许用户在Emacs Lisp中编写shell命令

    **标题解析:** ...总结起来,"shx-for-emacs"是一个强大的Emacs扩展,它极大地提升了Emacs作为shell交互工具的能力,通过图形化输出和Emacs Lisp的结合,为开发者提供了一个更加综合和高效的工作环境。

    精心整理的emacs资料集合

    此外,Emacs的M-x shell命令可以开启一个内置终端,方便用户执行系统命令,实现编辑器与操作系统之间的交互。 总的来说,掌握Emacs不仅可以提高文本编辑的效率,还能让你在Unix/Linux世界中更加游刃有余。通过学习...

    makem.sh:类似Makefile的脚本,用于构建和测试Emacs Lisp软件包

    标签“emacs”和“EmacsShell”表明这个脚本与Emacs编辑器及其内置的shell环境有关。EmacsShell通常指的是在Emacs内部运行的shell模式,允许用户在不离开Emacs的情况下执行Shell命令,这对于自动化和集成开发环境...

    shell-switcher:emacs次要模式,可轻松在shell缓冲区之间切换(例如使用alt + tab)

    Eshell是Emacs实现的一个命令行解释器,它完全用Emacs Lisp(Elisp)编写,提供了一种与系统shell类似的交互体验。M-x shell则通常启动一个外部系统的shell,如bash或zsh,以原生方式运行命令。 **安装和配置Shell-...

    Emacs教程Learn_GNU_Emacs

    例如,对于Python开发,Emacs的Python模式(Python.el)可以提供代码提示和交互式Python shell(M-x python-shell)。对于其他语言,如Java、C++、JavaScript等,也有相应的模式和插件支持。 Emacs还包含了内置的...

    Lemo的Emacs配置文件

    10. **交互性增强**:Emacs可以与shell、终端、邮件客户端等外部程序交互,配置文件可以定义这些交互方式,如使用M-x shell命令打开一个终端。 "Lemo的Emacs配置文件"可能包含了上述一些或全部的定制,具体的内容取...

    Emacs Beginner‘s HowTo(Emacs入门指南英文版)

    - **Shell Mode**:可以直接在Emacs中运行shell命令。 - **Telnet和FTP**:支持远程登录和文件传输功能。 - **Man页面**:直接在Emacs中查看Linux命令的手册页。 - **Ange-FTP**:提供FTP客户端功能。 #### 4. ...

    friendly-shell:更方便的Emacs Shell API

    在Emacs编辑器中,友好地与Shell交互是提高开发效率的关键之一。"Friendly-Shell"项目正是为了提供这样一个更加便捷的Emacs Shell API而诞生的。它旨在增强内置的`M-x shell`命令,使其在功能和用户体验上更加完善。...

    GNU Emacs的Scala学习开发环境配置

    在Emacs中,你可以使用`sbt-mode`来与SBT交互。同样,通过MELPA或ELPA安装`sbt-mode`: ```lisp M-x package-install RET sbt-mode ``` 安装完成后,可以设置快捷键来启动SBT Shell: ```lisp (define-key scala-...

    emacs-23.4.tar.gz

    - **交互式编程**:通过 `M-x python` 可启动 Python shell,在编辑器内直接运行代码。 - **Vim仿真模式**:对于习惯 Vim 键绑定的用户,Emacs 有 Evil 插件,可以模拟 Vim 的操作模式。 5. **Emacs Lisp 和...

    emacs-bash-completion:将可编程的bash完成添加到Emacs shell模式

    `emacs-bash-completion`项目正是为了将这种便捷的Bash命令完成功能整合到Emacs的Shell模式中,从而为Emacs用户提供更完善的交互体验。 首先,我们需要理解Emacs的Shell模式。在Emacs中,Shell模式允许用户在编辑器...

    emacs python-mode 及使用方法

    4. **交互式Python shell**:使用`C-c C-z`可以在Emacs内部启动一个新的Python Shell(通过`python-shell`命令),实现代码测试和调试。 5. **文档查看**:`C-h f`查看函数文档,`C-h v`查看变量文档,`M-.`跳转到...

    传说中程序猿的终极武器Emacs:emacs-26.1_x86_64

    对于Python开发者来说,Emacs 26.1可以通过安装和配置像elpy(Emacs Python Development Environment)这样的扩展,提供完善的Python开发环境,包括代码分析、自动完成、交互式Python shell(REPL)和Jupyter ...

    shell-pop-el:shell-pop.el帮助您在Emacs上轻松使用shell。 只有一项关键行动才能发挥作用

    由于shell-pop.el是基于Emacs的,它可以与Emacs的其他强大功能相结合。例如,可以利用Emacs的自动补全、历史记录、复制粘贴等特性,提高shell命令的输入效率。此外,还可以与其他Emacs插件配合,如 Projectile(项目...

    test-emacs

    Emacs还有`shell-mode`,它提供了一个与外部Shell交互的窗口。在该模式下,你可以运行命令、查看输出并直接在Emacs缓冲区中与Shell会话交互。这对于调试脚本或执行命令时实时查看结果很有帮助。只需输入`M-x shell`...

    脚本:Shell脚本

    三、Emacs Lisp与Shell脚本 Emacs是一个强大的文本编辑器,它的内建语言Emacs Lisp可以用来扩展编辑器功能,包括编写和调试Shell脚本。 1. **ESS(Emacs Speaks Statistics)**:虽然名字里带有“统计”,但ESS也...

    emacs-24.2

    6. **交互式Shell**:Emacs的M-x shell命令可以打开一个交互式的终端窗口,用户可以在其中运行命令行工具。 7. **自动补全**:通过AutoComplete或Company等扩展,Emacs提供了强大的自动补全功能,适用于多种语言和...

    mu-wizard:可在Emacs上轻松设置mu4e的Shell脚本

    4. **EmacsShell**:Emacs内建的shell模式,允许用户在Emacs环境中执行Shell命令,增强编辑器的功能和交互性。 **文件名称列表解析:** `mu-wizard-master` 可能是指该压缩包包含的是mu-wizard的主分支或最新版本...

    emacs-23.2b.tar.gz

    在 Emacs 中,可以通过 M-x(Meta 键+x)命令来启用这些功能,如 M-x python-mode 进入 Python 编辑模式,M-x python-shell 打开 Python 交互环境。此外,Emacs 还有像 Pymacs 这样的扩展,它允许在 Emacs 内直接...

Global site tag (gtag.js) - Google Analytics