Emacs中的shell--Eshell使用笔记

shell学习教程(超详细完整) 为了方便以后工作和复习,记录一下学习shell脚本的笔记,看这篇文章需要对linux系统熟悉 文章目录一、什么是shell?为什么要学习和使用shell?二、shell的分类shell脚本的执行三、shell变量1.变量的命名规则:2.变量的分类:2.1用户自定义变量:2.1.1变量定义2.1.2变量调用2.1.3变量查看2.1.4变量删除2.2环境变量:1)环境变量设置2)环境变量查询和删除3)系统默认环境变量2.3位置参数变量:2.4预定义变量:3.只读变量:4.接受键盘输入:四、shell 运算符1. 阅读详情

1 什么是Eshell?

 Eshell是Emacs完全用Elisp实现的类UNIX shell. 由于它完全是由Elisp实现的,因此它具有与Emacs相同的可移植性,而且它可以很自然的与Elisp代码相结合. 事实上,你完全可以在Eshell下运行lisp代码

2 Eshell与普通shell有什么不同?

  • Eshell支持输出重定向但不支持输入重定向

  • Eshell没有job control功能,它不支持多进程的后台切换

  • Eshell没办法输入C-z,因为C-z会被emacs所捕获.

  • Eshell可以识别更多类型的参数

    • 字符串

    • 数字

    • Lisp列表

    • Lisp符号

    • Emacs buffer

    • Emacs process handles


  • Eshell类似于unix的shell,因此若你是在windows下运行Eshell,你会发现像dir,copy这一类cmd.exe执的内置命令无法使用了,取而代之的是ls,cp这一类的unix命令

  • Eshell并不直接调用exec这样的内核函数,它把输入的命令转换成一个可执行的Lisp代码形式,然后执行这段代码.

           要查看输入的命令被转成什么样的Lisp代码,可以输入`eshell-parse-command "echo hello"`


  • Eshell的多开比较复杂,若你已经打开了一个Eshell,再允许M-x eshell,只会跳转到那个eshell而已. 解决的办法有:

    • 先用rename-buffer把打开的那个*eshell* buffer重命名为其他命令,再调用M-x eshell

    • 使用C-u 数字n M-x eshell会创建一个编号为n的的eshell窗口


3 命令

3.1 命令提示符

  你可以通过变量`eshll-prompt-function`自定义eshell的命令提示符. 该变量可以是一个匿名函数或一个函数名称,该函数的返回值被显示为Eshell的命令提示符号.

  当你改了自己的命令提示符后,为了让Eshell能够识别出一行输出的那个部分是命令提示符,你还需要冲定义变量`eshll-prompt-regexp`,符合该正则的部分被识别为命令提示符

3.2 Eshell中查找命令的顺序为(以cp命令为例)

  1. 输入的是完整路径(/bin/cp),则直接调用该路径的命令

  2. 查询命令前缀,若为*(由变量`eshell-explicit-command-char`决定),并且能够在search path中查找到命令,则执行查找到的命令

  3. 查询定义的alias

  4. 在search path,$PATH中查询该命令

  5. 查询同名的Lisp函数cp或eshell定义的命令eshell/cp

  但若变量`eshell-prefer-lisp-functions`设置为t,则会最优先搜索elisp函数和eshell定义的命令.

  你可以用which命令来查看命令的指向. 例如

 ~ $ which ls
