人感覺在Emacs執(zhí)行Lisp命令,不是特別爽,有一些別扭。可能還是不熟悉的緣故,也可能是Emacs最先在Unix中使用,而不是在Windows系統(tǒng)使用的緣故。
在Emacs的安裝目錄(我的是“D:\Programs\Emacs\x86_64\bin”)中,雙擊“emacs.exe”,運(yùn)行程序。
點(diǎn)擊上圖中標(biāo)注的“*GNU Emacs*”,會自動切換到“*Scratch*”。
輸入Lisp的命令(S-表達(dá)式): (+ 3 2)
然后將光標(biāo)移到本行最后,按組合鍵(Ctrl+J)或者點(diǎn)擊“Lisp Interaction”在彈出的菜單中點(diǎn)擊“Evaluate and Print”,完成一行的計(jì)算。如下圖所示。
再測試一個(gè)匿名函數(shù)(lambda函數(shù)):
( (lambda (x) (+ x 2)) 2)
上述兩個(gè)Lisp命令(S-表達(dá)式)運(yùn)行結(jié)果(S-表達(dá)式的計(jì)算結(jié)果)截圖如下:
參考網(wǎng)頁:
https://zhuanlan.zhihu.com/p/201062516
http://xahlee.info/emacs/emacs/emacs.html (英文版的實(shí)用Emacs教程)
行跨平臺 shell(例如 Bash 或 zsh)的最大優(yōu)勢在于你能在多平臺上使用同樣的語法和腳本。在 Windows 上設(shè)置(替換)shell 挺麻煩的,但所獲得的回報(bào)遠(yuǎn)遠(yuǎn)超出這小小的付出。
-- Peter Mosmans
運(yùn)行跨平臺 shell(例如 Bash 或 zsh)的最大優(yōu)勢在于你能在多平臺上使用同樣的語法和腳本。在 Windows 上設(shè)置(替換)shell 挺麻煩的,但所獲得的回報(bào)遠(yuǎn)遠(yuǎn)超出這小小的付出。
zsh shell inside Emacs on Windows
MSYS2 子系統(tǒng)允許你在 Windows 上運(yùn)行 Bash 或 zsh 之類的 shell。使用 MSYS2 很重要的一點(diǎn)在于確保搜索路徑都指向 MSYS2 子系統(tǒng)本身:存在太多依賴關(guān)系了。
MSYS2 安裝后默認(rèn)的 shell 就是 Bash;zsh 則可以通過包管理器進(jìn)行安裝:
pacman -Sy zsh
通過修改 /etc/passwd 文件可以設(shè)置 zsh 作為默認(rèn) shell,例如:
mkpasswd -c | sed -e 's/bash/zsh/' | tee -a /etc/passwd
這會將默認(rèn) shell 從 bash 改成 zsh。
要在 Windows 上的 Emacs 中運(yùn)行 zsh ,需要修改 shell-file-name 變量,將它指向 MSYS2 子系統(tǒng)中的 zsh 二進(jìn)制文件。該二進(jìn)制 shell 文件在 Emacs exec-path 變量中的某個(gè)地方。
(setq shell-file-name (executable-find "zsh.exe"))
不要忘了修改 Emacs 的 PATH 環(huán)境變量,因?yàn)?MSYS2 路徑應(yīng)該先于 Windows 路徑。接上一個(gè)例子,假設(shè) MSYS2 安裝在 c:\programs\msys2 中,那么執(zhí)行:
(setenv "PATH" "C:\programs\msys2\mingw64\bin;C:\programs\msys2\usr\local\bin;C:\programs\msys2\usr\bin;C:\Windows\System32;C:\Windows")
在 Emacs 配置文件中設(shè)置好這兩個(gè)變量后,在 Emacs 中運(yùn)行:
M-x shell
應(yīng)該就能看到熟悉的 zsh 提示符了。
Emacs 的終端設(shè)置(eterm)與 MSYS2 的標(biāo)準(zhǔn)終端設(shè)置(xterm-256color)不一樣。這意味著某些插件和主題(提示符)可能不能正常工作 - 尤其在使用 oh-my-zsh 時(shí)。
檢測 zsh 否則在 Emacs 中運(yùn)行很簡單,使用變量 $INSIDE_EMACS。
下面這段代碼片段取自 .zshrc(當(dāng)以交互式 shell 模式啟動時(shí)會被加載),它會在 zsh 在 Emacs 中運(yùn)行時(shí)啟動 git 插件并更改主題:
# Disable some plugins while running in Emacs
if [[ -n "$INSIDE_EMACS" ]]; then
plugins=(git)
ZSH_THEME="simple"
else
ZSH_THEME="compact-grey"
fi
通過在本地 ~/.ssh/config 文件中將 INSIDE_EMACS 變量設(shè)置為 SendEnv 變量……
Host myhost
SendEnv INSIDE_EMACS
……同時(shí)在 ssh 服務(wù)器的 /etc/ssh/sshd_config 中設(shè)置為 AcceptEnv 變量……
AcceptEnv LANG LC_* INSIDE_EMACS
……這使得在 Emacs shell 會話中通過 ssh 登錄另一個(gè)運(yùn)行著 zsh 的 ssh 服務(wù)器也能工作的很好。當(dāng)在 Windows 下的 Emacs 中的 zsh 上通過 ssh 遠(yuǎn)程登錄時(shí),記得使用參數(shù) -t,-t 參數(shù)會強(qiáng)制分配偽終端(之所以需要這樣,時(shí)因?yàn)?Windows 下的 Emacs 并沒有真正的 tty)。
跨平臺,開源真是個(gè)好東西……
via: https://www.onwebsecurity.com/configuration/zsh-shell-inside-emacs-on-windows.html
作者: Peter Mosmans 選題: lujun9972 譯者: lujun9972 校對: wxy
本文由 LCTT 原創(chuàng)編譯, Linux中國 榮譽(yù)推出
譯自: https://opensource.com/article/18/4/how-create-latex-documents-emacs
作者: Sachin Patil
譯者: Yuqi Liu
這篇教程將帶你遍歷在 Emacs 使用強(qiáng)大的開源排版系統(tǒng) LaTex 來創(chuàng)建文檔的全過程。
一篇由 Aaron Cocker 寫的很棒的文章 “ 在 LaTeX 中創(chuàng)建文件的介紹 ” 中,介紹了 LaTeX 排版系統(tǒng) 并描述了如何使用 TeXstudio 來創(chuàng)建 LaTeX 文檔。同時(shí),他也列舉了一些很多用戶覺得創(chuàng)建 LaTeX 文檔很方便的編輯器。
Greg Pittman 對這篇文章的評論吸引了我:“當(dāng)你第一次開始使用 LaTeX 時(shí),他似乎是個(gè)很差勁的排版……” 事實(shí)也確實(shí)如此。LaTeX 包含了多種排版字體和調(diào)試,如果你漏了一個(gè)特殊的字符比如說感嘆號,這會讓很多用戶感到沮喪,尤其是新手。在本文中,我將介紹如何使用 GNU Emacs 來創(chuàng)建 LaTeX 文檔。
啟動 Emacs:
emacs -q --no-splash helloworld.org
參數(shù) -q 確保 Emacs 不會加載其他的初始化配置。參數(shù) --no-splash-screen 防止 Emacs 打開多個(gè)窗口,確保只打開一個(gè)窗口,最后的參數(shù) helloworld.org 表示你要創(chuàng)建的文件名為 helloworld.org 。
GNU Emacs 打開文件名為 helloworld.org 的窗口時(shí)的樣子。
現(xiàn)在讓我們用 Emacs 添加一些 LaTeX 的標(biāo)題吧:在菜單欄找到 “Org” 選項(xiàng)并選擇 “Export/Publish”。
導(dǎo)入一個(gè)默認(rèn)的模板
在下一個(gè)窗口中,Emacs 同時(shí)提供了導(dǎo)入和導(dǎo)出一個(gè)模板。輸入 #(“[#] Insert template”)來導(dǎo)入一個(gè)模板。這將會使光標(biāo)跳轉(zhuǎn)到一個(gè)帶有 “Options category:” 提示的 mini-buffer 中。第一次你可能不知道這個(gè)類型的名字,但是你可以使用 Tab 鍵來查看所有的補(bǔ)全。輸入 “default” 然后按回車,之后你就能看到如下的內(nèi)容被插入了:
#+TITLE: helloworld
#+DATE: <2018-03-12 Mon>
#+AUTHOR:
#+EMAIL: makerpm@nubia
#+OPTIONS: ':nil *:t -:t ::t <:t H:3 \n:nil ^:t arch:headline
#+OPTIONS: author:t c:nil creator:comment d:(not "LOGBOOK") date:t
#+OPTIONS: e:t email:nil f:t inline:t num:t p:nil pri:nil stat:t
#+OPTIONS: tags:t tasks:t tex:t timestamp:t toc:t todo:t |:t
#+CREATOR: Emacs 25.3.1 (Org mode 8.2.10)
#+DESCRIPTION:
#+EXCLUDE_TAGS: noexport
#+KEYWORDS:
#+LANGUAGE: en
#+SELECT_TAGS: export
根據(jù)自己的需求修改標(biāo)題、日期、作者和 email。我自己的話是下面這樣的:
#+TITLE: Hello World! My first LaTeX document
#+DATE: \today
#+AUTHOR: Sachin Patil
#+EMAIL: psachin@redhat.com
我們目前還不想創(chuàng)建一個(gè)目錄,所以要將 toc 的值由 t 改為 nil,具體如下:
#+OPTIONS: tags:t tasks:t tex:t timestamp:t toc:nil todo:t |:t
現(xiàn)在讓我們添加一個(gè)章節(jié)和段落吧。章節(jié)是由一個(gè)星號(*)開頭。我們從 Aaron 的貼子(來自 Lipsum Lorem Ipsum 生成器 )復(fù)制一些文本過來:
* Introduction
\paragraph{}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras lorem
nisi, tincidunt tempus sem nec, elementum feugiat ipsum. Nulla in
diam libero. Nunc tristique ex a nibh egestas sollicitudin.
\paragraph{}
Mauris efficitur vitae ex id egestas. Vestibulum ligula felis,
pulvinar a posuere id, luctus vitae leo. Sed ac imperdiet orci, non
elementum leo. Nullam molestie congue placerat. Phasellus tempor et
libero maximus commodo.
helloworld.org 文件
將內(nèi)容修改好后,我們要把它導(dǎo)出為 PDF 格式。再次在 “Org” 的菜單選項(xiàng)中選擇 “Export/Publish”,但是這次,要輸入 l(“export to LaTeX”),緊跟著輸入 o(“as PDF file and open”)。這次操作不止會打開 PDF 文件讓你瀏覽,同時(shí)也會將文件保存為 helloworld.pdf,并保存在與 helloworld.org 的同一個(gè)目錄下。
將 helloworld.org 導(dǎo)出為 helloworld.pdf
打開 helloworld.pdf 文件
你也可以按下 Alt + x 鍵,然后輸入 org-latex-export-to-pdf 來將 org 文件導(dǎo)出為 PDF 文件。可以使用 Tab 鍵來自動補(bǔ)全命令。
Emacs 也會創(chuàng)建 helloworld.tex 文件來讓你控制具體的內(nèi)容。
Emacs 在三個(gè)不同的窗口中分別打開 LaTeX,org 和 PDF 文檔。
你可以使用命令來將 .tex 文件轉(zhuǎn)換為 .pdf 文件:
pdflatex helloworld.tex
你也可以將 .org 文件輸出為 HTML 或是一個(gè)簡單的文本格式的文件。我最喜歡 .org 文件的原因是他們可以被推送到 GitHub 上,然后同 markdown 一樣被渲染。
現(xiàn)在讓我們更進(jìn)一步,通過少量的修改上面的文檔來創(chuàng)建一個(gè) LaTeX Beamer 簡報(bào),如下所示:
#+TITLE: LaTeX Beamer presentation
#+DATE: \today
#+AUTHOR: Sachin Patil
#+EMAIL: psachin@redhat.com
#+OPTIONS: ':nil *:t -:t ::t <:t H:3 \n:nil ^:t arch:headline
#+OPTIONS: author:t c:nil creator:comment d:(not "LOGBOOK") date:t
#+OPTIONS: e:t email:nil f:t inline:t num:t p:nil pri:nil stat:t
#+OPTIONS: tags:t tasks:t tex:t timestamp:t toc:nil todo:t |:t
#+CREATOR: Emacs 25.3.1 (Org mode 8.2.10)
#+DESCRIPTION:
#+EXCLUDE_TAGS: noexport
#+KEYWORDS:
#+LANGUAGE: en
#+SELECT_TAGS: export
#+LATEX_CLASS: beamer
#+BEAMER_THEME: Frankfurt
#+BEAMER_INNER_THEME: rounded
* Introduction
*** Programming
- Python
- Ruby
*** Paragraph one
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Cras lorem nisi, tincidunt tempus sem nec, elementum feugiat
ipsum. Nulla in diam libero. Nunc tristique ex a nibh egestas
sollicitudin.
*** Paragraph two
Mauris efficitur vitae ex id egestas. Vestibulum
ligula felis, pulvinar a posuere id, luctus vitae leo. Sed ac
imperdiet orci, non elementum leo. Nullam molestie congue
placerat. Phasellus tempor et libero maximus commodo.
* Thanks
*** Links
- Link one
- Link two
我們給標(biāo)題增加了三行:
#+LATEX_CLASS: beamer
#+BEAMER_THEME: Frankfurt
#+BEAMER_INNER_THEME: rounded
導(dǎo)出為 PDF,按下 Alt + x 鍵后輸入 org-beamer-export-to-pdf。
用 Emacs 和 Org 模式創(chuàng)建的 Latex Beamer 簡報(bào)
希望你會愛上使用 Emacs 來創(chuàng)建 LaTex 和 Beamer 文檔(注意:使用快捷鍵比用鼠標(biāo)更快些)。Emacs 的 Org 模式提供了比我在這篇文章中說的更多的功能,你可以在 orgmode.org 獲取更多的信息.
via: https://opensource.com/article/18/4/how-create-latex-documents-emacs
作者: Sachin Patil 選題: lujun9972 譯者: oneforalone 校對: wxy
本文由 LCTT 原創(chuàng)編譯, Linux中國 榮譽(yù)推出
*請認(rèn)真填寫需求信息,我們會在24小時(shí)內(nèi)與您取得聯(lián)系。