標籤:
vim強大探究之游標移動 - richerg85的專欄 - 部落格頻道 - CSDN.NET
廢話不多說,直接進入主題,現在在看“byte of vim”,記錄強大的命令,一步一步的進階,希望成為一個Vimer!
???? 1、簡單方向移動
??
? (最基本的移動命令,類似你鍵盤的左右上下http://write.blog.csdn.net/postedit方向鍵,但是功能卻是異常的強大!)
??? ps:如果你是vim新手,希望你能邊看邊操作,如果你在windows環境,你可以裝一個cygwin或者虛擬機器下裝個linux系統;如果是linux系統,則就啥也不說了!
? ? 這四個操作前面都可以加數字,代表執行操作的次數,例如5h,重複操作h(向左移動5個字母) 5次。
??
??? 其他鍵:
??
[plain] view plaincopyprint?
- ?????^:移動游標到行首;??
- ??
- ?????$:移動游標到行尾;??
- ??
- ?????ctrl-b:類似於鍵盤上的"PgUp"(b為backword)??
- ??
- ?????ctrl-f:類似於鍵盤上的"PgDn"(f為forword)??
- ???????
- ???????
? ?^:移動游標到行首; $:移動游標到行尾; ctrl-b:類似於鍵盤上的"PgUp"(b為backword) ctrl-f:類似於鍵盤上的"PgDn"(f為forword)? ? ?? ? ?
??? 行操作:
????
[plain] view plaincopyprint?
- ?????G:移動到末行;??
- ??
- ?????1G:移動到首行;??
- ??
- ?????50G:移動到50行;??
- ??
- ??????H:移動到當前視窗的首行;??
- ??
- ??????M:移動到當前視窗的中間位置;??
- ??
- ??????L:移動游標到當前視窗的最後一行;??
? ? ?G:移動到末行; 1G:移動到首行; 50G:移動到50行; H:移動到當前視窗的首行; M:移動到當前視窗的中間位置; L:移動游標到當前視窗的最後一行;
?
2、單詞、句、段落操作
[plain] view plaincopyprint?
- w:游標移動到下一個單詞的詞首;註:對於中文,連續的多個漢字作為一個word。??
- 2w:重複執行w操作2次;??
- e:游標移動到下一個單詞的詞尾;??
- 5e:重複執行e操作5次;??
- b:向前移動游標,移動到前一個單詞的詞首;??
w:游標移動到下一個單詞的詞首;註:對於中文,連續的多個漢字作為一個word。2w:重複執行w操作2次;e:游標移動到下一個單詞的詞尾;5e:重複執行e操作5次;b:向前移動游標,移動到前一個單詞的詞首;
如果想瞭解更多,可以在vim Normal模式下輸入 :help word-motions
句字(sentences)直接移動操作:
):游標移動到下一句;
(:游標移動到上一句;
3):游標移動到向下3句
段落(paragraphs)直接移動操作:
{:向上移動一個段落;
}:向下移動一個段落
3}:向下移動3個段落
更多操作在vim Normal模式下輸入 :help cursor-motions
標記(mark):
當你正在編輯一篇文檔時(不一定是最後一段),你需要操作當前文檔的其他段落,你操作完其他的段落後還想回到當前操作的段落,如何能很快的返回呢:
給你一段文本,可以便於說明:
[plain] view plaincopyprint?
- 1、I?am?eagerly?awaiting?my?next?disappointment.?—Ashleigh?Brilliant??
- 2、Every?man’s?memory?is?his?private?literature.?—Aldous?Huxley??
- 3、Life?is?what?happens?to?you?while?you’re?busy?making?other?plans.?—John?Lennon??
- 4、Life?is?really?simple,?but?we?insist?on?making?it?complicated.?—Confucius??
- 5、Do?not?dwell?in?the?past,?do?not?dream?of?the?future,?concentrate?the?mind?on?the??
- 6、present?moment.?—Buddha??
- 7、The?more?decisions?that?you?are?forced?to?make?alone,?the?more?you?are?aware?of??
- 8、your?freedom?to?choose.?—Thornton?Wilder??
1、I am eagerly awaiting my next disappointment. —Ashleigh Brilliant2、Every man’s memory is his private literature. —Aldous Huxley3、Life is what happens to you while you’re busy making other plans. —John Lennon4、Life is really simple, but we insist on making it complicated. —Confucius5、Do not dwell in the past, do not dream of the future, concentrate the mind on the6、present moment. —Buddha7、The more decisions that you are forced to make alone, the more you are aware of8、your freedom to choose. —Thornton Wilder
以上文本有8行,當處在第6行編輯時,發現第2行好像有問題,需要修改,為了記住現在操作的行,可以作一個標記,ma,然後2G(跳到第2行),操作完後,回到Normal模式(按ESC),執行 ‘a(注意a的前面有個單引號),則會回到之前操作的第8行。
操作說明:
m+單詞(單詞為a-z或者A-Z)
如果再需要一個標記,則可以mb,返回則執行‘b;
標記也可以被刪除,使用命令”:delmarks“可以刪除指定標記。命令”:marks“列出所有的標記。
趕緊去試試吧!!!
?
游標跳轉命令:
[plain] view plaincopyprint?
- ctrl-o:(類似於word等文字編輯器的ctr-z取消操作),此操作返回上一次游標的位置;??
- ??
- ctrl-i:(類似於word等文字編輯器的ctr-Y重做操作),此操作在ctrl-o返回上次游標位置後,再回到最後游標的位置??
ctrl-o:(類似於word等文字編輯器的ctr-z取消操作),此操作返回上一次游標的位置;ctrl-i:(類似於word等文字編輯器的ctr-Y重做操作),此操作在ctrl-o返回上次游標位置後,再回到最後游標的位置
部分文本的操作
ctrl-v:進入塊操作模式
文本例子還是上文的8段文字,游標放到第6行(你可以使用上文介紹的操作把游標放到第6行的行首),按ESC進入Normal模式,按v進入可視模式(vim下端會提示),按下ap(a paragraph)會選擇當前段落,執行~會把大小寫字母反轉,小寫變大寫,大寫變小寫!
[plain] view plaincopyprint?
- 6、PRESENT?MOMENT.?—bUDDHA??
6、PRESENT MOMENT. —bUDDHA
如果想對word操作,把ap換成aw(a word)即可!
附 兩張圖:
這張圖可以作為案頭;
vim強大探究之游標移動