在 Linux 上把 Vim 配置為預設編輯器
導讀 | Vim 是我最喜愛的編輯器。對於那些預設使用其他編輯器的程式,我對系統所做的這些改變可以使得 Vim 成為它們預設編輯器。 |
我使用 大概有 25 年了,在那之前我還使用了幾年的 Unix。在這段時間裡,我對一些日常使用的工具形成了偏好。Vim 是我使用的最重要的工具之一。
我在 90 年代初學習 Solaris 時,就開始使用 Vi 了,因為有人告訴我,它在任何系統上都能使用。從我的經驗來看,確實是這樣。我也試過其他編輯器,它們都能夠勝任工作。但是,對於我來說,Vim 的使用效果最好。我經常使用它,以至於形成了肌肉記憶,甚至我在使用其他編輯器時也會下意識地去按 Vim 的快捷鍵。
許多配置檔案使用的名字是 Vi 而不是 Vim,你可以執行 vi 。不過, vi 其實是 vim 命令的一個連結。
許多 Linux 工具使用的編輯器都是在模擬或是直接呼叫的 Nano、Emacs 或者 Vim。其他的一些工具允許使用者(比如那些有著明確偏好的使用者)使用他們喜歡的編輯器。舉兩個對我影響最大的例子,一個是 Bash 命令列,它預設使用 Emacs;另一個是 Alpine 文字模式的郵件客戶端,它預設使用 Pico。事實上,Pico 是專門為 Pine 郵件客戶端編寫的,而 Pine 是 Alpine 的前身。
並非所有使用外部編輯器的程式都是可配置的。有些程式只使用開發者指定的編輯器。對於那些可配置的應用程式,有不同的方法來選擇你喜歡的編輯器。
除了實際編輯文字檔案外,另一個我經常使用,且和編輯密切相關的工具是 Bash 。Bash 的預設編輯器是 Emacs。雖然我也用過 Emacs,但我肯定更喜歡 Vim。所以很多年前,我把 Bash 命令列的預設編輯器從 Emacs 換成了 Vim,這對我來說更舒服。
有很多種方法可以配置 Bash。你可以使用一個本地配置檔案,比如 /home/yourhomedirectory/.bashrc ,它只對你的使用者賬戶進行預設修改,而不對同一系統的其他使用者進行修改。我個人傾向於讓這些改變成為全域性性的,基本上就是我的個人賬戶和 root。如果你也想全域性配置,你可以建立你自己的配置檔案,並把它放在 /etc/profile.d 目錄中。
我在 /etc/profile.d 中新增了一個名為 ??myBashConfig.sh?? 的檔案。 /etc/profile.d 目錄中存放了所有已安裝的 shell 的啟動檔案。在啟動終端會話時,每個 shell 僅會根據檔名的副檔名,讀取為其準備的啟動檔案。例如,Bash shell 只讀取副檔名為 .sh 的檔案。
<截斷> alias vim='vim -c "colorscheme desert" ' # 把 vi 設定為 Bash 的預設編輯器 set -o vi # 為所有檢查 $EDITOR 變數的程式設定預設編輯器為 vi EDITOR=vi <截斷>
在這個全域性 Bash 配置檔案段中, set -o vi 將 Vi 設定為預設編輯器。這個 set 命令中的 -o 選項將 vi 定義為編輯器。為使配置生效,你需要關閉所有正在執行的 Bash 會話,並開啟新的會話。
現在,你現在可以使用所有你熟悉的 Vim 命令,包括游標移動。只要按下 Esc 鍵就可以進入 Vim 編輯模式。我特別喜歡多次使用 ??b?? 將游標移回多個字的功能。
一些 Linux 命令列工具和程式會檢查 $EDITOR 環境變數來決定使用哪個編輯器。你可以用下面的命令檢查這個變數的當前值。我在一個新安裝的虛擬機器上執行過該命令,以檢視預設的編輯器到底是什麼。
# echo $EDITOR /usr/bin/nano #
預設情況下,檢查 $EDITOR 環境變數的 Fedora 程式會使用 Nano 編輯器。在 myBashConfig.sh 中新增一行 EDITOR=vi (如上面的片段所示),可以將預設值改為 Vi(Vim)編輯器。然而,不是所有使用外部編輯器的命令列程式都會檢查這個環境變數。
幾周前,我認為 Pico 不太適合作為我的電子郵件編輯器。我可以使用它,而且在從 Thunderbird 轉到 Alpine 之後的一段時間內我也用了一段時間。但我發現,Pico 妨礙了我,我總是習慣使用 Vim 按鍵序列,這影響了我的工作效率。
我在 Alpine 的使用者幫助中看到,預設編輯器是可以修改的。我決定把它改成 Vim。實際上這很容易做到。
在 Alpine 主選單上,按 S 鍵進入設定,然後按 C 鍵進行配置。在 “編輯器設定Composer Preferences” 部分,按 X 選擇 “啟用外部編輯器命令Enable Alternate Editor Command” 和 “隱式啟用外部編輯器Enable Alternate Editor Implicitly” 專案。在往下滾動幾頁的 “高階使用者設定Advanced User Preferences” 部分,找到 `Editor 那一行。如果它還沒有被修改的話,它應該是這樣的:
Editor = <No Value Set>
用游標欄突出顯示 Editor 這一行,然後按Enter鍵來編輯。將 <no Value Set> 改為 vim ,再按Enter鍵,然後按 E 鍵退出,最後按 Y 鍵儲存修改。
要用 Vim 編輯電子郵件,只需進入電子郵件正文,Vim 就會自動啟動,就像 Pico 那樣。所有我喜歡的編輯功能都還在,因為它實際上是在使用 Vim。甚至退出 Vim 的 Esc :wq 序列也是一樣的。
與其他編輯器相比,我更喜歡 Vim,對我的系統進行的這些改動後,那些預設使用其他編輯器的應用程式,將使用 Vim 來替代它們的預設編輯器。有些程式使用 $EDITOR 環境變數,因此你只需要做一次修改就夠了。其他有使用者配置選項的程式,如 Alpine,則必須為每個程式單獨設定。
這種可以選擇你喜歡的外部編輯器的能力,非常符合 Unix 哲學的宗旨:“每個程式都只做一件事,而且要做得出色”。既然已經有幾個優秀的編輯器,為什麼還要再寫一個呢?而且它也符合 Linux 哲學的宗旨:“使用你最喜歡的編輯器”。
當然,你可以把你的預設文字編輯器改為 Nano、Pico、Emacs 或任何其他你喜歡的編輯器。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2889319/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LINUX VIM編輯器Linux
- Ubuntu 配置預設編輯器Ubuntu
- 在linux 下 讓sqlplus設定永久生效 為edit命令配置預設編輯器LinuxSQL
- 【Linux】中預設文字編輯器 vim 的入門與進階Linux
- 安裝Git,並把VSCode作為預設編輯器GitVSCode
- Linux編輯器Vim簡介Linux
- Linux精講——vim編輯器Linux
- vim編輯器
- Linux Vim編輯的的配置和使用Linux
- Linux下設定VSCode為預設的文字編輯器LinuxVSCode
- 配置Vim編輯器設定Tab鍵的格數(長度)
- Linux– 檔案編輯器 vi/vim(1)Linux
- Linux編輯器vim鍵盤詳解Linux
- Linux系統中的Vim編輯器Linux
- 在SQLPLUS中設定預設編輯器(Linux/Unix平臺)SQLLinux
- 『學了就忘』vim編輯器基礎 — 94、vim編輯器介紹
- Linux 筆記分享五:VIM 文字編輯器Linux筆記
- 高效使用Vim編輯器--Vim編輯器常用命令學習筆記筆記
- VIM編輯器的巨集操作
- Vim 編輯器的相容模式模式
- vim編輯器常用的命令
- Linux編輯器Vim常用命令講解Linux
- 新手指南:Linux上vi(vim)編輯器使用教程Linux
- wordpress 設定編輯器預設模式模式
- Vim 編輯器常用命令
- Git清空VIM編輯器內容Git
- 03_vim編輯器的使用
- Vim編輯器常用命令
- 編輯器之神:VIM 的基本操作
- Linux系列開坑記(二)-神的編輯器VimLinux
- Linux下Vim編輯器訪問系統剪下板Linux
- Linux-Vim編輯器之查詢與替換Linux
- 修改centos系統預設編輯器CentOS
- Linux基礎命令---vim文字編輯Linux
- linux基礎命令——文字編輯vimLinux
- 設定Vim編輯器裡Tab的長度,行號
- Linux學習筆記(九)Vim文字編輯器的使用Linux筆記
- 使用 Vi/Vim 編輯器:基礎篇