vi(vim)是上Linux非常常用的編輯器,很多Linux發行版都默認安裝了vi(vim)。
vi(vim)命令繁多但是如果使用靈活之后將會大大提高效率。vi是“visual interface”的縮寫,vim是vi IMproved(增強版的vi)。在一般的系統管理維護中vi就夠用,如果想使用代碼加亮的話可以使用vim。下面是vi的使用教程:包含vi的基本介紹、使用模式、文件的打開關閉保存、插入文本或新建行、移動光標、刪除、恢復字符或行、搜索等等,算是一篇比較適合新手學習vi的教程。
###vi有3個模式:
插入模式、命令模式、低行模式。
####插入模式:在此模式下可以輸入字符,按ESC將回到命令模式。
####命令模式:可以移動光標、刪除字符等。
####低行模式:可以保存文件、退出vi、設置vi、查找等功能(低行模式也可以看作是命令模式里的)。
##打開文件、保存、關閉文件(vi命令模式下使用)
vi filename //打開filename文件
:w //保存文件
:w cszhi.com //保存至cszhi.com文件
:q //退出編輯器,如果文件已修改請使用下面的命令
:q!//退出編輯器,且不保存
:wq //退出編輯器,且保存文件
##插入文本或行(vi命令模式下使用,執行下面命令后將進入插入模式,按ESC鍵可退出插入模式)
a //在當前光標位置的右邊添加文本
i //在當前光標位置的左邊添加文本
A //在當前行的末尾位置添加文本
I //在當前行的開始處添加文本(非空字符的行首)
O //在當前行的上面新建一行
o //在當前行的下面新建一行
R //替換(覆蓋)當前光標位置及后面的若干文本
J //合并光標所在行及下一行為一行(依然在命令模式)
##移動光標(vi命令模式下使用)
1、使用上下左右方向鍵
2、命令模式下:
h 向左、j 向下、k 向上、l 向右。
空格鍵向右、Backspace向左、Enter移動到下一行首、-移動到上一行首。
##刪除、恢復字符或行(vi命令模式下使用)
x //刪除當前字符
nx //刪除從光標開始的n個字符
dd //刪除當前行
ndd //向下刪除當前行在內的n行
u //撤銷上一步操作
U //撤銷對當前行的所有操作
##搜索(vi命令模式下使用)
/cszhi //向光標下搜索cszhi字符串
?cszhi //向光標上搜索cszhi字符串
n //向下搜索前一個搜素動作
N //向上搜索前一個搜索動作
##跳至指定行(vi命令模式下使用)
n+//向下跳n行
n-//向上跳n行
nG //跳到行號為n的行
G //跳至文件的底部
##設置行號(vi命令模式下使用)
:set nu //顯示行號
:set nonu //取消顯示行號
##復制、粘貼(vi命令模式下使用)
yy //將當前行復制到緩存區,也可以用 "ayy 復制,"a 為緩沖區,a也可以替換為a到z 的任意字母,可以完成多個復制任務
nyy //將當前行向下n行復制到緩沖區,也可以用 "anyy 復制,"a 為緩沖區,a也可以替 換為a到z的任意字母,可以完成多個復制任務
yw //復制從光標開始到詞尾的字符
nyw //復制從光標開始的n個單詞
y^ //復制從光標到行首的內容
y$ //復制從光標到行尾的內容
p //粘貼剪切板里的內容在光標后,如果使用了前面的自定義緩沖區,建議使用"ap 進行粘貼
P //粘貼剪切板里的內容在光標前,如果使用了前面的自定義緩沖區,建議使用"aP 進行粘貼
##替換(vi命令模式下使用)
:s/old/new//用new替換行中首次出現的old
:s/old/new/g //用new替換行中所有的old
:n,m s/old/new/g //用new替換從n到m行里所有的old
:%s/old/new/g //用new替換當前文件里所有的old
##編輯其他文件
:e otherfilename //編輯文件名為otherfilename的文件
##修改文件格式
:set fileformat=unix //將文件修改為unix格式,如win下面的文本文件在linux下會出現^M
END
##總結
vi(vim)教程雖然有比較多的命令,但是只要勤加練習,相信你會很快的熟練掌握,同時也會給你的工作或學習帶來更高的效率。當如果不知道自己處在什么模式時可以按2次Esc鍵即可回到命令模式,會有最后提醒一點:注意大小寫!!!
vi和vim編輯器
END
- PHP學習
- PHP應用
- PHP函數總結整理
- 39個對初學者非常有用的PHP技巧
- 深入淺出之Smarty模板引擎工作機制
- 數組操作
- file操作的常用方法
- PHP字符串輸出之Heredoc說明
- require(_once)和include(_once)的理解
- PHP提高效率的幾點
- php無限遍歷目錄
- 53個要點提高PHP編程效率
- THINKPHP
- THINKPHP 常見的問題
- 微信
- 微信公眾號接口
- 微信小程序開發資料收集
- 微信小程序開發:MINA
- 通過微信小程序看前端
- 微信小程序開發初體驗
- 微信小程序 Demo(豆瓣電影)
- API應用
- 支付寶
- 二維碼轉換
- 前端開發
- HTML5
- CSS
- 七種css方式讓一個容器水平垂直居中
- JavaScript
- JavaScript奇技淫巧44招
- JavaScript筆記
- 后端開發
- Node
- SQL數據庫
- 服務維護
- git使用
- Git入門私房菜
- MAC終端維護
- VIM命令大全
- 開發規范
- 智能手機屏幕的秘密
- 超實用六步透視網易設計規范(附完整PDF下載)
- UI設計常用字體規范
- APP界面切圖命名和文件整理規范
- 網頁UI視覺設計規范
- ios視覺設計規范說明
- 開發APP時需要注意的原則
- 移動端APP設計初步入門
- Axure
- 基礎操作
- 基礎1-10
- 基礎11-20
- 基礎21-30
- 基礎31-40
- 基礎41-50
- 基礎51-60
- Sketch
- 軟件使用
- sublime3_用戶設置
- sublime下如何修改自動補全 后lang=zh-cn?
- 運營理念
- 新人指導心得體會
- 從一次活動設計,聊聊交互設計師的3個階段
- 詳情頁優化那些不得不說的細節
- 店鋪裝修淺析
- 淘寶店鋪裝修之寶貝詳情頁的布局教程
- 寶貝詳情頁 客戶需求調研及總結
- 寶貝描述樣板房