vim學習
認識與介紹
vim是一款linux下查看編輯文本文件的一款文本編輯器。一般用來查看修改配置文件、日志文件等文本類文件。
打開文件
vim [OPTIONS] [FILE …]
+#: 打開文件后,直接讓文件處于第#行 +/PARTERN: 打開文件后,直接處于第一個被PARTERN匹配到的行的行首
模式轉換
編輯模式:默認模式 編輯模式 --> 輸入模式 i: insert, 在光標所在處輸入 a:append, 在光標所在后方追加 o:在光標所在處的下一行打開一個新行 I:在光標所在行的行首輸入 A:在光標所在行的行位輸入 O:在光標所在行的上一行輸入 輸入模式 --> 編輯模式 ESC Ctrl+C 編輯模式 --> 末行模式 : 末行模式 --> 編輯模式 ESC Ctrl+C
關閉文件
ZZ 保存并退出 :q 退出 :q! 強制退出 :wq 保存并退出; :w, :q :x 保存并退出 :w /PATH/TO/SOMEFILE
編輯模式下的操作
光標跳轉
字符鍵跳轉 h: 左 j: 下 k: 上 l: 右 單詞間跳轉 w:下一個單詞的詞首 e:當前或后一個單詞的詞尾 b:當前或前一個單詞的詞首 行首行尾跳轉 ^:跳轉至行首的第一個非空白字符 0:跳轉至行首 $:跳轉至行尾 行間跳轉 #G: 跳轉至#指定的行 1G,gg: 跳轉至第一行 G: 跳轉至最后一行 句間跳轉 ): 跳轉至上一句的句首 (: 跳轉至下一句的句首 段間跳轉 {: 跳轉至上一段落的段首 }: 跳轉至下一段落的段尾
翻屏
Ctrl+f:向為文件尾翻一屏 Ctrl+b:向文件首部翻一屏 Ctrl+d:向文件尾部翻半屏 Ctrl+u:向文件首部翻半屏 Enter:按行向后翻
字符編輯
x: 刪除光標所在處的字符 #x: 刪除光標 xp: 交換光標所在處的字符與其后面字符的位置;
替換命令
r:替換光標所在處的字符(鍵入r后,鍵入其他字符替換當前字符) rCHAR
刪除命令
d:刪除命令,可結合光標跳轉字符,實現范圍刪除; d$:刪除光標至行尾的所有字符 d^:刪除光標至行首的所有字符 dw:刪除光標所在單詞至下一個單詞的詞首 de:刪除光標位置到所在位置至詞尾的字符 db:刪除光標至當前所處單詞的詞首 dd:刪除光標所在的行 #dd:從光標所處行起,刪除#行
粘貼命令(p, put, paste)
小寫p:緩存區中的內容若是正行內容,則粘貼在光標所在行的下一行;否則粘貼在光標所在行尾 大寫P:緩存區中的內容若是正行內容,則粘貼在光標所在行的上一行;否則粘貼在光標所在行首
復制命令
y:復制,工作行為類似于d命令; y$: 復制光標位置到當前行尾部的內容 y^:復制光標位置到當前行行首非空的內容 y0:復制光標位置到當前行行首的內容 ye:復制光標到當前詞的詞尾的內容 yw:復制光標到下一個單詞的詞首的內容 yb:復制光標到當前單詞詞首的內容
改變命令(change, c)
c$:刪除光標至當前行行尾的內容并進入插入模式 c^:刪除光標至當前行首的非空字符并進入插入模式 c0:刪除光標至當前行的行首并進入插入模式 cb:刪除光標至當前單詞的詞首內容并進入插入模式 ce:刪除光標至當前單詞的詞尾內容并進入插入模式 cw:刪除光標至下個單詞的詞首的內容并進入插入模式 cc:刪除光標所在的行,并轉換為輸入模式 #cc:從光標所在行起刪除#行,并轉換為輸入模式
可視化模式
用來選中連續的內容。 v:按字符選定: V:按行選定; 結合編輯命令使用:d, c, y
撤銷(undo)操作
u:撤銷此前的操作 #u:撤下此前的#個操作 Ctrl+r:撤銷此前的撤銷
重復執行前一個編輯操作
.
vim 行內模式(也稱為命令行模式)
-
這是vim內建的命令行接口
地址定界
界定內容后,進行命令編輯
:start_pos[,end_pos] #: 特定的第#行,例如5即第5行 .: 當前行 $: 最后一行 #,#: 指定行范圍,例如3,5表示第3到第5行(其中3行和5行都包含在內) #,[-|+]#: 指定行范圍,相對于起始行+#行或-#行 3,+7:表示第2行到第10行 .,$-1:表示當前行到最后一行減1行,也就是當前行到倒數第2行 1,$:表示從第1行到最后一行 %: 全文 /pattern/:從光標所在行到第一次被模式匹配到的行 /first/,$:從光標所在行起第一次匹配到first字符串的行到最后一行 /pat1/,/pat2/:從所在行起第一次匹配到pat1的行開始,至第一次匹配到pat2所在行結束之間的行。 同編輯命令一同使用,實現編輯操作: d:刪除界定的內容 y:復制界定的內容 c:刪除界定的內容并進入插入模式 w /PATH/TO/SOMEFILE:將范圍內的文本保存至指定的文件中 r /PATH/FROM/SOMEFILE:將指定文件的內容讀取并插入到指定位置
導入其他文件內容
r /PATH/RROM/SOMEFILE:將指定的文件中的文本讀取并插入至指定位置
全文查找
/PATTERN:從光標所在處向文件尾部查找能夠被 PATTERN 匹配的所有字符串 ?PATTERN:從光標所在處向文件首部查找能夠被 PATTERN 匹配的所有字符串 n:跳轉至下一個匹配項,與命令方向相同; N:跳轉至上一個匹配項,與命令方向相反;
查找并替換
默認的界定符是 . 當前行。全文替換則為%為界定符即可。 s:末行模式的命令 使用格式: s/要查找的內容/替換的新內容/修飾符 要查找的內容:可以使用正則表達式 替換的新內容:不可以使用正則表達式,但可以引用查找到的內容中的分組 要查找的內容中有分組,在替換的新內容中可以使用 \1,\2... 向后引用 直接引用查找到的所有文本,要使用&符號; 修飾符: i:忽略大小寫 g:全局替換,意味著一行中匹配到多次全替換,否則只替換匹配到的第一個 可把分隔符修改為其他不常用的字符(這種修改后,原有的/分隔符依然可以使用): s@@@ s###
定制工作特性
-
注意在末行模式下的設定,僅對當前vim進程有效;
-
永久有效,可以設置
全局:/etc/vimrc
個人:~/.vimrc1、行號 顯示:set number,簡寫為set nu 取消:set nomber,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 :help subject
原創文章,作者:小江,如若轉載,請注明出處:http://www.www58058.com/49630