eshell/ls is a compiled Lisp function in `em-ls.el'  

  如果你想调用外部的同名命令,可以在命令前加星号*. 例如

 ~ $ which *ls
/bin/ls

3.3 内置命令

  eshell自己实现了许多的内置命令,例如ls. 但通常这些内置命令只是实现了最常用的那些功能. 但是Eshell足够聪明,当你输入了一个内部命令不支持的参数时,eshell会自动调用外部命令来执行

  大多数的eshell内置命令都提供–help选项,输出帮助信息

  • addpath 路径/路径列表

                     把路径加入到PATH环境变量中,如果不加参数,则输出当前的PATH变量值


  • alias 别名 定义

        定义命令别名,通过alias增加/删除的别名会自动记录在变量`eshell-aliases-file`指代的文件中(默认为~/.eshell/alias)

        定义可以用单引号'括起来,这时可以使用$1表示第一个参数,$2表示第二个参数,以此类推,$*表示所有参数

        此外Eshell还提供一种叫`auto-correcting aliasing`的东西. 若你输入一个错误的命令超过一定次数(由变量`eshell-bad-command-tolerance`决定,默认为3),则Eshell会提示你把它定义为某个正确命令的别名


  • cd 路径

             Eshell的cd命令很强大. 你可以

    • cd -        回到上一个目录

    • cd -n        回到上n个目录

    • cd=REGEXP        回到上一个满足正则匹配的目录

    • cd =       显示目录跳转的历史,每个历史项都有一个编号

    • cd =数字       跳转到指定编号的历史项

      • cd 远程目录           使用tramp格式的远程目录



  • cal-eval EXPR

        使用Emacs calculator及损EXPR


  • date

            该命令与GNU的date命令类似,只有很少一点区别


  • define

            定义变量别名


  • dired 目录

             用dired打开目录


  • diff

            使用Emacs的内置diff(不要与ediff搞混)


  • ediff-files 文件1 文件2

        使用ediff比较文件1和文件2


  • find-file 文件

        用Emacs打开文件,可以用tramp格式打开远程文件


  • grep / agrep / egrep /fgrep /glimpse

            Emacs的内置grep命令与GNU grep相兼容,但会弹出一个名为*grep*的buffer,将结果显示出来


  • info

            与外置的info命令一样,但是是使用Emacs自身的info阅读器来阅读


  • kill

            类似kill命令,但它不仅可以接进程id,还能接process object


  • jobs

            列出Emacs的所有子进程(不仅仅是在eshell中调用的). 它实际上是执行一个名为`list-processes`的Lisp函数,会弹出一个*process list* buffer


  • listify

            功能同lisp函数`list`,它将后面的参数组合为elisp中的list. 例如

    e:/我的笔记 $ listify a b c 1 2 3
    ("a" "b" "c" 1 2 3)    
    


  • listify 参数列表

        将参数列表转换成Elisp的list形式


  • locate

            目前该命令只是调用外部的locate命令,并返回结果


  • make

                     调用Emacs的compile命令


  • occur

            Emacs的occur的别名


  • printnl

            打印各个参数,每个参数一行


  • su / sudo

            Uses TRAMP’s su or sudo method to run a command via su or sudo(即是说,当目录为远程目录时,该命令作用于登录远程系统的用户)


  • whoami

            返回当前用户,如果是在远程目录时执行该命令,则返回登录远程系统的用户


  • upcase 字符串 /downcase 字符串

        转换字符串为大/小写形式


  • unset 环境变量

        取消指定的环境变量


  • vc-dir 目录

        显示目录的版本控制信息


3.4 命令交互中的一些有用的keybind

keybinddescription
C-c M-b插入buffer名称
C-c M-i插入子进程名
C-c M-v插入环境变量名
C-d M-d若一些程序不能正确处理带缓冲的输入,则按这个键序列切换

3.5 通配符

  eshell下的通配符与zsh下的通配符很类似,它也提供了predicate和modifier的功能. 具体的扩展规则可以通过执行命令eshell-display-predicate-help 和 eshell-display-modifier-help来查看帮助文档

  所谓predicate,是指对输出结果进行过滤的一种表示,它的格式为($predicate). 例如

 $ echo *(^/)     #显示非目录
("bar" "foo")  

  所谓modifier,是指对输出结果进行修改的一种表示,它的格式为(:\(modifier).

\) echo *(:U)            #把结果转换成大些形式
("BAR" "BIN/" "DEV/" "ETC/" "FOO" "HOME/" "LIB/" "TMP/" "USR/" "VAR/")  

$ echo ("foo" "bar" "baz" "foo")(:gs/foo/blarg/)    #可以进行替换操作
("blarg" "bar" "baz" "blarg")

  通过修改变量`eshell-predicate-alist`和`eshell-modifier-alist`的值可以新增自己的predicate和modifier. 例如

(add-to-list 'eshell-modifier-alist '(?X . '(lambda (lst) (mapcar 'rot13 lst))))

4 命令历史

 history命令会显示一张历史命令列表,每个命令前面都带有一个编号. eshell最多存储的历史命令个数由变量`eshell-history-size`决定.

 使用`!!`运行上一个命令

   使用`!n`命令可以运行历史命令表中第n个命令,若n为负数,则是从历史表的尾部往回数

 使用`!foo`命令或运行最后执行的以foo开头的命令,而`!?foo`会运行最后执行的包含`foo`的命令. 若要运行最后执行的第n个参数为foo的命令,用`!foo:n`

 这张历史命令表会自动记录在一个文件中,该文件路径由变量`eshell-history-file-name`决定. eshell每次启动/关闭时都会读取/写入命令历史表到该文件中.

 eshell还提供了一些查询/遍历历史命令的操作符,如下:

  • M-r / M-s

           向前/先后正则搜索匹配的命令


  • M-p / M-n

           上一个/下一个执行过的命令. 若你输入了一些命令后再执行这两个操作,则会查询以已输入为开头的历史命令


4.1 相关配置项

  • eshell-hist-ignoredups

        决定是否忽视重复的命令


  • eshell-input-filter

        该值为一个函数名,每个输入的命令都会作为参数传递给该参数,若函数返回t则保存历史列表中,否则不保存


  • eshell-history-size

        决定了保存多少条历史命令


5 补全

5.1 使用补全

  在eshell中按<TAB>键会自动开始补全. eshell不仅仅能补全命令,文件,还能补全lisp代码.

5.2 自定义补全

  eshell使用名为pcomplete(programmable completion的缩写)的库来进行补全, 你可以为自己的命令自定义补全函数.

  补全函数的命名规则为`pcomplete/命令名`或`pcomplete/MAJOR模式/命令名`. 下面是个例子

;; 首先获取补全可选项,这里获取当前符合名称的软件的列表
(defun pcmpl-package-cache (name)  
  "return a list of packages in cache"  
  (unless (equal name "")  
    (split-string (shell-command-to-string  
                   (concat "apt-cache pkgnames " name " 2> /dev/null")))))  
;; 定义补全函数
(defun pcomplete/sai ()  
  "completion for `sai'"  
  (while  
      (pcomplete-here  
       (pcmpl-package-cache (pcomplete-arg 'last)))))  

5.3 相关配置项

  • eshell-cmpl-ignore-case

             补全时是否忽略大小写


  • eshell-cmpl-cycle-completions

        是否循环补全


6 脚本

 在eshell可以用source命令来执行eshell脚本. 也可以在emacs的任何地方用函数`eshell-source-file`来调用eshell脚本

6.1 启动脚本

  Eshell也支持login和profile/rc启动脚本,它们的路径分别由变量`eshell-login-scrip`和变量`eshell-rc-scrip`决定,默认放在`~/.eshell`目录下

6.2 内置变量

  eshell的变量与Emacs共享一个作用域.

     此外eshell还定义了一些内置变量

  • $+

            当前的工作目录


  • $-

            前一个工作目录


  • $_

            最后一个命令的最后一个参数


  • $$

            最后一个内置命令的结果,如果上一个命令是外部命令,则为t或者nil


  • $?

            最后一个命令的退出码,0或1


6.3 $扩展

  eshell不提供字符串操作的expansion操作,这是因为Elisp library已经提供了大量的类似功能.

  • $var

                     扩展为变量var的值


  • $#var

                     扩展为变量var的值的长度


  • $(lisp)

                     扩展为lisp表达式的运行结果,它与(lisp)一样,但是可以嵌入到字符串中


  • ${command}

                     扩展为command的输出结果


  • $var[i]

            扩展为变量var的值中的第i个元素,如果变量var的值为字符串,它会以空格为分隔符把它分割为list


  • $var[: i]

            类似上面,但是以:为分割符号


  • $var[: i j]

            类似上面,但是会返回一个list包含第i和第j元素值. 若该返回值内插入一个字符串中,则会转换为以空格连接各元素值的字符串.


  • $var["\\\\" i]

                     以反斜杠作为分隔符.

            事实上,第一个参数可以是任何的正则表达式. 例如如果你想以数字作为分隔符可以用`$var["[0-9]+" 10 20]`


  • $var[hello]

            返回var数组中索引为hello的值


  • $@var[hello]

                     Returns the length of the cdr of the element of var who car is equal to "hello".


6.4 for循环

  for var in 列表 { 执行语句 }

  这里的列表是以空格分割的一系列的值,也可以是某个命令的输出结果

e:/git-svn/server/pub/src $ for va in 2 3 4 {echo $va}
2
3
4  

7 Input/Output

   当在eshell下运行那些非line-oriented的程序(比如使用了ncurses库的程序)时,显示会异常.

 要解决这个问题,需要手工添加这个命令到列表`eshell_visual_commands`中

 eshell能够支持输出重定向和管道,但是目前还不支持输入重定向.

7.1 重定向到虚拟设备

  所谓虚拟设备可以认为是ELisp函数的一个别名,任何对虚拟设备的重定向操作都会调用对应的Elisp函数.

  虚拟设备与Elisp函数的对应关系存储在变量`eshell-virtual-targets`中. 默认情况下eshell自带了两个虚拟设备:

  • /dev/kill会把输出流存入emacs kill ring

  • /dev/clip会把输出流存入clipboard

  • /dev/eshell会把输出流直接在eshell上输出

  • /dev/null会吧输出流丢弃

  如果你想新增自己的虚拟设备,你可以添加格式为("/dev/name" function mode)的list到变量`eshell-virtual-targets`中. 其中:

  • /dev/name是虚拟设备的名称.

  • function是一个lambda函数或者函数名称.

            若mode为nil则该函数作为output function; 若mode非nil,则该函数需要接收一个mode并返回一个output function.

             function的参数接收的mode有三个可能值'overwrite,'append和'insert

        output function接收一个字符串作为参数. eshell对输出重定向的每一行都会调用该output function来处理,直到输出完毕则传递参数nil.


  • mode与function函数配合,用来指示第二个function的类型

7.2 重定向到buffer

  此外你还可以通过`ls >> #<buffer buffer名称>`这样的方式来将输出重定向到emacs的某个buffer中

7.3 重定向到Elisp变量

  你还可以使用>>#'变量名来将输出重定向到emacs lisp的某个变量中

~ $ echo a b c >#'a
~ $ echo $a
("a" "b" "c")


基于Gardner环的QPSK定时同步MATLAB仿真:四倍采样与多场景性能分析 本文详细介绍了基于Gardner环的QPSK定时同步MATLAB仿真方法,重点分析了四倍采样技术在定时同步中的应用与性能优化。通过MATLAB代码实例展示了Gardner环的实现原理、多场景性能分析及常见问题解决方案,为数字通信系统的定时同步设计提供实用参考。 阅读详情

相关推荐

【干货】SAP物料分类账的简单理解

一、SAP物料分类账理解 物料分类账,简称ML(material ledger),其基本用途是可以用八个字概括“还原成本”、“还原库存”。即通过月底运行物料分类账,将库存差异(原材料-材料成本差异、库存商品-自制半成本差异、库存商品-自制产成品差异)自动按当期库存出库数和库存结存数的比例分摊至成本和库存中。为了理解其概念,可以简单举一个例子: 开一工单,生产A产品,数量为3个,当月全部生产完工

ERP运维咨询(目标和成功) 1万+

eshell操作

eshell在windows上是个很好的工具,因为windows通常没有linux环境。eshell可以起到一个弥补作用,虽然不是全部功能。但是eshell也有一些和shell不一样的地方,这里总结下和shell不太一样的地方:清除bufferclear新版的emacs提供了clear函数,输入后直接清除buffer内容,不用写成lisp函数方式(clear)。光标移动shell中上下方向键都可以

Dean Chen的专栏 5034

当NetApp 7-mode遇到单控制器故障:HA模式手动修复全记录

本文详细记录了NetApp 7-mode存储系统在单控制器故障时的应急修复过程,包括HA配置重建、磁盘初始化和业务恢复等关键步骤。通过实战案例解析如何解决`VIA Interconnect is down`等典型问题,为企业级存储系统的高可用保障提供实用指南。

yolo5detector的博客 246

Eshell

eshell 并不是一个真正的 shell,它只能在 emacs 上运行。尽管和 bash、zsh 相比,它的功能很有限,但对大多数人来说已经足够了。此外,由于 eshell 是 由 elisp 编写的,所以它还有其他 shell 所没有的一些特点,比如更强的扩展性和可以使用 e

Learn the hard way 3993

STM32L476低功耗实战:LPTIM精准定时唤醒STOP2模式与系统级功耗优化

本文深入探讨了STM32L476低功耗实战技巧,重点解析了LPTIM精准定时唤醒STOP2模式的配置与优化。通过详细的步骤指南和实战经验分享,帮助开发者实现系统级功耗优化,特别适合电池供电设备开发。文章涵盖LPTIM1定时器配置、STOP2模式进入流程及常见问题排查,助力将整机功耗降至8.2uA级别。

weixin_33686714的博客 435

世界模型(World Models)进展全景调研(截至 2025-08)

A5) 2019-07(待核验) | C-SWM:Contrastive Structured World Models(Kipf et al.)A6) 2019-07(待核验) | SLAC:Stochastic Latent Actor-Critic(Lee et al.)A3) 2015-12(背景注记,待核验) | Embed to Control(E2C,Watter et al.)Nature 2020)Repro/Code:werner-duvaud/muzero-general(社区)

