vi 的使用心筆記vim
在用戶的要目錄下能夠在.vimrc設置好本身平時所使用的環境
如每次打開文件都顯示行號,查詢的時候忽略大小寫,則以下
vi .vimrc
set nu
set ic
:noh 不顯示高亮(查詢的時候會顯示顏色,但下此命令後就不會高亮顯示所查詢到的內容)
:set ic 忽略大小寫
:set noic 不忽略大小寫
:set nu 顯示行號
:set nonu 不顯示行號
:syntax on 語法高亮顯示
:syntax off 語法不高亮顯示
1,刪除空白行
:g/^$/d
或 :v/./dide
1. global命令形式
:h :g
:h 12.4
:[range]global/{pattern}/{command}
global命令在[range]指定的文本範圍內(缺省爲整個文件)查找{pattern},而後對匹
配到的行執行命令{command},若是但願對沒匹配上的行執行命令,則使用global!或vg
lobal命令。
先來看Vim用戶手冊裏的一個經典例子。
【例1】倒序文件行(即unix下的tac命令)
:g/^/m 0
這條命令用行首標記/^/匹配文件的全部行(這是查找的一個經常使用技巧,若是用/./則是
匹配非空行,不知足本例要求),而後用move命令依次將每行移到第一行(第0行的下一
行),從而實現了倒序功能。
global命令其實是分紅兩步執行:首先掃描[range]指定範圍內的全部行,給匹配{pa
ttern}的行打上標記;而後依次對打有標記的行執行{command}命令,若是被標記的行在
對以前匹配行的命令操做中被刪除、移動或合併,則其標記自動消失,而不對該行執行
{command}命令。標記的概念很重要,以例說明。spa
2,刪除1至5行的#號
:1,5s/#//g
若是隻是1到5行行首#號
:1,5s/^#//
若是每個都要按確認y的話
:1,5s/^#//c
3,刪除2至5行
:2,5d
4,刪除2至未行
:2,$d
5,刪除行首爲#號的行(%表明全部行)
:%s/^#.*$// (還存在空白行)
:g/^#/d (不存在空白行)
6,刪除鼠標所在位置至本行的未尾並插入模式
shift+c
如不想在插入模式則可 d+$
7,在2至5行增長#號做批註
:2,5s/^/#/
8,刪除鼠標所在行到最後一行(包括鼠標所在行)
:,$dunix