【vim】几种模式的切换
很多初學(xué)者啟動(dòng)vim后,不知道怎么輸入字符:按了半天字母,結(jié)果屏幕還是空的。
vim和記事本或WORD不一樣,不是一打開后就可以輸入文字,此時(shí)它處于正常模式。
vim一共有4個(gè)模式:
- 正常模式 (Normal-mode)?
- 插入模式 (Insert-mode)
- 命令模式 (Command-mode)
- 可視模式 (Visual-mode)
?
注意:方向鍵(上下左右那幾個(gè))可以在vim屏幕里跳來跳去。現(xiàn)在知道這個(gè)對體驗(yàn)以下的模式有用。但是,通過方向箭來移動(dòng),是一個(gè)笨辦法。。。講到正常
模式時(shí)會(huì)說到更好的方法(我不會(huì)現(xiàn)在就告訴你h,j,k,l鍵分別對應(yīng)左,下,上,右的:D)
正常模式
正常模式一般用于瀏覽文件,也包括一些復(fù)制、粘貼、刪除等操作。這時(shí)擊鍵時(shí),
一般的鍵/鍵組合會(huì)被當(dāng)成功能鍵,而不會(huì)鍵入對應(yīng)的字符。
在這個(gè)模式下,我們可能通過鍵盤在文本中跳來跳去,跳動(dòng)的范圍從小到大是字符、
單詞、行、句子、段落和屏幕。
啟動(dòng)vim后默認(rèn)位于正常模式。不論位于什么模式,按下<Esc>鍵(有時(shí)需要按兩下)
都會(huì)進(jìn)入正常模式。
插入模式
在正常模式中按下i, I, a, A等鍵(后面系列文章會(huì)詳細(xì)介紹),會(huì)進(jìn)入插入模式。
現(xiàn)在只用記住按i鍵會(huì)進(jìn)行插入模式。插入模式中,擊鍵時(shí)會(huì)寫入相應(yīng)的字符。
?
命令模式
在正常模式中,按下:(冒號)鍵,會(huì)進(jìn)入命令模式。在命令模式中可以執(zhí)行
一些輸入并執(zhí)行一些vim或插件提供的指令,就像在shell里一樣。這些指令包括
設(shè)置環(huán)境、文件操作、調(diào)用某個(gè)功能等等。
?
可視模式
在正常模式按下v, V, <Ctrl>+v,可以進(jìn)入可視模式。可視模式中的
操作有點(diǎn)像拿鼠標(biāo)進(jìn)行操作,選擇文本的時(shí)候有一種鼠標(biāo)選擇的即視感,有時(shí)候
會(huì)很方便。
?
根據(jù)需要靈活快速的切換各種模式非常有用。
配置回到正常模式的快捷鍵
由于不論在其他什么模式下,按一次或兩次<Esc>鍵都可以回到正常模式,我們
可以想見,<Esc>鍵會(huì)經(jīng)常用到。由于<Esc>鍵在標(biāo)準(zhǔn)qwert鍵盤的左上角,對
于左手小指不靈活的朋友來說,按起來比較不方便(我就是如此),因此在上一篇
中我們通過配置.vimrc把<Esc>映射成了按兩下j鍵。
j鍵正好在右手食指的基本鍵位上(一般上面還有個(gè)突起),用起來十分方便。
如果只讓我保留一個(gè)vim設(shè)置的話,我會(huì)選擇保留它。
?
--------------------------------------------------------------------------------
在命令模式中,連按兩次大寫字母Z,若當(dāng)前編輯的文件曾被修改過,則Vi保存該文件后退出,返回到shell;若當(dāng)前編輯的文件沒被修改過,則Vi直接退出,?? 返回到shell。???
? 在末行模式下,輸入命令???
? :w?
? Vi保存當(dāng)前編輯文件,但并不退出,而是繼續(xù)等待用戶輸入命令。在使用w命令時(shí),可以再給編輯文件起一個(gè)新的文件名。
? [例6]???
? :w?? newfile?
? 此時(shí)Vi將把當(dāng)前文件的內(nèi)容保存到指定的newfile中,而原有文件保持不變。若newfile是一個(gè)已存在的文件,則Vi在顯示窗口的狀態(tài)行給出提示信息:?
? File?? exists?? (use?? !?? to?? override)?
? 此時(shí),若用戶真的希望用文件的當(dāng)前內(nèi)容替換newfile中原有內(nèi)容,可使用命令?
? :w!?? newfile?
? 否則可選擇另外的文件名來保存當(dāng)前文件。?
? 在末行模式下,輸入命令???
? :q?
? 系統(tǒng)退出Vi返回到shell。若在用此命令退出Vi時(shí),編輯文件沒有被保存,則Vi在顯示窗口的最末行顯示如下信息:?
? No?? write?? since?? last?? change?? (use?? !?? to?? overrides)?
? 提示用戶該文件被修改后沒有保存,然后Vi并不退出,繼續(xù)等待用戶命令。若用戶就是不想保存被修改后的文件而要強(qiáng)行退出Vi時(shí),可使用命令?
? :q!?
? Vi放棄所作修改而直接退到shell下。?
? 在末行模式下,輸入命令???
? :wq?
? Vi將先保存文件,然后退出Vi返回到shell。?
? 在末行模式下,輸入命令???
? :x?
? 該命令的功能同命令模式下的ZZ命令功能相同
-------------------------------------------------------------------------------
?
參考原文鏈接:https://www.cnblogs.com/zzqcn/p/4619012.html
?
寫博客是為了記住自己容易忘記的東西,另外也是對自己工作的總結(jié),文章可以轉(zhuǎn)載,無需版權(quán)。希望盡自己的努力,做到更好,大家一起努力進(jìn)步!
如果有什么問題,歡迎大家一起探討,代碼如有問題,歡迎各位大神指正!
轉(zhuǎn)載于:https://www.cnblogs.com/summary-2017/p/9375072.html
總結(jié)
以上是生活随笔為你收集整理的【vim】几种模式的切换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python wireshark_用py
- 下一篇: 极客时间-算法训练营 3.2