u013250861的博客 488

Emacs eshell的好处

一直在Linux下用shell,现在来谈谈eshell.eshell是完全用elisp编写的shell,所以和shell不一样。shell会创建子进程比如bash. 因此eshell的语法和bash/sh并不完全一样。当然大多数都差不多。eshell有几个优点1. 在windows操作系统下,有了eshell,可以方便的运行Linux风格的命令,不需要再安装别的东西. 当然各个平台行为一致也是优点

Dean Chen的专栏 8661

详细指南:如何在TI C2000基于C28x的微控制器上部署FreeRTOS_C语言实现

FreeRTOS是一个小型、开源、实时的嵌入式操作系统内核。它为多种微控制器和处理器提供了支持,包括ARM、AVR、MSP430和PIC等。小型和轻量级:适合资源受限的嵌入式系统。实时性:可以满足严格的实时要求。多任务支持:支持多任务并发执行。内存管理:提供了多种内存管理策略。模块化设计:用户可以根据需要选择所需的功能模块。TI C2000系列微控制器是专为实时控制应用设计的。高性能C28x核:提供了高速的浮点运算能力。丰富的外设:包括PWM、ADC、DAC、通信接口等。低功耗。

qq_38334677的博客 1606

emacs shell插件_hello-emacs/Emacs中的shell--Eshell使用笔记.org at master · emacs-china/hello-emacs · GitHub...

