文本編輯器,字處理器shell
vi:Visual Interfacevim
vim:VI iMproved編輯器
全屏編輯器,模式化編輯器ide
vim模式:spa
編輯模式it
輸入模式ast
末行模式class
模式轉換:可視化
編輯-->輸入:sed
i:在當前光標所在字符前面,轉爲輸入模式
a:在當前光標所在字符後面,轉爲輸入模式
o:在當前光標所在行的下方,轉爲輸入模式
I:所在行行首
A:所在行行尾
O:所在行上方
輸入-->編輯:
ESC
編輯-->末行:
:
末行-->編輯:
ESC,ESC
1、打開文件
# vim /path/to/somefile
vim +#:打開文件,並定位於第#行
vim +:打開文件,定位最後一行
vim +/pattern:打開文件,定位至第一次被pattern匹配到的行首
默認處於編輯模式
2、關閉文件
一、末行模式關閉文件
二、編輯模式下退出:q 退出
:wq 保存並退出
:w
:w!
:wq--->:x
ZZ: 保存並退出
3、移動光標
一、逐字符移動
h:左
l:右
j:下
k:上
#h:移動#個字符
二、逐單詞移動
w:移至下一個單詞的詞首
e:跳至當前或下一個單詞的詞尾
b:跳至當前或上一個單詞的詞首
#w:
三、行內跳轉
0:絕對行首
^:行首的第一個非空白字符
$:絕對行尾
四、行間條狀
#G:跳轉至第#行;
G:最後一行
末行模式下,直接給出行號便可
4、翻屏
ctrl+f:向下翻一屏
ctrl+b:向上
ctrl+d:向下翻半屏
ctrl+u:向上
5、刪除單個字符
x:刪除光標所在處的單個字符
#x:刪除光標所在處及向後的共#個字符
6、刪除命令:d
d命令跟跳轉命令組合使用:
#dw,#de,#db
dd:刪除當前光標所在行在內的#行
末行模式下:
StartADD,EndADDd
.:表示當前行
$:最後一行
+#:向下的#行
7、粘貼命令 p
P:若是刪除或複製爲整行內容,則粘貼至光標所在行的下方,若是複製或刪除的內容爲非整行,則粘貼至光標所在字符後面
p:若是刪除或複製爲整行內容,則粘貼至光標所在行的上方,若是複製或刪除的內容爲非整行,則粘貼至光標所在字符前面
8、複製命令 y
用法同d命令
9、修改:先刪除內容,再轉換爲舒服模式
c:用法同d命令
10、替換
R:替換模式
11、撤銷編輯操做 u
u:撤銷前一次操做
#u:直接撤銷最近n次編輯操做
ctrl+r:撤銷剛纔的撤銷操做
12、重複前一次編輯操做
.
十3、可視化模式
v:按字符選取
V:按舉行選取
十4、查找
/Pattern
?Pattern
n,N
十5、查找並替換
在末行模式下使用s命令
用法同sed命令
1,$
%:表示全文
十6、使用vim編輯多個文件
vim file1 file2 file3
:next 切換至下一個文件
:prev 切換至前一個文件
:last 切換至最後一個文件
:first 切換至第一個文件
:qa 所有退出
十7、分屏顯示一個文件
ctrl+w,s:水平拆分窗口
ctrl+w,v:垂直拆分窗口
在從窗口間切換光標:
ctrl+w,ARROW
十8、分窗口編輯多個文件
vim -o:水平分割顯示
vim -O:垂直分割顯示
十9、將當前文件中部份內容另存爲另外一個文件
末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewhere
二10、將另一個文件的內容填充在當前文件中
:r /path/to/somewhere
二11、跟shell交互
:!COMMAND
二12、高級話題
一、顯示或取消行號
:set number
:set nu
:set nonu
二、顯示忽略或分區字符大小寫
:set ignorecase
:set ic
:set noic
三、設置自動縮進
:set autoindent
:set ai
:set noai
四、查找到文本高亮顯示或取消
:set hlsearch
:set nohlsearch
五、語法高亮
:syntax on
:syntax off
二十3、配置文件
/etc/vimrc
~/.vimrc
vimtutor