打開文件
vim /etc/passwd
vim + :打開文件時光標處於文件尾部
vim +數字:打開文件時,光標定位與第幾行
移動光標(編輯模式) :
字符移動
h:向左移動
l:向右移動
j:向下移動
k:向上移動
這些移動鍵都可以加上數字(5h:向左移動5個字符格)
單詞移動
w:移到下一個單詞的詞首
e:跳至當前或下一個單詞的詞尾
b:跳到前一個單詞的詞首
行內跳轉
0 :行首
$:行尾
行間移動
G:最後一行
數字G:跳轉至第幾行
在末行模式下,直接給出行號,實現跳轉
翻屏操作
Ctrl + f :向下翻屏
Ctrl +b :向上翻屏
Ctrl +d :向下翻半屏
Ctrl +u :向上翻半屏
編輯命令
x :刪除單個字符 (可以加數字:5x)
d:要跟跳轉命令組合在一塊使用(d $、d0....)
數字dd:刪除包括當前光標所在行的#行
末行模式下:起始地址,結束地址d ,刪除這些行( . 表示當前行)
y:複製(yy,複製爲正行,語法和d一樣)
末行模式下:起始地址,結束地址y,複製這些行
p :若刪除或粘貼爲整行內容,則粘貼至光標所在行的下方,若刪除或粘貼爲非整行內容,則粘貼至光標所在行的方後面。
c:修改,先刪除指定內容,再修改爲指定內容(和d的操作一樣)
r:替換,把指定內容替換成指定內容(經常用於用於單個字符)可以加數字
R:替換模式,不會修改內容,只替換,替換多個字符(esc退出替換模式)
查找命令(末行模式)
/查找內容 :從文件首部開始查找到尾部
?查找內容: 從當前光標向文件首部查找
n: 查找下一個內容
查找並替換命令(末行模式)
用法:起始地址,結束地址 s @要替換內容@替換後內容@gi(@分隔符)
g:全集替換
i:忽略字符大小寫
例 :1,$s/a/A/g 把文件中全部的a換替換成A,全局替換
編輯多個文件(末行模式)
vim 文件名 文件名 。。。。(打開多個文件,默認顯示第一個文件)
:next :切換到下一個文件
:prev :切換到上一個文件
:last :切換到最後一個文件
:first :切換至第一個文件
:qa :全部退出
分屏顯示一個文件,拆分窗口
Ctrl+w s :水平拆分窗口
Ctrl+w v :垂直拆分窗口
Ctrl+w 上下左右箭頭 :在窗口間切換光標
拆分窗口打開多個文件(末行模式)
語法: vim -o 文件名 文件名....... :水平分割顯示
vim -O 文件名 文件名 ....... :垂直分割顯示
將當前文件中的部分內容另存爲另外一個文件(末行模式)
語法: w 路徑 (w前面可以加地址)
將另外一個文件的內容填充在當前文件中(末行模式)
語法: r 指定某個文件
跟shell命令交互(末行模式)
語法: !執行命令 (回車一下,執行這條命令,再回車一下,返回編輯器)
高級話題(末行模式)
顯示取消行號
:set nu (set number) :顯示行號
:set nonu :取消行號
設定自動縮進(寫腳本時)
:set ai :啓用自動縮進
:set noai :關閉自動縮進
查找到的文本高亮顯示
:set hlsearch :啓用
:set nohlsearch :關閉
語法高亮
:syntax on :啓用
:syntax off :關閉
vim的配置文件
/etc/vimrc :全局配置文件,永久有效
~/.vimrc :個人配置文件,每個用戶的家目錄中,若不存在,手動創建