Eshell使用笔记什么是Eshell?Eshell是Emacs完全用Elisp实现的类UNIX shell. 由于它完全是由Elisp实现的,因此它具有与Emacs相同的可移植性,而且它可以很自然的与Elisp代码相结合. 事实上,你完全可以在Eshell下运行lisp代码Eshell与普通shell有什么不同?Eshell支持输出重定向但不支持输入重定向Eshell没有job control功...

weixin_28339527的博客 329

17、自适应和学习索引:在线物理设计调整的新维度

本文探讨了现代数据库管理系统中自适应索引和数据库裂解的新方法,通过结合学习模型与多臂老虎机(MAB)框架,实现在线物理设计调整。文章详细介绍了自适应索引的工作原理、数据库裂解技术以及如何利用机器学习进行索引选择和优化,并讨论了MAB框架在动态调整索引结构中的应用及其实际案例。

go5gopher的博客 81

C/C++ LMS算法详解及源码

LMS(Least Mean Squares)算法是一种自适应滤波器算法,用于估计一个系统的参数,以使输出信号与期望信号之间的均方误差最小化。LMS算法通过使用梯度下降的方法,逐步调整自适应滤波器的权值来优化滤波效果。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 3276

Emacs中使用shell

M-! cmd RET 打开一个名为“Shell Command Output*“的窗口,并把该命令的执行结果显示在其中。按下”C-x 1“组合键可以关闭这个窗口。由于Shell命令的输出是在一个编辑缓冲区里,因此我们可以对它进行编辑、保存等操作。 M-| cmd RET 运行Shell命令,并使用编辑窗口中选定的区域作为该Shell命令的输入,然后可以选择是否用该Shell命令的输出来替换编辑...

