linux修改vim配置文件 linux vim怎么保存文件和退出文件

Vim 是我最喜愛的編輯器 。對于那些默認使用其他編輯器的程序,我對系統所做的這些改變可以使得 Vim 成為它們默認編輯器 。

linux修改vim配置文件 linux vim怎么保存文件和退出文件

文章插圖
【linux修改vim配置文件 linux vim怎么保存文件和退出文件】我使用 Linux 大概有 25 年了 , 在那之前我還使用了幾年的 Unix 。在這段時間里 , 我對一些日常使用的工具形成了偏好 。Vim 是我使用的最重要的工具之一 。
我在 90 年代初學習 Solaris 時,就開始使用 Vi 了,因為有人告訴我,它在任何系統上都能使用 。從我的經驗來看,確實是這樣 。我也試過其他編輯器 , 它們都能夠勝任工作 。但是,對于我來說,Vim 的使用效果最好 。我經常使用它,以至于形成了肌肉記憶,甚至我在使用其他編輯器時也會下意識地去按 Vim 的快捷鍵 。
另外,我只是單純地喜歡 Vim 而已 。
許多配置文件使用的名字是 Vi 而不是 Vim,你可以運行 vi命令 。不過,vi命令其實是vim命令的一個鏈接 。
許多 Linux 工具使用的編輯器都是在模擬或是直接調用的 Nano、Emacs或者 Vim 。其他的一些工具允許用戶(比如那些有著明確偏好的用戶)使用他們喜歡的編輯器 。舉兩個對我影響最大的例子,一個是 Bash 命令行,它默認使用 Emacs;另一個是 Alpine 文本模式的郵件客戶端,它默認使用 Pico 。事實上,Pico 是專門為 Pine 郵件客戶端編寫的,而 Pine 是 Alpine 的前身 。
并非所有使用外部編輯器的程序都是可配置的 。有些程序只使用開發者指定的編輯器 。對于那些可配置的應用程序 , 有不同的方法來選擇你喜歡的編輯器 。
在 Linux 命令行中編輯除了實際編輯文本文件外,另一個我經常使用,且和編輯密切相關的工具是 Bash shell 。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 變量的程序設置默認編輯器為 viEDITOR=vi在這個全局 Bash 配置文件段中,set -o vi將 Vi 設置為默認編輯器 。這個set命令中的-o選項將vi定義為編輯器 。為使配置生效,你需要關閉所有正在運行的 Bash 會話 , 并打開新的會話 。
現在,你現在可以使用所有你熟悉的 Vim 命令,包括光標移動 。只要按下 Esc鍵就可以進入 Vim 編輯模式 。我特別喜歡多次使用b將光標移回多個字的功能 。
將 Vim 設置為其他程序的默認值一些 Linux 命令行工具和程序會檢查 $EDITOR環境變量來決定使用哪個編輯器 。你可以用下面的命令檢查這個變量的當前值 。我在一個新安裝的虛擬機上運行過該命令,以查看默認的編輯器到底是什么 。
# echo $EDITOR/usr/bin/nano#默認情況下,檢查 $EDITOR環境變量的 Fedora 程序會使用 Nano 編輯器 。在myBashConfig.sh中添加一行EDITOR=vi(如上面的片段所示) , 可以將默認值改為 Vi(Vim)編輯器 。然而,不是所有使用外部編輯器的命令行程序都會檢查這個環境變量 。
在 Alpine 中編輯電子郵件幾周前 , 我認為 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 =用光標欄突出顯示 Editor這一行,然后按回車鍵來編輯 。將 改為vim,再按回車鍵,然后按E鍵退出,最后按Y鍵保存修改 。
要用 Vim 編輯電子郵件,只需進入電子郵件正文,Vim 就會自動啟動 , 就像 Pico 那樣 。所有我喜歡的編輯功能都還在,因為它實際上是在使用 Vim 。甚至退出 Vim 的 Esc :wq序列也是一樣的 。
總結與其他編輯器相比 , 我更喜歡 Vim,對我的系統進行的這些改動后,那些默認使用其他編輯器的應用程序,將使用 Vim 來替代它們的默認編輯器 。有些程序使用 $EDITOR環境變量,因此你只需要做一次修改就夠了 。其他有用戶配置選項的程序,如 Alpine , 則必須為每個程序單獨設置 。
這種可以選擇你喜歡的外部編輯器的能力,非常符合 Unix 哲學的宗旨:“每個程序都只做一件事 , 而且要做得出色” 。既然已經有幾個優秀的編輯器,為什么還要再寫一個呢?而且它也符合 Linux 哲學的宗旨:“使用你最喜歡的編輯器” 。
當然,你可以把你的默認文本編輯器改為 Nano、Pico、Emacs 或任何其他你喜歡的編輯器 。
via: https://opensource.com/article/22/2/configure-vim-default-editor
作者:David Both選題:lujun9972譯者:lkxed校對:wxy
本文由 LCTT原創編譯,Linux中國榮譽推出