摘要:在這天地間,流傳這兩大神器的故事據說是神的編輯器,而是編輯器之神。正所謂,工欲善其事必先利其器。今天就和大家分享一下關于編輯器之神的傳說。主要用于用來編寫和查看文本文件。
1.下圖是關于幾款主流編輯器的學習曲線:(注:圖片來自互聯網) 2.VIM - Vi IMproved 3.上圖中vi即是vim的前身在這天地間,流傳這兩大神器的故事:據說Emacs是神的編輯器,而Vim是編輯器之神。正所謂,工欲善其事,必先利其器。今天就和大家分享一下關于編輯器之神Vim的傳說。
一、Vim的歷史
VI:Visual Interface
4.VIM和VI是文本編輯器
何為文本文件?
文本文件一般指只有字符原生編碼構成的二進制計算機文件,與富文本相比,其不包含字樣樣式的控制元素,能夠被最簡單的文本編輯器直接讀取
文本文件常見的格式?
ASCII、MIME、.txt、...
那么,何為文本編輯器?
文本編輯器是計算機軟件中的一種。主要用于用來編寫和查看文本文件。
文本編輯器的種類:
行編輯器:sed
全屏編輯器:nano、vi、vim
二、Vim編輯器的基本操作1. 基本操作
VIM:模式化的編輯器
基本模式
編輯模式 (命令模式)
輸入模式 (插入模式)
末行模式 (vim內置的命令行接口)
Note:打開的時候默認的模式是編輯模式
打開文件
# vim [OPTION]... FILE...
+#:打開文件后,直接讓光標處于第#行的行首
+/PATTERN:打開文件后,直接讓光標處于第一個被PATTERN匹配到的行的行首;
模式轉換
模式轉換:
編輯模式 - - > 輸入模式
i:insert,在光標所在處前面插入;
a:append,在光標所在處的后面插入;
o:open,在當前光標所在行的下一行打開新行,并轉換為輸入模式;
I:在當前光標所在行的行首輸入;
A:在當前光標所在行的行尾輸入;
O:在光標所在行的上一行打開一個新行,并轉換為輸入模式;
輸入模式 - - > 編輯模式
ESC
編輯模式 - - > 末行模式
:
末行模式 - - > 編輯模式
ESC
關閉文件
:q:退出
:!:強制退出,丟棄做出的修改;
:wq:保存退出;
:x:保存退出;
:w /PATH/TO/SOMEWHERE:當前編輯的文本保存到別的文件;
ZZ:保存退出;
圖示說明如下: (轉載請注明出處)
2. 光標跳轉:
字符間跳轉:
h,j,k,l
h:左
l:右
k:上
j:下
#COMMAND:跳轉由#指定的個數的字符;
單詞間跳轉:
w:跳轉至下一個單詞或后一個單詞的詞首;
e:跳轉至當前或下一個單詞的詞尾;
b:跳轉至當前或上一個單詞的詞首;
#COMMAND:由#指定一次跳轉的單詞數;
行首行尾跳轉:
^:跳轉至行首的第一個非空白字符;
0:跳轉至絕對的行首;
$:跳轉至絕對行尾;
行間移動:
#G:跳轉至由#指定行;
G:跳轉至最后一行;
1G,gg:跳轉至第一行;
句間移動:
):跳轉至下一個句子;
(:跳轉至上一個句子;
段落間移動:
}:跳轉至下一段
{:跳轉至上一段
3. vim的編輯命令:
字符編輯:
x:刪除光標處的單個字符;
#x:刪除光標處起始的#個字符;
xp:交換光標所在處的字符及其后面字符的位置;
替換命令:
r,replace
r:替換光標所在處的字符;(單字符替換)
刪除命令:
d:刪除命令,可結合光標跳轉字符,實現范圍刪除;
d$:刪除至絕對行尾
d^:刪除至行首的第一個非空白字符
d0:刪除至絕對行首
dd:刪除光標所在行;
#dd:向下刪除#行;
粘貼命令:
(p,put,paste)
p:緩沖區中存儲的如果為整行內容,則粘貼至當前光標所在行的下方;否則,則粘貼至當前光標所在處的后面;
P:緩沖區中存儲的如果為整行內容,則粘貼至當前光標所在行的上方;否則,則粘貼至當前光標所在處的前面;
復制命令:
y,yank
y:復制,工作行行為相似于d命令;
y$:復制至絕對行尾
y0:復制至絕對行首
y^:復制至行首的第一個非空白字符
yy:復制整行
#yy:復制多行;
改變命令:
c,change
c:修改
編輯模式 - -> 輸入模式
cc:刪除并輸入新內容
#cc:一次刪除#行
三、其它編輯操作1.可視化模式
v:按字符選定
V:按行選定
Note:經常結合編輯命令;
2. 撤銷此前的編輯:
u(undo):撤銷此前的操作;
#u:撤銷指定次數的操作;
撤銷此前的撤銷:
Ctrl+r
重復前一個編輯操作:
.
四、翻屏操作
Ctrl+f:向文件尾部翻一屏;
Ctrl+b:向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
vim自帶的練習教程:
vimtutor
五、vim的末行模式
內建的命令行接口;
特性:
(1). 地址定界
:start_pos,end_pos
#:具體的第#行,例如:2表示第2行;
#,#:從左側#表示起始,到右側#表示結束;
#,+#:從左側#表示的行開始,加上右側#表示的行數;
. 當前行;
$:最后一行;
%:全文;相當于(1,$)
/pat1/,/pat2/:表示從第一次被pat1匹配到的行開始,一直到pat2匹配到的行結束
使用方式:
后跟一個編輯命令:
d:刪除指定范圍的內容
y:復制指定范圍的內容
w /PATH/TO/SOMEWHERE:將范圍內的行另存至指定文件中;
r /PATH/FROM/SOMEFILE:在指定位置插入指定文件中的所有內容;
(2). 查找
/PATTERN:從當前光標所在處向文件尾部查找
?PATTERN:從當前光標所在處向文件首部查找
n:與命令同方向;
N:與命令反方向;
(3). 查找并替換
s:在末行模式下完成查找替換操作
s/要查找的內容/替換為的內容/修飾符
要查找的內容:可使用模式;
替換為的內容:不能使用模式,但可以使用1, 2, ...等后向引用符號;好可以使用"&"引用前面查找時查找到的整個內容;
修飾符:
i:忽略大小寫
g:全局替換;默認情況下,沒一行只替換第一次出現的內容;
查找替換中的分隔符/可替換為其它字符,例如:
s@@@
s###
## 六、vim的文件模式
vim FILE1 FILE2 FILE3 ...
:next 切換至下一個文本
:prev 切換至前一個文本
:first 切換至前一個文本
:last 切換至最后一個文本
:wall 保存所有
:qall 退出所有
vim -o|-O FILE1 FILE2 ...
-o:水平分割
-O:垂直分割
在窗口間切換:Ctrl+w,Arrow
Ctrl+w,s:split,水平分割
Ctrl+w,v:vertical,垂直分割
配置文件:(永久有效)
全局:/etc/vimrc
個人:~/.vimrc (默認不存在,需要自己創建)
末行:(當前vim進程有效)
(1) 行號:
顯示:set number,簡寫為:set nu
取消顯示:set nonumber,簡寫為:set nonu
(2) 括號匹配:
匹配:set showmatch,簡寫為:set sm
取消匹配:set nosm
(3) 自動縮進:
開啟:set ai
禁用:set noai
(4) 高亮搜索
開啟:set hlsearch
禁用:set nohlsearch
(5) 語法高亮
開啟:syntax on
禁用:syntax off
(6) 忽略字符大小寫
啟用:set ic
禁用:set noic
在末行模式下:help SUBJECT
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/24852.html
摘要:在這個蔚藍的星球上,流傳著兩大神器的傳說據說是神的編輯器,是編輯器之神。多窗口分窗口橫向分屏豎向分屏窗口間跳轉 在這個蔚藍的星球上,流傳著兩大神器的傳說:據說Emacs是神的編輯器,vim是編輯器之神。 showImg(https://segmentfault.com/img/bVbt0WT?w=2466&h=832); 拷貝/粘貼/刪除 拷貝:yy/yw(yy:是拷貝整行,yw:拷...
摘要:點擊原文鏈接體驗更佳哦優測優社區干貨精選老司機亂談編輯器之神騰訊優測騰訊優測是專業的移動云測試平臺,為應用游戲,混合應用的研發團隊提供產品質量檢測與問題解決服務。 文 / 騰訊 吳雙 前言 優測小優 有話說: 騰訊優測只有應用測試大神?不不不,我們還有各種研發大牛! vim 是一種信仰,我自從2004年有了這個信仰,已經12個年頭了。本文介紹了學習vim的方法以及一些vim常用的插件...
閱讀 733·2021-11-17 09:33
閱讀 3766·2021-09-01 10:46
閱讀 1758·2019-08-30 11:02
閱讀 3288·2019-08-29 15:05
閱讀 1404·2019-08-26 11:39
閱讀 2280·2019-08-23 17:04
閱讀 1980·2019-08-23 15:43
閱讀 1377·2019-08-23 14:12