qq_36525177的博客 991

硅电容的工艺结构原理及选型参数总结

硅电容,也称为硅质电容或硅二极管电容,是一种特殊的电容器。它利用硅二极管的结构来实现电容的功能。本文对硅电容的工作原理,结构特点,选型参数及设计注意事项进行总结。

fydar的博客 2332

Eshell 入门指南:Emacs 原生 Shell 与终端模拟器的本质区别

Shell 是开发者与操作系统交互的核心接口,传统 shell 如 bash、zsh 在终端模拟器中运行,依赖终端控制序列完成交互。而 Eshell 作为 Emacs 原生 shell,采用 Emacs Lisp 实现命令解析与执行,输入输出直接发生在可编辑的缓冲区中,天然支持文本搜索、编辑与脚本化。这种设计使 Eshell 在命令编排、文件批处理和与编辑器生态联动方面具备独特技术价值,尤其适合需要频繁处理命令输出的场景。理解 Eshell 与终端模拟器的定位差异,是高效使用这一工具的关键起点。

weixin_28829903的博客 178

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

告别 Zshell,Emacs Shell 更香?

作者分享了从 Zshell 等转向 Emacs Shell 的体验,介绍了 Eshell 的优势、启动方式、近似 Lisp REPL 的特性,还阐述了变量、循环、文件选择等方面的使用方法。

