先必須知道vim的3中工作模式
Vim 提供了一個功能,只有當要搜索的單詞 / 模板包含大寫字母時,編輯器才會區分大小寫。要想實現這種功能,必須先設置ignorecase,再接著設置smartcase變數。
:set ignorecase
:set smartcase
例如,如果一個文件中既包含LINUX也包含linux,在開啟智能大小寫搜索功能時,如果使用/LINUX進行搜索,只有單詞LINUX處會被搜到。反之,如果搜索/linux,那麼不論大小寫的搜索結果都會被匹配。
㈡ Linux緋葷粺涓璿im宸ュ叿甯哥敤鍛戒護澶у叏
鍦╨inux涓嬪仛寮鍙戱紝鐢氳嚦鏄鍙鍋氱$悊緇存姢宸ヤ綔錛屼篃灝戜笉浜哣im鐨勪嬌鐢ㄣ備綔涓轟竴涓鏂版墜錛屾垜涔熸槸鍒氬垰鎺ヨЕ錛屾湰鑺傚皢鎴戞棩甯鎬嬌鐢ㄦ垨鏀墮泦鐨刅im甯哥敤鍛戒護璁板綍涓嬫潵銆
褰撶劧錛岀洿鎺ュ湪鍛戒護琛屼笂杈撳叆錛歷imtutor錛屽氨鍙浠ュ︿範鍒癡im鐨勬墍鏈夊懡浠や簡銆俈im寰堝己澶э紝寰堝氱墰浜哄湪vim閲岄泦鎴愬緢澶氭彃浠朵粈涔堢殑錛屼絾榪欓噷鍙浠嬬粛鍩烘湰vim鍛戒護銆
縐誨姩鍛戒護
h "宸j "涓媖 "涓妉 "鍙硍 "鍏夋爣縐誨姩鍒頒笅涓涓鍗曡瘝鐨勯栧瓧絎 a word forwardb "鍏夋爣縐誨姩鍒頒笂涓涓鍗曡瘝鐨勯栧瓧絎e "鍏夋爣縐誨姩鍒頒笅涓涓鍗曡瘝鐨勫熬瀛楃ge "鍏夋爣縐誨姩鍒頒笂涓涓鍗曡瘝鐨勫熬瀛楃$ "灝嗗厜鏍囩Щ鍔ㄥ埌褰撳墠琛岃屽熬^ "灝嗗厜鏍囩Щ鍔ㄥ埌褰撳墠琛岀涓涓闈炵┖鐧藉瓧絎0 "灝嗗厜鏍囩Щ鍔ㄥ埌褰撳墠琛岀涓涓瀛楃
娉錛 榪欎簺鍛戒護闄や簡'0'鍛戒護浠ュ栭兘鍙浠ュ湪鍓嶉潰鎺ュ彈涓涓璁版暟錛2$錛涗笂闈㈡墍鏈夊懡浠ら兘鍙浠ュ湪鍓嶉潰鎺ュ彈涓浜涙搷浣滃懡浠わ紝濡俤$錛宒w絳夈
淇鏀瑰懡浠
x "鍒犻櫎涓涓瀛楃d "鍏跺悗璺熶換浣曚竴涓浣嶇Щ鍛戒護錛屽皢鍒犻櫎浠庡綋鍓嶅厜鏍囧埌浣嶇Щ緇堢偣澶勭殑鏂囨湰 "鍐呭癸紝濡俤w錛宒elete word c "涓巇鍛戒護鍔熻兘綾諱技錛屼笉鍚岀殑鍦ㄦ墽琛屽畬鍒犻櫎鍚庡懡浠よ繘鍘籌nsert妯″紡錛宑hange dd "鍒犻櫎涓鏁磋寉y "澶嶅埗涓鏁磋宲 "鎶婂壀璐存澘鍐呭圭矘甯栧埌褰撳墠浣嶇疆
vimdiff 1.c 2.c "鍒涘緩涓涓鍨傜洿鍒嗗壊紿楀彛姣旇緝榪欎袱涓鏂囦歡涓嶅悓鐨勫湴鏂
鎼滅儲鍛戒護
fa "鍗曞瓧絎︽悳緔錛宖a鏄鍦ㄥ綋鍓嶈屾悳緔涓嬩竴涓猘,find a/string "鍏ㄦ枃鏈鎼滅儲涓涓瀛楃︿覆錛屽傝佹壘鍒板崟璇"func"鍒欑敤/func "濡傛灉鏂囨湰鏈夊氫釜func,鎸変笅n灝變細縐誨姩鍒版帴涓嬫潵鐨刦unc浣嶇疆涓
"n鍓嶉潰涔熷彲浠ユ帴鍙楁暟瀛楄℃暟錛屽3n錛屽氨浼氭壘緔ф帴絎涓変釜func
?string "涓/string鐨勫姛鑳界浉鍚岋紝鍞涓鐨勫尯鍒灝辨槸鎼滅儲鐨勬柟鍚戠浉鍙
娉錛
鍙浠ョ敤錛歴et noingorecase 蹇界暐瀛楃﹀ぇ灝忓啓錛
/鍜岋紵鍛戒護閮芥湁璁板繂鍔熻兘錛屽彲浠ョ敤澶氭UP閿閫夋嫨鎼滅儲鍘嗗彶錛岃板綍鍛戒護鏈澶х殑鍘嗗彶鏉℃暟鍙浠ュ湪浼氳瘽viminfo涓婃洿鏀癸紱
鎼滅儲瀛楃.*/?%$^[]絳夌壒孌婂瓧絎﹁佸湪鍓嶉潰鍔犱竴涓鍙嶆枩鏉犺漿鎰忥紱
鎼滅儲鍒板ょ珛鐨勫崟璇嶏紝涔熷氨鏄鍓嶅悗閮芥病鏈夊叾浠栧瓧絎︾殑錛堥櫎浜嗙┖鏍礆紝鍒惰〃絎︼級,濡傚彧鎼渢he,涓嶆兂鎼滃埌there鎴杦hether榪欐牱鐨勶紝瑕佺敤//the/錛
鍙浠ョ敤:set hlsearch鎶婅佹悳緔㈢殑鍗曡瘝楂樹寒鏄劇ず錛
瀹氫綅鍛戒護
G "鍏夋爣縐誨姩鍒版枃浠剁殑鏈鍚庝竴琛岋紝鎴栬匰hift+G15G "鍏夋爣縐誨姩鍒版枃浠剁殑絎15琛岋紝鎴栬15gggg "鍏夋爣縐誨姩鍒版枃浠剁殑絎涓琛 45% "鍏夋爣縐誨姩鍒版枃浠45%澶凥 "鍏夋爣縐誨姩鍒板綋鍓嶅睆騫曠殑鏈寮濮婱 "鍏夋爣縐誨姩鍒板綋鍓嶅睆騫曠殑涓闂碙 "鍏夋爣縐誨姩鍒板綋鍓嶅睆騫曠殑鏈鍚
娉錛 CTRL+g鏌ョ湅褰撳墠鍏夋爣浣嶇疆
婊氬睆鍛戒護
CTRL+U "紿楀彛鍚戜笂婊氬崐灞廋TRL+D "紿楀彛鍚戜笅婊氬崐灞廋TRL+E "鍚戜笂婊氫竴琛岋紝娌″お澶у疄闄呮剰涔塁TRL+Y "鍚戜笅婊氫竴琛孋TRL+F "鍚戝墠婊氫竴鏁村睆CTRL+B "鍚戝悗婊氫竴鏁村睆zz "褰撳墠琛岀疆浜庡睆騫曚腑澶畓t "褰撳墠琛岀疆浜庡睆騫曢《絝痾b "褰撳墠琛岀疆浜庡睆騫曞簳絝
鍒嗗壊紿楀彛
:split "妯鐫鍒嗗壊:new "妯鐫娣誨姞涓涓鏂扮獥鍙:vsplit "絝栫潃鍒嗗壊:vnew "絝栫潃娣誨姞鏂扮獥鍙CRTL+W w "鎸夐『搴忓垏鎹㈠皬紿楀彛:qall "鍏抽棴鎵鏈夌獥鍙:wall "淇濆瓨鎵鏈夌獥鍙
鏍囩(tab)鍛戒護
:tabedit filename "鍦ㄦe湪緙栬緫鐨剉im紿楀彛寤轟竴涓鍙玣ilename鐨則ab欏:tab split "鏂板緩涓涓猼ab欏礸t "縐誨姩鍒頒笅涓涓猼ab欏礸T "縐誨姩鍒頒笅涓涓猼ab欏
㈢ vim的使用方法
命令模式:控制游標移動,可對文本進行復制、粘貼、刪除和查找等工作。
輸入模式:正常的文本錄入。
末行模式:保存或退出文檔,以及設置編輯環境。
在每次運行Vim編輯器時,默認進入命令模式,此時需要先切換到輸入模式後再進行文檔編寫工作,而每次在編寫完文檔後需要先返回命令模式,然後再進入末行模式,執行文檔的保存或退出操作。在Vim中,無法直接從輸入模式切換到末行模式。Vim編輯器中內置的命令有成百上千種用法,為了能夠幫助讀者更快地掌握Vim編輯器,表4-1總結了在命令模式中最常用的一些命令。
表4-1 Vim中常用的命令
編輯
命令 作用
dd 刪除(剪切)游標所在整行
5dd 刪除(剪切)從游標處開始的5行
yy 復制游標所在整行
5yy 復制從游標處開始的5行
n 顯示搜索晌前陸命令定位到的下一個字元串
N 顯示搜索命令定位到的上一個字元串
u 撤銷上一步的操作
p 將之前刪除(dd)或復制(yy)過的數據粘貼到游標後面
末行模式主要用於保存或退出文件,以及設置Vim編輯器的工作環境,還可以讓用戶執行外部的Linux命令或跳轉到所編寫文檔的特定行數。要想切換到末行模式,在命令模式中輸入一個冒號就可以了。Vim文本編輯器
命令宴頃 作用
:w 保存
:q 退出
:q! 強制退出(放棄對文檔的修改內容)
:wq! 強制保存退出
:set nu 顯示行號
:set nonu 不顯示行號
:命令 執行該命令
:整數 跳轉到該行
:s/one/two 將當前游標所在行的第一個one替換成two
:s/one/two/g 將當前游標所在行的所有悔兆one替換成two
:%s/one/two/g 將全文中的所有one替換成two
?字元串 在文本中從下至上搜索該字元串
/字元串
㈣ Linux下vim編輯器命令大全
vim可以分為三種狀態,分別是 命令行模式(command mode) 、 輸入模式(Insert mode) 和 底行模式(last line mode) ,這 3 種工作模式可隨意切換,如下圖所示。
使用vim編輯文件時,默認處於命令行模式。此模式下,可使用方向鍵(上、下、左、右鍵)或 k、j、h、i 移動游標的位置,還可以對文件內容進行復制、粘貼、替換、刪除等操作。
下圖所示是vim處於命令行模式的狀態示意圖。
在輸入模式下,vim可以對文件執行寫操作,類似於在Windows系統的文檔中輸入內容。
使vim進行輸入模式的方式是在命令模式狀態下輸入 i 、 I 、 a 、 A 、 o 、 O 等插入命令(各指令的具體功能下表所示),當編輯文件完成後按 esc 鍵即可返回命令模式。
下圖所示為vim處於輸入模式模式下的示意圖。
底行模式用於對文件中的指定內容執行保存、查找或替換等操作。
使vim切換到底行模式的方法是在 命令行模式 狀態下按 : 鍵(注意是英文符號),此時vim窗口的左下方出現一個 : 符號,這是就可以輸入相關指令進行操作了。
指令執行後vim會自動返回命令行模式。如想直接返回命令行模式,按 esc 即可。
下圖所示為vim進入底行模式後的狀態。
對於新手來說,經常不知道自己處於什麼模式。不論是自己忘了,還是不小心切換了模式,都可以按一次 esc 鍵返回命令行模式。如果你多按幾次 esc 鍵後聽到"嘀————"的聲音,則代表你已經處於命令行模式了。
打開文件
打開文件時游標處於文件尾部
打開文件時,游標定位到第幾行
字元移動
這些移動鍵都可以加上數字(5h:向左移動5個字元格)
單詞移動
行內跳轉
行間移動
在底行模式下,直接給出行號,實現跳轉
用法:起始地址,結束地址 s @要替換內容@替換後內容@gi(@分隔符)
例 :1,$s/a/A/g 把文件中全部的a換替換成A,全局替換
顯示取消行號
設定自動縮進(寫腳本時)
查找到的文本高亮顯示
語法高亮
/etc/vimrc :全局配置文件,永久有效
~/.vimrc :個人配置文件,每個用戶的家目錄中,若不存在,手動創建
對於第一次用vim的童鞋,有幾點需要提醒一下: