自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

幫你精通Emacs:兩枚核彈級的應(yīng)用及求問英雄帖

系統(tǒng)
多年以后,面對臺下五彩斑斕的Jetbrain和Vscode用戶,這位曾經(jīng)的資深的vim追隨者將會回想起在本論壇里見識Emacs核彈級應(yīng)用的這個(gè)遙遠(yuǎn)的下午(北京時(shí)間)。

[[388577]]

 多年以后,面對臺下五彩斑斕的Jetbrain和Vscode用戶,這位曾經(jīng)的資深的vim追隨者將會回想起在本論壇里見識Emacs核彈級應(yīng)用的這個(gè)遙遠(yuǎn)的下午(北京時(shí)間)。

一、第一枚核彈

幾個(gè)月前讀到下面的帖子,內(nèi)心的激蕩似乎至今余波未平。

  • counsel-rg 出結(jié)果之后,按 C-c C-o 進(jìn)入 ivy-occur,然后按 w 進(jìn)入編輯模式,然后 M-x % 批量替換,然后 C-x C-s 保存。
  • 這是大招。被稱為核武器級別的技巧(
  • https://sam217pa.github.io/2016/09/11/nuclear-power-editing-via-ivy-and-ag/)。值得深入鉆研??梢砸? https://blog.binchen.org/posts/emacs-is-easy-if-you-read-code.html 研究相關(guān)的occur的技術(shù)。

沖破當(dāng)時(shí)思維藩籬的有三點(diǎn):

第一點(diǎn): counsel-rg 搜索結(jié)果的mini-buffer,不能全屏展示。


在 mini-buffer 中 按鍵 C-0 1,什么都不會發(fā)生,這個(gè)痛點(diǎn)困擾許久。不曾想,ivy-occur輕松解決。按鍵 C-c C-o 之后,mini-buffer立刻懸停住,當(dāng)時(shí)停在下面的界面中,端玩了好久。

這是一種怎樣的體驗(yàn)?zāi)?你想象一下“大鬧天宮”中的蟠桃園,孫悟空朝著前來采摘蟠桃的七仙女,口揭咒語,念一聲“定!”,接著這只沒教養(yǎng)的野猴子飛身上去,將這七位神仙姐姐挨個(gè)挨個(gè),仔仔細(xì)細(xì)瞧得個(gè)清楚,看得個(gè)明白。

然后,便可以 C-0 1 全屏。


image961×721 189 KB

第二點(diǎn):竟然能對搜索結(jié)果二次編輯,在mini-buffer窗口中按鍵 w h或者 C-x C-q 調(diào)用

ivy-wgrep-change-to-wgrep-mode,能夠直接對結(jié)果作修改。


以我有限的認(rèn)知,感覺似乎一道閃電劈下,無機(jī)的機(jī)械體與有機(jī)的生命體之間的界限徹底打破,上一回類似的感受還是在dired中用這個(gè)模式的那一刻。

  • 項(xiàng)目 步步為營,零秒精通Emacs 的第三章“03.God’
  • s-Eyes-and-Hands-by-Dired-and-Bookmarks” 宕延半年多,遲遲寫出來。因?yàn)槭冀K沒有思路,怎樣寫好司空見慣簡單,而往往不見其革命性突破的Dired。 我希望別人從這篇文章的視角審視dired的時(shí)候,會第一時(shí)間發(fā)出“哇!”的一聲。就如每時(shí)每刻的呼吸,在幼兒園的某一天,我們突然知道“哇,原來空氣存在”。 Take everything for granted 的朋友請務(wù)必忍耐不要留言。 亙古以來,有機(jī)世界與無機(jī)世界之間有一道無法跨越的鴻溝。上帝吹入生命而成有機(jī),而礦物則是沒有“活力”的無機(jī)物。因此,無機(jī)物與有機(jī)物毫不相干,無機(jī)物只能制造無機(jī)物,似乎正如石頭原料只能制造出更加精美的石頭,卻萬萬不能生產(chǎn)出“天價(jià)豬肉”。 然而,公元1828年,上帝改變了主意,人類跨越天塹。 1.跨越鴻溝

第三點(diǎn),在編輯模式下,執(zhí)行 replace-regex替換。


搜索出來的結(jié)果立即完成替換。這一點(diǎn),平淡無奇,常見常用,我可能就此復(fù)制粘帖出來,用在別處。

