vim編輯器:;
全屏幕的編輯器:vim:vi improved(vi加強版)
vi:visual interface
vim:只是文本全屏幕編輯器
模式化:
編輯模式:也叫命令模式對文本進行復制,刪除等操做
輸入模式:也就是向文本中輸入內容
末行模式:
編輯模式-->輸入模式:
i:insert 在當前光標所在位置插入
a:在光標所在的後方插入
o:在光標所在行的下方添加新的一行
I:在光標所在行行首插入
A:在光標所在行行尾插入
O:在光標所在行的上方添加新的一行
輸入模式-->編輯模式
ESC
編輯模式-->末行模式
:
末行模式-->編輯模式
ESC
打開vim:
vim /PATH/TO/SOMEFILE
+#:#爲行號:打開 vim後光標處在#行行首
+/PATTERN::打開vim後光標處在第一個符合匹配PATTERN的行處
關閉vim
:q
:q!
:wq
光標跳轉:
字符間跳轉:
h:向左跳轉一個字符
l:向右轉轉一個字符
j:向下跳轉一個字符
k:向上跳轉一個字符
#COMMAND
單詞間跳轉:
w:跳轉至後一個單詞的詞尾
e:當前或後一個單詞的詞尾
b:當前或前一個單詞的詞首
#COMMAND
行內跳轉:
^:跳轉至行首的第一個非空白字符
0:跳轉至絕對行首
$:跳轉至絕對行尾
行間移動:
#G:跳轉至第#行行首
編輯命令:
字符編輯:
x:刪除光標所在處的字符
#x:刪除光標所在處的開始向後#個字符
xp:
r:替換光標所在處的字符
刪除命令
d:刪除光標移動通過的字符(常與光標跳轉命令結合使用)
d^,d$,d0,dw,de
dd:刪除光標所在行的整行
注意:刪除的內容會被vim編輯器保存在緩衝區中
粘貼:
若是此複製或刪除的內容不是一個完整行
p:粘貼至當前光標所在處後面:
P:粘貼至當前光標所在處的前面:
若是此複製或刪除的內容是一個完整行(不止一行)
p:粘貼至當前光標所在處下一行:
P:粘貼至當前光標所在處的上一行;
複製命令:
y用法與刪除同樣
改變命令
撤銷此前的編輯命令
u:undo
撤銷此前的編輯操做:
ctrl+r恢復此前的撤銷u操做
翻屏操做:
ctrl+f向後一屏
ctrl+b向前一屏
ctrl+d向後半屏
ctrl+u:向前半屏
vim的末行模式
(1)地址:定界
:start_pos,end_pos
# :第#行
#,# 絕對行數
#,+# 絕對行數起,配合相對行數
.:當前行
$:最後一行
%:全文
/part1/:第一次被匹配到的行
後可跟編輯命令:
d,y
w,r
(2)查找
/PATTERN:向尾部進行查找
?PATTERN:向首部進行查找
n:表示命令同方向查找下一個
N:表示命令同方向查找上一個
(3)查找替換
s:在末行模式下,在地址定界的範圍內完成查找替換操做;
s/要查找的內容/替換爲的內容/修飾符
要查找的內容:可以使用正則表達式,可功後面《替換爲的內容》用「&」所有引用,
替換爲的內容:不能使用正則表達式,但能夠使用後向陰影符號正則表達式
修飾符:vim
i:查找時不區分字符大小寫編輯器
g:全局替換ide
/:用做分隔符,用於分割「要查找的內容」和「替換爲的內容」此分隔符可以使用其餘符號如:@,#。
多文件模式:
vim file1 file2。。。
:next
:first
: prev
: last
多個窗口分割模式:
vim -o水平分割多個窗口
-O垂直分割多個窗口
單文件窗口分割:
ctrl+w s:水平分割
ctrl+w,v垂直分割
定製vim的某些工做特性:
1行號
顯示:set nu
禁用:set nonu
2括號匹配
顯示:set sm
禁用:set nosm
3自動縮進
set ai
set noai
4高亮搜索
set hlsearch
set nohlsearchit
vim的配置文件ast
全局:/etc/vimrcclass
我的:~/.vimrc配置
在vim中執行命令和導入文件file
在末行模式下: vimrc
導入文件: r FILENAME
執行命令: !COMMAND
導入執行命令的結果: r!COMMAND