預設情況下 vim 的查詢都是區分大小寫的, 這種查詢方式有利於準確快速的定位到目標, 但是有時候vim的使用者也不一定能夠確認那個單詞的大小寫情況, 這種情況下就要用到大小寫忽略了.
實現這個操作有兩種方式.
方式1 指令設定:
:set ic(ignorecase 的縮寫) 忽略大小寫
:set noic(noignorecase 的縮寫) 不忽略大小寫
輸入了上述指令, 當每次的查詢操作都會受到當前設定的影響,不過每次在退出vim編輯後,再重新開啟以後的設定仍舊失效。
注:編輯狀態下的設定相當於臨時修改了vim的環境變數,當重新使用vim時,其又會預設的.viminfo檔案中讀入預設的環境變數設定 。
方式2 查詢符號設定:
/\cword 區分大小寫的查詢
/\cword 不區分大小寫的查詢
這個操作針對當前的查詢有效, 所以不必考慮下次查詢操作是否會受到影響.
對grep sed awk工具忽略大小寫的擴充套件
談到vim對文字的處理,不自覺的就聯想到以上三個工具對文字的處理。現對此做下對比。首先是grep對忽略大小寫的處理,這個最簡單,直接在-i引數即可:
-i, --ignore-case ignore case distinctions
接下來是sed對文字忽略大小寫的處理。這個要稍微麻煩些。不過在sed的幫助文件中還是找到下面一段:
imatch regexp in a case-insensitive manner.
(this is a gnu extension.)
從上面這段幫助上不難看出,使用大寫i可以進行大小寫忽略處理。下面使用兩個簡單的示例說明下。如我有如下乙個文件:
[root@gateway2 ~]# cat a.txt
aaaa
bbcc
然後通過sed可進行如下處理[root@gateway2 ~]# sed -n '/aa/ip' a.txt
aaaa
//d引數為刪除
[root@gateway2 ~]# sed -e '/aa/id' a.txt
bbcc
最後是awk對忽略大小寫的處理。awk在這方面做的也比較好,其內建了乙個ignorecase變數,專門用於處理大小寫的忽略。當ignorecase的值為真時,則進行忽略大寫的匹配。示例如下:
[root@gateway2 ~]# cat a.txt |awk '/aa/' ignorecase=1
aaaa
本處仍使用的上面的a.txt
另乙個示例:echo "mary" | awk 'begin}'
該示例的輸出結果是mary
MySQL查詢忽略大小寫
離離原上草,一歲一枯榮 在mysql中,有可能會遇到查詢大小寫的問題.這個時候可以修改欄位的排序規則來達到忽略大小寫的目的 或者用alert語句修改也可以 alter table tablename modify column columnname varchar 50 character set ...
讓Vim查詢字元忽略大小寫
vim預設是對大小寫敏感的,下面是讓vim忽略大小寫的幾種方法 set ignorecase 再查詢 include 現在它將匹配 include include 和 include set noignorecase 讓我們保留這個設定,並查詢 include 它匹配的文字就跟查詢 include ...
MSYQL忽略大小寫
linux下mysql預設是要區分表名大小寫的。mysql是否區分大小寫設定是由引數 lower case table names決定的,其中 1 lower case table names 0 區分大小寫 即對錶名大小寫敏感 預設是這種設定。這樣設定後,在mysql裡建立的表名帶不帶大寫字母都沒...