Vim 與 Nano 文字編輯器入門指南:在 Linux 終端機編輯檔案的必備技巧

完整教你在 VPS 終端機使用 Vim 與 Nano 編輯器,涵蓋搜尋取代、多檔案操作、.vimrc 實用設定與編輯器選擇策略,不再卡在存檔離開。

VimNanoLinux文字編輯器指令VPS伺服器管理教學終端機手冊.vimrc搜尋取代多檔案編輯設定檔

很多 VPS 新手不是不會架站,而是第一次被丟進終端機編輯器就動不了。這篇不會把 Vim 講成神兵利器,而是先教你最常用、最容易卡住的操作,讓你先活下來,再學怎麼變快。

你如果不想每次都只是照著別人的畫面一步一步跟著按,卻不知道自己到底改了什麼,這篇會比較適合你。重點不是讓你背流程,而是讓你下次遇到類似情況時,還知道該怎麼自己判斷。

你會學到什麼

  • 先學會 Vim / Nano 最常用的核心操作。
  • 知道兩者的差異和使用情境。
  • 修改設定檔時不再因為編輯器卡住而慌掉。
  • 學會 Vim 搜尋取代、多檔案操作與實用 .vimrc 設定。
  • 能根據場景做出正確的編輯器選擇。

什麼情況最適合先看這篇

  • 第一次自己管理 Linux 主機,想把操作做穩而不是只會貼指令的人
  • 你現在正要處理 VPS 上的設定檔編輯操作
  • 你希望做完之後不只功能能用,連驗證與排錯也有概念

開始前先確認

  • 先知道你現在編輯的是什麼檔案。
  • 重要設定檔先備份一份:cp config.conf config.conf.bak
  • 如果是在正式站,修改前先找好回退方式。

先提醒你一件事

VPS 最怕的不是不會下指令,而是你不知道指令會影響到哪個服務、哪個設定檔、哪個對外連線。

詳細教學與操作步驟

本文介紹在 Linux 伺服器終端機中,最常用的兩個文字編輯器:適合新手的 Nano 與功能強大的 Vim。學會這些工具,你就能直接在伺服器上修改設定檔與寫代碼。

Nano vs Vim:什麼場景用什麼

在開始學操作之前,先幫你做個決策。不是要你只學一個,而是知道什麼時候該拿哪一個。

場景建議用原因
快速改一兩行設定Nano打開就能改,不需要切模式
改完想確認差異Vim內建 diff 模式
大量搜尋取代Vim正則表達式支援強
同時看多個檔案Vim分割視窗、buffer 切換
緊急修復(壓力大時)Nano不會因為模式切錯而慌
長期開發工作Vim效率隨練習時間成長
第一次碰 LinuxNano學習曲線平緩

一、 新手推薦:Nano 編輯器

Nano 以直觀易用著稱,螢幕下方會顯示常用的快速鍵提示(其中的 ^ 代表 Ctrl 鍵)。

基本操作

  • 開啟或建立檔案: nano 檔案名稱
  • 儲存檔案:Ctrl+O,接著按 Enter
  • 離開編輯器:Ctrl+X
  • 搜尋文字:Ctrl+W
  • 搜尋並取代:Ctrl+\

Nano 進階操作

  • 跳到指定行: Ctrl+_ 然後輸入行號
  • 選取文字: Alt+A 開始選取,移動游標選範圍
  • 剪下整行: Ctrl+K
  • 貼上: Ctrl+U
  • 復原(Undo): Alt+U
  • 重做(Redo): Alt+E
  • 顯示行號: nano -l 檔案名稱 或在編輯中按 Alt+N
  • 開啟語法高亮: nano -Y sh 腳本.sh

用 .nanorc 自訂 Nano

建立 ~/.nanorc,加入常用設定:

# 顯示行號
set linenumbers

# 啟用滑鼠支援
set mouse

# Tab 轉換為空格
set tabsize 4
set tabstospaces

# 自動縮排
set autoindent

# 顯示游標位置
set constantshow

