字處理器:像word,wps,除了本文本身以外,還有修飾方面的設置。
文本編輯器:編輯純ASCII文檔。
nano,sed 入門簡單,功能簡陋。
強大的vi編輯器 (Visual Interface)
現在是Vim :VI inproved
它是全屏編輯器,模式化編輯器。
vim模式:
編輯模式(命令模式)
輸入模式
末行模式
默認處於編輯模式。
模式轉化:
編輯模式--->輸入模式:
i :在當前光標所在字符的前面,轉爲輸入模式。
a:在當前光標所在字符的後面,轉爲輸入模式。
o:在當前光標所在行的下方,新建一行,轉爲輸入模式。
I: 在當前光標所在行的行首,轉換爲輸入模式
A:在當前光標所在行的行尾,轉換爲輸入模式
O:在當前光標所在行的上面,轉換爲輸入模式
輸入模式---->編輯模式:
ESC
編輯模式---->末行模式
:
10d
10,20d
set nu
! ls /etc
末行模式的功能是非常強大的。
末行------>編輯模式
ESC,ESC
下面詳解vim的用法:
一、打開文件
打開某個文件
# vim /path/to/somefile
打開文件處於n行
# vim +n (file)
打開時處於文件最後一行
# vim + (file)
打開文件,定位到第一次被pattern匹配到的行
# vim + /pattern (file)
二、關閉文件
1.末行模式關閉文件
:q :退出,不保存
:wq:保存並退出
:q! :不保存並退出
:w! :強行保存
:wq ------>:x
2.編輯模式下退出
ZZ : 保存退出
三、移動光標(編輯模式)
1.逐字符移動:
h:
l:
j:
k:
還可以 使用數字+移動鍵
如 : 5h:
6l:
2.逐單詞移動
w :移動到下一個單詞的詞首
e :跳至當前或下一個單詞的詞尾
b :跳至當前或前一個單詞的詞首
這些命令也都支持數字組合
如: 3w
4e
3.行內跳轉
0 : 絕對行首
^ : 行首的第一個非空白字符
$ : 絕對行尾
4.行間跳轉
#G : 直接跳轉到第#行上
G :表示最後一行
末行模式下,直接給出行號也可跳轉。
四、翻屏
Ctrl + f :向下翻一屏
Ctrl + b :向上翻一屏
Ctrl +d : 向下翻半屏
Ctrl + u :向上翻半屏
五、刪除單個字符
x: 刪除光標所在處的當個字符
#x : 刪除光標所在處及向後的共#個字符。
六、刪除命令:d
d命令要跟跳轉命令組合使用
#dw , #de ,#db
dd:刪除當前光標所在行
#dd:刪除包括光標所在行在內的#行
末行模式下:
StartADD,EndADDd
如: .,+5d
d$ : 刪除到行尾
d0 : 刪除到行首
. (點)表示當前行
$:最後一行
+#:向下#行
$-#: 倒數第幾行
七、粘貼命令 p
p :如果刪除的或複製的內容爲整行,則粘貼至光標所在行的上方。如果如果刪除的或複製的內容爲非整行,則粘貼至光標至所在字符的前面。
P :如果刪除的或複製的內容爲整行,則粘貼至光標所在行的下方。如果如果刪除的或複製的內容爲非整行,則粘貼至光標至所在字符的後面。
八、複製命令 y
y的用法同d命令
yy
3yy
1,100y
y0
y$
九、修改
(先刪除內容,再轉換爲輸入模式的)
c命令
c的用法同d命令
cc
c$
十、替換
r 只能用來替換單個字符
R : 直接轉換爲替換模式
ESC 退出替換模式
十一:撤銷編輯操作
u:撤銷前一次操作
可以連續撤銷操作,連續uuuuuu.. (內存中最多保存50次)
#u :直接撤銷#次
還原最近一次的撤銷操作 Ctrl + r
十二、重複前一次的編輯操作
. (點命令)
十三、可視化模式
v: 按字符選取
V :按矩形塊選取
可配合編輯操作實現多種操作。
十四、查找
/pattern
?pattern
下一個 n
上一個 N
十五、查找並替換
在末行模式下使用s命令
addr1,addr2s@pattern@string@gi
1,$
% 表示全文
十六、使用vim編輯多個文件
vim file1 file2
文件切換:
:next 切換至下一個文件
:prev 切換至上一個文件
:last 切換至最後一個文件
:first 切換至第一個文件
退出
:qa 全部退出
十七、如何分屏顯示一個文件
Ctrl+w,s 水平拆分窗口
Ctrl+w,v 垂直拆分窗口
在窗口間切換光標
Ctrl+w ARROW(上下左右箭頭)
:qa 關閉所有窗口
十八、分窗口編輯多個文件
vim -o :水平分割顯示
vim -O :垂直分割顯示
十九、將當前文件的部分內容另存爲另一個文件
:w
:addr1,addr2w /path/to/somewhere
二十、將另一個文件的內容填充在當前文件中
:r /path/to/somefile (類似sed中合併兩個文件)
二十一、跟shell交互
:! command
二十二、高級話題
1.顯示或取消顯示行號
:set nummber
:set nu
:set nonu
2.忽略或區分子字符大小寫
:set ignorecase
:set ic
:set noic
3.設定自動縮進
:set autoindent
:set ai
:set noai
4.查找到的文本高亮顯示或取消
:set hlsearch
:set nohlsearch
5.語法高亮
:syntax on
:syntax off
二十三、配置文件 (讓功能默認有效)
/etc/vimrc 全局
~/.vimrc 僅對當前用戶有效
vimtutor 是linux系統上的一個教程。