神奇的是,當(dāng) C-c C-c 保存之后,所有源文件中的關(guān)鍵詞同時(shí)被修改好。

這一點(diǎn)震撼,就如我從上海黃浦江口,舀了一瓢水喝,哪曾想,竟然影響到萬里之外寧夏的三江源地區(qū)干涸了。

以上三點(diǎn),就是個(gè)人對multi-editing這項(xiàng)核彈級應(yīng)用,彼時(shí)彼刻的直覺感受。

這一項(xiàng)能在對Emacs傳道布教的時(shí)候用到,一拿出手,核彈之下,灰飛煙滅,焦土不存。

二、第二枚核彈

前兩天讀到另外的帖子,簡單的設(shè)置時(shí)候就能從wsl2-gui-emacs打開原生的windows程序。

  1. # 先設(shè)置 ~/.zshrc 
  2. # fix interop 
  3. fix_wsl2_interop() { 
  4.     for i in $(pstree -np -s $ | grep -o -E '[0-9]+'); do 
  5.         if [[ -e "/run/WSL/${i}_interop" ]]; then 
  6.             export WSL_INTEROP=/run/WSL/${i}_interop 
  7.         fi 
  8.     done 
  9.  
  10. ~/.emacs.d/bin/doom env > /dev/null 2>&1 
  11.  
  12. # 然后定義自動打開的函數(shù) 
  13. # autoload 
  14.  
  15. (defmacro wsl--open-with (id &optional app dir) 
  16.   (defun (intern (format "wsl/%s" id)) () 
  17.      (interactive) 
  18.      (wsl-open-with ,app ,dir))) 
  19.  
  20. (defun wsl-open-with (&optional app-name path) 
  21.   "Send PATH to APP-NAME on WSL." 
  22.   (interactive) 
  23.   (let* ((path (expand-file-name 
  24.                 (replace-regexp-in-string 
  25.                  "'" "\\'" 
  26.                  (or path (if (derived-mode-p 'dired-mode) 
  27.                               (dired-get-file-for-visit) 
  28.                             (buffer-file-name))) 
  29.                  nil t))) 
  30.          (command (format "%s `wslpath -w %s`" (shell-quote-argument app-name) path))) 
  31.     (shell-command-to-string command))) 
  32.  
  33. (wsl--open-with open-in-default-program "explorer.exe" buffer-file-name) 
  34. (wsl--open-with reveal-in-explorer "explorer.exe" default-directory) 

 這項(xiàng)配置對我的核彈轟炸余波,現(xiàn)在還嗡嗡作響。

三、求更多核彈轟炸

基于以上兩枚核彈,請教諸位,您覺得,您正在用的 emacs 功能,哪些是核彈級別的呢?

只要你自己覺得就行,哪怕 1+1 =2,簡要說明下理由,咱也感激不盡。

這些收集起來的核彈,日后就是我們布道Emacs的彈藥庫。

另外,感謝捧場,Master-Emacs這個(gè)小小的repo眼看著要破200stars了。

  1. https://github.com/AbstProcDo/Master-Emacs-From-Scratch-with-Solid-Procedures 

 【編輯推薦】

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2021-04-01 10:16:01

EmacsJavaScript elisp

2021-03-26 07:51:51

Emacs應(yīng)用buffer

2021-03-29 08:14:49

Emacs應(yīng)用配置日程

2019-06-06 11:26:59

聯(lián)通大數(shù)據(jù)

2011-07-07 14:48:41

易觀開發(fā)者英雄會開發(fā)者英雄會

2021-01-13 11:25:12

JavaScript閉包函數(shù)

2017-08-16 10:46:24

東方金信

2020-12-21 10:55:41

Linux系統(tǒng)ls命令

2017-11-07 07:37:08

2021-04-08 09:14:24

js前端函數(shù)

2015-08-21 16:46:22

2021-12-13 01:49:34

漏洞Log4j代碼

2022-04-29 21:37:34

漏洞網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2020-12-17 08:14:30

Linuxrsync備份

2021-04-07 08:03:51

js舉起Hoisting初始化

2015-10-22 10:26:21

更新Build 10565Windows 10

2021-12-11 19:04:38

漏洞

2017-05-24 15:03:52

NAS存儲網(wǎng)絡(luò)

2021-03-12 08:21:54

JavaScript 前端原生js

2021-03-14 08:12:02

函數(shù)JavaScript語言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號