yuyanhome的博客 33

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

GNU Emacs完全指南:从新手入门到定制你的终极编辑环境

如果你正在同时修改十来个配置文件、频繁在不同的项目目录间切换、还希望有一套完全属于自己的操作习惯——那么你大概率需要 GNU Emacs。这是一款可编程、可无限扩展的文本编辑器,更是一个把代码编辑、文件管理、终端操作、任务清单整合进同一界面的工作环境。本份 GNU Emacs 完全指南将带你从零上手,用实战场景逐步掌握它的核心用法,并最终搭建出属于你的终极编辑环境。无论你是刚接触编程的新手,还是想

gitblog_00363的博客 642

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Emacs 折腾日记(二十七)——终端管理

Emacs终端环境配置指南 本文介绍了如何在Emacs中配置和使用终端功能,主要包括term和eshell两种终端模式: term终端:调用系统原生shell环境,使用shackle插件控制窗口显示(下方30%区域),支持快速关闭。 popper插件:实现终端窗口的快速切换显示/隐藏,支持定义多种缓冲区类型进行管理。 eshell终端:Emacs内置shell环境,具有以下特点: 支持封装系统命令(如autojump) 提供alias别名功能(永久保存到~/.emacs.d/eshell/alias) 历史

Masimaro的专栏 1184

