Vim實戰指南(三):高級技巧

原文地址:Vim實戰指南(三):高級技巧緩存

Introduction

當vi入門後,在你平常使用中,會遇到下面幾個問題:工具

  1. 我編輯好的文本,怎麼沒法保存?是否是要從新來一次?命令行

  2. 我誤操做,怎麼回退撤銷?只能退出vi從新打開嗎?code

  3. 我能同時複製多個不連續的行嗎?一行一行復制粘貼太慢了。get

下面我將要介紹的內容不只會解決上述問題,還會介紹幾個高級小技巧。io

命令行下使用vi的技巧

一般咱們使用vi打開或編輯文件都是直接敲擊vi+文件名,如:入門

$ vi file

實際上,你能夠用vi+行號來打開文件,這將使光標直接調到指定的行數,這對於根據錯誤行號排查問題尤其方便:基礎

$ vi +3 file  #這將使光標移動到第3行
$ vi + file  #這將使光標移動到文件的末尾
$ vi + /pattern file  #這將使光標移動到第一個知足pattern的位置

若是你但願以只讀模式打開文件:file

$ vi -R file

若是你但願強制打開可寫模式,在vi的命令行模式下敲入:技巧

:w!

拷貝到另外一個文件:

:w newfile

撤銷和重複的技巧

vi一共能夠撤銷以前的九次操做,這九次操做存放在vi的九個緩存區中,用數字1-9表示。
當你但願撤銷第三次操做,輸入:

"3p

若是你不記得應該撤銷第幾回操做,能夠輸入:

"1pu.u.u.

來找到你想要的內容,其中u撤銷上一條命令的意思,.是重複上一條命令的意思,詳見Vim實戰指南(一):基礎編輯命令

複製和粘貼的技巧

事實上,vi的緩存不單單用於撤銷,還能用於複製和粘貼,vi提供了字母a-z共26個緩存區供你使用。
當你但願拷貝的內容存放到緩存區c,輸入:

"cyy

你也可使用組合命令,拷貝3行到緩存區c,輸入:

"c3yy

粘貼緩存區c的內容,輸入:

"cp

刪除也一樣可使用緩存區c,輸入:

"cdd

書籤

善用緩存區,還能讓緩存區變成書籤標記供你使用。
當你但願創建標籤c時,輸入:

mc

跳轉到標籤c所在的行,輸入:

'x

跳轉到標籤c所在的字符處,輸入:

`x

移動當跳轉前的行的光標處,輸入;

''

移動到跳轉前的行首,輸入:

``

''和``的用法詳見Vim實戰指南(二):光標移動技巧

Summary

掌握上述的高級技巧,將讓你的編輯技巧比別人技高一籌。沒必要再機械地來回跳轉光標或者一行行復制粘貼了。你會發現vi提供的高級功能,遠比其餘文字處理工具強大的多。

相關文章
相關標籤/搜索