二、 專家選擇:Vim (Vi Improved) 編輯器

Vim 雖然有學習門檻,但功能極其強大。它分為幾種模式:

  1. 命令模式 (Normal Mode): 預設模式,按 Esc 進入。
    • i:在游標前進入編輯模式。
    • a:在游標後進入編輯模式。
    • o:在下一行新增一行並進入編輯模式。
    • O:在上一行新增一行並進入編輯模式。
    • x:刪除一個字元。
    • dd:刪除一整行。
    • yy:複製一整行。
    • p:貼上。
    • u:復原上一步。
    • Ctrl+r:重做。
  2. 編輯模式 (Insert Mode): 螢幕下方會顯示 -- INSERT --。在此模式下可自由打字。
  3. 底行模式 (Command-line Mode): 在命令模式下輸入 : 進入。
    • :w:儲存。
    • :q:離開。
    • :wq:儲存並離開。
    • :q!:強制離開(不儲存)。
    • :x:儲存並離開(和 :wq 效果相同)。

Vim 游標移動進階

比方向鍵更有效率的移動方式:

  • gg:跳到檔案第一行
  • G:跳到檔案最後一行
  • 42G:42:跳到第 42 行
  • 0:跳到行首
  • $:跳到行尾
  • w:跳到下一個單字開頭
  • b:跳到上一個單字開頭
  • { / }:跳到上/下一個段落
  • Ctrl+d:往下半頁
  • Ctrl+u:往上半頁

Vim 搜尋與取代

這是 Vim 最實用的進階功能,改設定檔時用得最多:

搜尋:

  • /關鍵字:向下搜尋
  • ?關鍵字:向上搜尋
  • n:跳到下一個搜尋結果
  • N:跳到上一個搜尋結果
  • *:搜尋游標所在的單字

取代:

# 取代當前行第一個匹配
:s/舊字串/新字串/

# 取代當前行所有匹配
:s/舊字串/新字串/g

# 取代整個檔案所有匹配
:%s/舊字串/新字串/g

# 取代前逐一確認
:%s/舊字串/新字串/gc

# 只在指定行範圍取代(第 10-20 行)
:10,20s/舊字串/新字串/g

實際例子 -- 把設定檔裡的舊 IP 全部換成新 IP:

:%s/192.168.1.100/10.0.0.50/g

把所有 HTTP 網址換成 HTTPS:

:%s/http:\/\//https:\/\//gc

Vim 多檔案操作

管理 VPS 時常常需要同時看好幾個設定檔:

# 同時開啟多個檔案
vim file1.conf file2.conf

# 切換到下一個檔案
:bn

# 切換到上一個檔案
:bp

# 列出所有開啟的檔案
:ls

# 水平分割視窗開新檔
:split another.conf

# 垂直分割視窗開新檔
:vsplit another.conf

# 在分割視窗間切換
Ctrl+w Ctrl+w

# 關閉目前分割視窗
:close

比較兩個檔案差異(diff 模式):

vim -d config.conf config.conf.bak

這在你修改設定檔前先備份、改完要對比差異時非常好用。

實用 .vimrc 設定

在 VPS 上建立 ~/.vimrc,讓 Vim 變得更好用:

" 顯示行號
set number

" 顯示相對行號(方便跳行)
set relativenumber

" 搜尋時即時高亮
set hlsearch
set incsearch

" 搜尋不分大小寫(輸入大寫時自動區分)
set ignorecase
set smartcase

" Tab 設定(4 空格)
set tabstop=4
set shiftwidth=4
set expandtab

" 自動縮排
set autoindent
set smartindent

" 顯示對應的括號
set showmatch

" 啟用滑鼠支援
set mouse=a

" 語法高亮
syntax on

" 顯示游標所在行
set cursorline

" 顯示輸入的指令
set showcmd

" 編碼設定(處理中文)
set encoding=utf-8
set fileencodings=utf-8,big5,gb2312

" 備份檔放到固定位置,不汙染工作目錄
set backupdir=~/.vim/backup//
set directory=~/.vim/swap//
set undodir=~/.vim/undo//

