在工作中,要對 服務器 上的文件進行 簡單 的修改,可以使用 ssh 遠程登錄到服務器上,並且使用 vi 進行快速的編輯即可
常見需要修改的文件包括:
源程序
配置文件,例如 ssh 的配置文件 ~/.ssh/config
在沒有圖形界面的環境下,要編輯文件,vi 是最佳選擇!
1.2 vi 和 vim
在很多 Linux 發行版中,直接把 vi 做成 vim 的軟連接
vi
vi 是 Visual interface 的簡稱,是 Linux 中 最經典 的文本編輯器
vi 的核心設計思想 —— 讓程序員的手指始終保持在鍵盤的核心區域,就能完成所有的編輯操作
vi 的特點:
沒有圖形界面 的 功能強大 的編輯器
只能是編輯 文本內容,不能對字體、段落進行排版
不支持鼠標操作
沒有菜單
只有命令
vi 編輯器在 系統管理、服務器管理 編輯文件時,其功能永遠不是圖形界面的編輯器能比擬的
vim
vim = vi improved
vim 是從 vi 發展出來的一個文本編輯器,支持 代碼補全、編譯 及 錯誤跳轉 等方便編程的功能特別豐富,在程序員中被廣泛使用,被稱爲 編輯器之神
查詢軟連接命令(知道)
在很多 Linux 發行版中直接把 vi 做成 vim 的軟連接
# 查找 vi 的運行文件
$ whichvi
$ ls -l /usr/bin/vi
$ ls -l /etc/alternatives/vi
$ ls -l /usr/bin/vim.basic
# 查找 vim 的運行文件
$ which vim
$ ls -l /usr/bin/vim
$ ls -l /etc/alternatives/vim
$ ls -l /usr/bin/vim.basic
02. 打開和新建文件
在終端中輸入 vi在後面跟上文件名 即可
$ vi 文件名
如果文件已經存在,會直接打開該文件
如果文件不存在,會新建一個文件
2.1 打開文件並且定位行
在日常工作中,有可能會遇到 打開一個文件,並定位到指定行 的情況
例如:在開發時,知道某一行代碼有錯誤,可以 快速定位 到出錯代碼的位置
這個時候,可以使用以下命令打開文件
$ vi 文件名 +行數
提示:如果只帶上 + 而不指定行號,會直接定位到文件末尾
2.2 異常處理
如果 vi 異常退出,在磁盤上可能會保存有 交換文件
下次再使用 vi 編輯該文件時,會看到以下屏幕信息,按下字母 d 可以 刪除交換文件 即可
提示:按下鍵盤時,注意關閉輸入法
03. 三種工作模式
vi 有三種基本工作模式:
命令模式
打開文件首先進入命令模式,是使用 vi 的 入口
通過 命令 對文件進行常規的編輯操作,例如:定位、翻頁、複製、粘貼、刪除……
在其他圖形編輯器下,通過 快捷鍵 或者 鼠標 實現的操作,都在 命令模式 下實現
末行模式 —— 執行 保存、退出 等操作
要退出 vi 返回到控制檯,需要在末行模式下輸入命令
末行模式 是 vi 的 出口
編輯模式 —— 正常的編輯文字
提示:在 Touch Bar 的 Mac 電腦上 ,按 ESC 不方便,可以使用 CTRL + [ 替代