ghostel-eshell与ghostel-comint集成指南:给Emacs内置shell换上Ghostel渲染引擎

如果你常用 Emacs 内置的 eshell 或 `M-x shell`,却受困于 ANSI 颜色缺失、真彩失效、链接不可点击,可以试试 **Ghostel**——由 libghostty(Ghostty 终端背后的 VT 引擎)驱动的 Emacs 终端模拟器。它自带的两个集成模块 `ghostel-eshell` 与 `ghostel-comint`,分别把 eshell 的可视化命令和 com

gitblog_00183的博客 55

linux bash e,邪恶的 eshell

对于一个经常“被跨平台”的人来说,Windows 下没有一个好用的shell,不能不说是一个遗憾。虽然说 bash zsh 都有 windows的版本,但几乎一无是处……此处暂省略1000字,且不说应有尽没的功能,光是那速度就让人抓狂,动不动装死,让人想撞死,还不如 eshell来的机灵……等等,eshell 不就是天生跨平台的 shell 么?当然,要用 eshell 必需要有 emacs,因为...

weixin_34657323的博客 316

emacs shell插件,让Emacs尊重我的默认shell +选项

I'm trying to get my Emacs shell to mimic that of my standard terminal sessions. Basically I would like it to respect the same PATH as well as the command prompt.So far I have a few issues:PATH isn't...

weixin_39747383的博客 237

解决 Emacs 进入 eshell 时出现乱码的问题

在Emas使用终端:M-x eshell RET使用M-x shell也可以调出终端,只是可能会出现乱码,而且操作不如Emacs自身的eshell舒服。当出现乱码时,将下面两行内容加入.emacs中:(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)(add-hook 'shell-mode-hook 'ansi-color...

weixin_30814223的博客 379

emacs shell插件_使用emacs shell命令清除shell

Is there a builtin command to clear shell while using shell in emacs?If not, is there an elisp function to achieve the same?解决方案Update February 2015Just noticed that Emacs now (version 25+) has the co...

weixin_39632524的博客 165

windows emacs eshell sqlplus 中文乱码解决

windows emacs eshell sqlplus 中文乱码解决 问题描述 在cmd下正常,在emacs eshell下乱码,如下: 解决办法 第一步:新建环境变量 第二步:

GDBBader的博客 352

如何用Emacs编译C++代码

前言之前做算法题都是在CodeBlocks上写的,为了尽快入门心怡许久的Emacs决定以后都用它来写,而不能仅仅将其作为编辑器。使用C-x C-f来打开/创建文件,写好代码,然后用C-x C-s来保存文件。这是最基本的操作了,比起方向键我更喜欢C-n C-p C-f C-b的方式。其实这篇博客也是我用Emacs写的第一篇。Ok,言归正传。创建文件首先是创建文件,记得指定扩展名,因为这样就可以利用Em

nomasp 5596

如何5分钟快速上手Emacs24-starter-kit:新手完全教程

你是否对Emacs的强大功能感到向往,却被复杂的配置劝退?Emacs24-starter-kit正是为你量身打造的终极解决方案!这款基于Emacs24的literate starter kit为新手提供了一个干净、优雅的配置起点,让你在5分钟内就能拥有一个功能强大的Emacs环境。😊 ## 🚀 什么是Emacs24-starter-kit? Emacs24-starter-kit是一个专门

gitblog_00445的博客 733
上一篇: 当用fopen读写打开文件时,请使用r+,而不是rw
下一篇: DB2中使用游标的注意事项
darksun9972
博客等级 码龄19年 42粉丝 399原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值