建立對應的目錄:

mkdir -p ~/.vim/{backup,swap,undo}

Vim 實戰場景

以下是管理 VPS 時最常遇到的情境:

場景一:修改 Nginx 設定檔裡的 server_name

vim /etc/nginx/sites-available/default

# 搜尋 server_name
/server_name

# 進入編輯模式修改
i

# 改完按 Esc,然後儲存
:wq

場景二:在設定檔中註解掉某一段

# 選擇第 15 到 25 行,在每行前面加上 #
:15,25s/^/# /

場景三:刪除檔案中所有空白行

:g/^$/d

場景四:查看大型 log 檔的最後 100 行

# 用 vim 開啟後直接跳到最後
vim +$ /var/log/nginx/error.log

其他值得知道的編輯器

除了 Nano 和 Vim,VPS 上偶爾也會碰到這些:

  • vi: Vim 的前身,幾乎所有 Linux 都預裝,功能比 Vim 少但基本操作相同。緊急情況下如果只有 vi,你的 Vim 知識一樣適用。
  • micro: 現代終端編輯器,操作邏輯接近桌面文字編輯器(Ctrl+S 存檔、Ctrl+Q 離開),新手會覺得很直覺。安裝方式:curl https://getmic.ro | bash
  • sed: 嚴格來說不是編輯器,而是串流編輯工具,適合在腳本中做批次取代:sed -i 's/old/new/g' file.conf

常見問題

Q:我不小心進入 Vim 了,怎麼出去? 別驚慌,這是所有 Linux 新手都會遇到的「困境」。請先按 Esc 鍵幾次,確保在命令模式下,然後輸入 :q! 並按 Enter 即可不儲存直接離開。更多進階設定可參考我們的 VPS 快速入門指南

Q:如何設定預設編輯器? 你可以執行 update-alternatives --config editor 指令來選擇你系統偏好的文字編輯器。或者在 ~/.bashrc 加入 export EDITOR=vim(或 nano),這樣所有需要開啟編輯器的指令(如 crontab -egit commit)都會使用你設定的編輯器。

Q:Vim 裡面怎麼複製貼上系統剪貼簿的內容? 從本機貼上文字到 Vim 時,先進入貼上模式避免格式跑掉::set paste,按 i 進入編輯模式後再貼上。貼完後記得 :set nopaste 恢復正常模式。如果你的 Vim 支援 clipboard(vim --version | grep clipboard),可以用 "+p 直接從系統剪貼簿貼上。

Q:改了設定檔但不確定改對了,有什麼快速驗證方法? 養成備份再改的習慣。改完之後用 diff 比對:

diff config.conf config.conf.bak

或者用 Vim 的 diff 模式:vim -d config.conf config.conf.bak,差異會用顏色標示出來。

做完後怎麼確認自己真的有設對

  • 改完設定檔後,用對應服務的測試指令確認語法正確,例如 nginx -tapachectl configtest
  • 重新啟動服務後從外部連一次,確認變更生效。
  • 重新看一次你剛剛改過的設定值,確認沒有多餘的空白或打錯字。
  • 如果這篇操作會影響正式網站,建議再從不同網路測一次。

這一題最常踩的坑

  • 在 Vim 裡不知道自己是插入模式還是普通模式。
  • 改完直接關閉,結果根本沒存到。
  • 沒有先備份設定檔就直接改。
  • 搜尋取代用了 %s 但忘了加 g,結果每行只改了第一個。
  • 設定檔有中文編碼問題,開檔看到亂碼就慌了。

如果你要往下一步走

編輯器上手後,搭配 tmux 教學 會讓你的終端機工作流程更順暢。想深入系統管理,可以看 Linux 系統維護常用指令大全SSH 常用指令手冊。如果你準備開始自己架服務,可以直接對照侃瑞的 VPS 方案與價格 選環境。

需要主機來實作?

侃瑞科技提供 cPanel 虛擬主機與 VPS,教學裡的操作開箱即用。

查看方案 →
LINE 諮詢