" 怎樣不使用 / 來查找網址
?http://www.vim.org/ : 向後查找
" 查找指定字符以外的字符串
/\c\v([^aeiou]&\a){4} : 查找4個輔音字母
----------------------------------------
#替換
:%s/fred/joe/igc : 普通替換命令
:%s/\r//g : 刪除 DOS 的換行符 ^M
" 你的文本文件是否亂七八糟的排成一行?使用如下命令
:%s/\r/\r/g : 轉換 DOS 回車符 ^M 為真正的回車符
:%s= *$== : 刪除行尾空白
:%s= \+$== : 同上
:%s#\s*\r\?$## : 刪除尾部空白和dos換行符
:%s#\s*\r*$## : 同上
" 刪除空行
:%s/^\n\{3}// : 刪除連續3個空行
:%s/^\n\+/\r/ : 壓縮空行,多個替換為一個
%s#<[^>]\+>##g : 刪除html的tag部分
" IF YOU ONLY WANT TO KNOW ONE THING
:'a,'bg/fred/s/dick/joe/igc : 非常有用
# 譯釋:''a,''b指定一個範圍:mark a ~ mark b
# g//用一個正則表達式指出了進行操作的行必須可以被fred匹配
# 看後面,g//是一個全局顯示命令
# s/dick/joe/igc則對於這些滿足條件的行進行替換
" 複製列
:%s= [^ ]\+$=&&= : 複製最後一列
:%s= \f\+$=&&= : 一樣
:%s= \S\+$=&& : 暈,還一樣!
" 記憶(反向引用)
:s/\(.*\):\(.*\)/\2 : \1/ : 將兩個字段顛倒
:%s/^\(.*\)\n\1$/\1/ : 刪除重複行
" 非貪婪匹配 \{-}
:%s/^.\{-}pdf/new.pdf/ : 刪除第一個pdf
" use of optional atom \?
:%s#\<[zy]\?tbl_[a-z_]\+\>#\L&#gc : lowercase with optional leading characters
" 跨越盡量多的行
:%s/// : 刪除多行註釋
:help /\{-} : 查看非貪婪匹配的更多幫助
" 使用寄存器替換
:s/fred/<c-r>a/g : 將fred替換為寄存器a裡的內容
:s/fred/<c-r>asome_text<c-r>s/g
上一页下一页