【Turn】我如何從vim切換到Emacs?
過去,我多次嘗試從vim更改為emacs,但都失敗了。原因有很多。主要原因是vim確實是壹個非常強大的編輯器,不愧為emacs的主要競爭對手。vim具有許多強大的功能,因此很難在emacs中找到相應的功能。當時,還沒有水木emacs版本,如果有,情況會更好。另壹個原因是我周圍幾乎沒有人使用Emacs,現在仍然如此。emacs的入門比vim難多了。我說的入門不是指簡單的使用,而是高效的使用。vim的許多操作幾乎不需要配置就可以完成,但沒有我的復雜。emacs文件,我不認為emacs比vim好。用我的。emacs,emacs絕對是最好的平臺(不僅僅是編輯器),因為它是我的軟件,我的壹些常用功能以我的方式工作,我可以隨時實現我喜歡的功能。也許別人不喜歡這樣的操作,但我喜歡。我可以讓emacs以我喜歡的方式運行。幾乎沒有其他軟件可以做到這壹點。我向emacs的過渡是壹個痛苦而偶然的過程。我曾經很認真地“學習”過emacs,寫了很多筆記。現在看來,這很傻。emacs不是學來的,而是用來的。許多功能不是由大腦記憶的,而是由手記憶的。我們不得不承認,有時候肌肉的記憶能力比大腦更強,而且快速實用。許多運動員不就是通過大量訓練來提高肌肉對動作的記憶嗎?壹次偶然的機會,我發現了幾個vim無法替代的功能,於是我開始真正喜歡上emacs。(註:我寫這篇文章時vim版本是6.2)首先,在編寫TeX文件時,可以快速輸入許多數學符號,可以方便地生成dvi文件,並且可以快速輸入TeX獨有的特殊符號。然後是Python模式,這是Python的壹個非常好的IDE,編寫Python程序很容易,尤其是在Python程序中,使用縮進來表示語法結構,在Emacs中處理縮進很容易。將壹段代碼放入Python的解釋器並執行它,然後在解釋器中與它進行交互是很容易的。查看我的Python學習筆記。編輯C或C++時的壹些功能,如自動插入功能、饑餓刪除、m-SPC(m-x just-on-space)縮進功能(TAB)是最漂亮的格式。最重要的是妳還可以選擇妳喜歡的c風格。當然,也可以使用vim,但默認情況下是使用tab鍵進行格式化,這樣做的缺點是無法保證程序在所有編輯器中具有相同的效果,但我以前使用TAB進行縮進,因為我不想輸入大量的空格。此外,vim不太擅長對壹段代碼進行重新索引。雖然g=和其他鍵可以工作,但不如emacs中的鍵。只要輸入幾個鍵,vim中的許多編輯命令都比emacs快得多。但是,我覺得中國的emacs的理念是工作很多,所以做好它,不要讓用戶記住那些快捷鍵,根據用戶的習慣猜測用戶(所有者)的意思,並且不動聲色地做(取悅用戶)。例如,在C語言中,我們習慣於使用tab鍵來縮進程序。然後使用tab鍵完成M-x縮進行的功能。我們經常在輸入分號後輸入回車。emacs根據上下文猜測回車應該在哪裏,並自動輸入回車。妳想刪除很多空格,好吧,emacs會根據上下文只留下壹個空格(M-x just-on-line)或空行(M-x delete-blank-line)。如果妳想刪除壹個空行下的M-x delete-blank-line,則刪除該空行。其他功能也非常有用。視圖代碼lisp 12c-cc-c(m-x comment-region)c-u c-c-c uncomment-region還具有自動填充右括號、填充引號和填充花括號的功能。參見Emacs的自動添加半括號和編寫c程序的功能,以及通過輸入左側大花擴展符號自動填寫許多內容的縮寫擴展功能。還有飛咒的功能。Emacs知道主人是壹個粗心的人,會自動提示主人他錯了,但emacs從不把主人當傻子,也不會做出巧妙的改變。只有高手真的承認我錯了(按M-$)(註:具體的M-x命令我記不清了。您可以使用C-h k檢查鍵綁定的功能並將其記錄為幫助鍵綁定,或者您可以使用C-h w將其記錄為幫助位置。我記得有個著名的軟件把用戶當傻子。它總是改變句子的第壹個單詞,大寫,並自動更改他認為錯誤的單詞。每次我都想盡辦法關掉這個功能。還有自動填充功能,M-q總能做正確的事情。還有版本控制的功能。emacs幾乎不需要所有者自己備份文件。他知道他應該在適當的時候備份文件。還有自動插入功能,會根據環境自動增加當前文件的可執行權限。看到保存文件時,它會自動增加腳本的可執行權限並自動增加#!/bin/bash或#!/bin/perl #!/bin/python。參見Emacs,在創建文件時,自動添加模板的內容。header.el的擴展還可以在C文件的開頭自動插入和更新壹些信息,包括文件名、創建日期、更改次數,並記錄誰在何時以及為什麽進行了更改。還有公司信息、作者信息、版權信息等等。