欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中vim編輯器進(jìn)階的使用介紹

 更新時(shí)間:2013年04月28日 10:18:08   作者:  
本篇文章介紹了,在Android中vim編輯器進(jìn)階的使用。需要的朋友參考下

1. 移動(dòng)指令
    (1). h j k l, 方向鍵,記憶技巧:左右方向的是最左邊和最右邊的,j向下打了個(gè)勾,所以是向下鍵,剩下的k就是向上的鍵了。
    (2). b, before,上一個(gè)單詞(詞首)
           w, word,下一個(gè)單詞(詞首)
           e,  end,下一個(gè)單詞(詞尾)
    注意這些小寫(xiě)的命令由字母,點(diǎn),數(shù)字,下劃線劃分,還有這三個(gè)對(duì)應(yīng)的大寫(xiě)字母的命令,B,W,E,類似的意思,但是是以空格區(qū)分移動(dòng)的??偠灾?,大寫(xiě)的移動(dòng)范圍要大。
    (3). gg 首行
             G 尾行,這兩個(gè)命令用的較多
    (4). n%  跳到n%的那行
    (5). ^/0  到行首,我有時(shí)特別喜歡0,非常清晰簡(jiǎn)明的命令
          $ 到行尾
    (6). - 非空白行首向上移動(dòng)
          + 非空白行首向下移動(dòng)
    (7). 行移動(dòng)

復(fù)制代碼 代碼如下:

nj                      //向下移動(dòng)n行
nk                      //向上移動(dòng)n行
nh                      //向左移動(dòng)n列
nl                      //向有移動(dòng)n列
n_                      //向下移動(dòng)n-1行,并光標(biāo)移動(dòng)到非空白行首
n-                      //向上移動(dòng)n行,并光標(biāo)移動(dòng)到非空白行首

(8).通過(guò)查找字符移動(dòng)
復(fù)制代碼 代碼如下:

fx/Fx                   //向后/前查找字符x,行內(nèi)跳轉(zhuǎn)很有用
tx/Tx                   //向后/前查找字符x
//fx/Fx和tx/Tx的區(qū)別是用f光標(biāo)停留在x上,用t光標(biāo)停留在x的前面一個(gè)上

;                       //執(zhí)行上次的fFtT
,                       //反方向執(zhí)行fFtT,這兩個(gè)有意思

2. 插入,替換,刪除
    (1). 學(xué)會(huì)a和i混用,不要只會(huì)用i進(jìn)入插入模式,有時(shí)a進(jìn)入插入模式后更方便,比如插入鍵盤右邊的字母符號(hào),用a的話,左右手配合起來(lái)效率更高。
    (2). 學(xué)會(huì)I和A,快速進(jìn)入行首和行尾插入模式,特定時(shí)刻用起來(lái)超爽!
這個(gè)很好理解,小寫(xiě)的i是光標(biāo)前,大小的I是整行前面,o/O類似,畫(huà)面很清晰。
    (3). 學(xué)會(huì)o和O混用,不要只會(huì)用o進(jìn)入下行編輯:
           (3.1). 進(jìn)入上行編輯,大寫(xiě)的O更快,而不是ko,雙手比單手要快!
           (3.2). 第一行前面想插入一行時(shí),O比其他任何操作更直接和快速(不要先回到開(kāi)頭<+插入模式>+回車)
    (4). r 快速替換字符,最大的好處是不許要切換模式,節(jié)省了大量時(shí)間,非常有用!(R,這個(gè)命令我用的少,有的時(shí)候用的特別混亂,就不說(shuō)了)
           s 刪除光標(biāo)后一個(gè)字符并進(jìn)入插入模式。該命令提供了r命令+進(jìn)入插入模式的快速實(shí)現(xiàn)方法。
    (5). c 這個(gè)命令很強(qiáng)大,歸類說(shuō)明一下
復(fù)制代碼 代碼如下:

cm                     //m指的是前面的移動(dòng)命令,類似的有dm,ym,g?m,gum,gUm
                       //改變內(nèi)容(m定義了改變范圍)并進(jìn)入插入模式,這里說(shuō)的改變就是刪除,舉例說(shuō)明:
cw                     //刪除光標(biāo)后一個(gè)單詞并進(jìn)入插入模式
cl                     //刪除光標(biāo)后一個(gè)字母并進(jìn)入插入模式

(6). cc和S 修改當(dāng)前行,意思是刪除該行所有字符內(nèi)容,但保留行首空格
           D和C 刪除該行光標(biāo)后所有內(nèi)容,無(wú)論字符還是空格,這個(gè)命令我用的很多:代碼審核格式化代碼時(shí),刪除空行的空格和行尾空格。
    (7). 學(xué)會(huì)結(jié)合t這個(gè)命令
復(fù)制代碼 代碼如下:

t                      //till的意思,這是我最喜歡的命令之一
dt"                    //行內(nèi)刪除直到","不刪除
ct)                    //行內(nèi)改變直到),)不刪除
... ...

(8). 學(xué)會(huì)x和X混用,分別是向前刪除和向后刪除字符
(9). :rd 刪除第r行

3.查找

復(fù)制代碼 代碼如下:

#                      //向下一個(gè)查找結(jié)果
*                      //向下一個(gè)查找結(jié)果
//在#/*之后按n/N可以重復(fù)/反向重復(fù)它們的命令

//下面這兩個(gè)命令在編程時(shí),很有用
gd                     //跳轉(zhuǎn)到光標(biāo)變量的定義位置(局部變量)
gD                     //跳轉(zhuǎn)到光標(biāo)變量的定義位置(全局變量)

4. 撤銷和恢復(fù)

復(fù)制代碼 代碼如下:

u                      //撤銷
ctrl + r               //恢復(fù)

5. 滾動(dòng)

復(fù)制代碼 代碼如下:

ctrl + e/y             //向下/上一行一行的滾動(dòng)
ctrl + d/u             //向下/上半頁(yè)半頁(yè)的滾動(dòng)
ctrl + f/b             //向下/上一頁(yè)一頁(yè)的滾動(dòng)

6. 可視模式(選擇塊)
    可視模式其實(shí)非常有用,它的選擇很靈活,而且視覺(jué)效果上看著和鼠標(biāo)選擇一樣,學(xué)習(xí)成本低,但是功能強(qiáng)大。
    (1). v 進(jìn)入可視模式
    (2). shift + v 也就是大寫(xiě)的V,可視模式的行選擇,整行整行的選擇,用于剛好整行或者大篇幅內(nèi)容的處理比較方便。
    (3). ctrl + v 可視模式的列選擇,比行選擇模式更加細(xì)化,可選擇連續(xù)的列進(jìn)入操作
           選擇塊模式需要和其他命令結(jié)合:

復(fù)制代碼 代碼如下:

V + G                  //選擇當(dāng)前行一直到文本結(jié)尾
V + G + d              //刪除當(dāng)前行一直到文本結(jié)尾
V + G + y              //復(fù)制當(dāng)前行一直到文本結(jié)尾
V + gg + d             //刪除當(dāng)前行一直到文本開(kāi)頭
V + gg + y             //復(fù)制當(dāng)前行一直到文本開(kāi)頭
ctrl+v + <移動(dòng)>+ d      //刪除選擇的列
ctrl+v + <移動(dòng)>+ y      //復(fù)制選擇的列

(4). gv 選中上次的選中區(qū)域
(5). 選中單詞,句子,段落:
復(fù)制代碼 代碼如下:

vaw                   //選中一個(gè)單詞(word)
vas                   //選中一個(gè)句子(sentence)
vap                   //選中一個(gè)段落(paragraph)
viw                   //選中一個(gè)單詞(word)
vis                   //選中一個(gè)句子(sentence)
vip                   //選中一個(gè)段落(paragraph)

(6). 選中括號(hào):
復(fù)制代碼 代碼如下:

vab                   //選擇()里面的內(nèi)容, 包括小括號(hào)
vaB                   //選擇{}里面的內(nèi)容,包括大括號(hào)

7.執(zhí)行shell命令
復(fù)制代碼 代碼如下:

//記住這兩種用法,你嘗到它們的甜頭的
:sh                   //打開(kāi)shell,可執(zhí)行shell命令,輸入exit退出shell返回到vim
:!cmd                 //直接執(zhí)行shell

比如上篇文章中提到的自動(dòng)化打包腳本,我修改了代碼后,需要執(zhí)行一下這個(gè)腳本編譯一下,但是我還不想完全退出vim,因?yàn)槲疫€需要繼續(xù)修改,就可以使用
復(fù)制代碼 代碼如下:

:sh                   //打開(kāi)一個(gè)終端
./build.sh            //執(zhí)行build.sh
exit                  //退出終端,繼續(xù)vim編輯
//或者
:!./build.sh          //在vim窗口直接執(zhí)行build.sh腳本,然后按Enter或其他命令繼續(xù) 

是不是很方便!

8. 專題一:快速選中、刪除、復(fù)制、修改引號(hào)或括號(hào)內(nèi)的內(nèi)容

復(fù)制代碼 代碼如下:

//以下操作一定要熟記,能大大提高你編輯文本的效率
ci'、ci”、ci(、ci[、ci{、ci<           //分別更改這些配對(duì)標(biāo)點(diǎn)符號(hào)中的文本內(nèi)容
di'、di”、di(或dib、di[、di{或diB、di<  //分別刪除這些配對(duì)標(biāo)點(diǎn)符號(hào)中的文本內(nèi)容
yi'、yi”、yi(、yi[、yi{、yi<           //分別復(fù)制這些配對(duì)標(biāo)點(diǎn)符號(hào)中的文本內(nèi)容
vi'、vi”、vi(、vi[、vi{、vi<           //分別選中這些配對(duì)標(biāo)點(diǎn)符號(hào)中的文本內(nèi)容

9. 專題二:替換
查找并替換操作使用的太頻繁了,下面針對(duì)這個(gè)專題從網(wǎng)上或書(shū)籍上收集了替換的幾個(gè)常用的強(qiáng)大用法:
復(fù)制代碼 代碼如下:

//語(yǔ)法
/**
 * 說(shuō)明
 * range表示行數(shù),如果是%表示所有行
 * s表示substitution,替換的意思
 * flag表示標(biāo)志,取值g,i,c等
 * g表示global,全部
 * i表示ignore,忽略大小寫(xiě)
 * c表示confirm,一個(gè)一個(gè)交互確認(rèn)替換
 * count表示從當(dāng)前行到接下來(lái)的第幾行,表示范圍
 */
:[range]s/{pattern}/{string}/[flag] [count]

(1). 全部替換
參數(shù)g實(shí)現(xiàn)全部替換,否則只替換一個(gè)
(1). 全部替換
參數(shù)g實(shí)現(xiàn)全部替換,否則只替換一個(gè)

:%s/{old-pattern}/new-text/g

(2). 行內(nèi)替換
%代表所有行,去掉%表示當(dāng)前行,只替換當(dāng)前行

:s/{old-pattern}/new-text/g

(3). 指定行范圍替換
對(duì)1到10行的結(jié)果替換

:1,10s/{old-pattern}/new-text/g

(4). 可視模式替換
如果你覺(jué)得數(shù)行數(shù)比較麻煩,可以使用可視模式,首先進(jìn)入可視模式,然后選擇行
列,最后輸入:自動(dòng)進(jìn)入:'<,'>
后面加上s/{old-pattern}/new-text/g,則只替換選擇區(qū)域的結(jié)果

:'<,'>s/{old-pattern}/new-text/g

(5). 整詞替換,而不是部分匹配的單詞
對(duì)單詞匹配模式外包一個(gè)<和>

:s/\<blog\>/weibo/g  //替換blog,但是cnblog,blogs則不會(huì)替換

(6). 多項(xiàng)替換
同時(shí)對(duì)多個(gè)匹配都替換成某一字符串

:%s/\(good\|nice\)/awesome/g  //good和nice都將被替換成awesome

(7). 確認(rèn)式替換
參數(shù)c讓替換進(jìn)行交互請(qǐng)求,需要你選擇y,n,a,l,q

復(fù)制代碼 代碼如下:

/**
 * 選擇說(shuō)明:
 * y 替換且跳轉(zhuǎn)到下一個(gè)匹配結(jié)果
 * n 不替換且跳轉(zhuǎn)到下一個(gè)匹配結(jié)果
 * a 替換所有并退出交互模式
 * l 替換當(dāng)前并退出交互模式
 * q 退出交互模式
 */
:s/{old-pattern}/new-text/gc

(8). 行首插入行號(hào)
把行首^替換成行號(hào),可自定義具體形式
:%s/^/\=line(".")/g

10. 專題三:大小寫(xiě)轉(zhuǎn)換
    講這個(gè),主要是覺(jué)得這個(gè)問(wèn)題挺有意思的。

復(fù)制代碼 代碼如下:

~                    //改變當(dāng)前字符并自動(dòng)切換到下一個(gè)字符,大寫(xiě)變小寫(xiě),小寫(xiě)變大寫(xiě),可以一直按
gum                   //轉(zhuǎn)化為小寫(xiě),m指移動(dòng)命令,如:
                      //guw   光標(biāo)后的一個(gè)單詞小寫(xiě)化
                      //guG   光標(biāo)所在行到最后行全部小寫(xiě)化
                      //gut=  光標(biāo)后直到=之間的字符小寫(xiě)化
                      //羅嗦一句,gu還可以與可視模式結(jié)合,小寫(xiě)化所選區(qū)域
gUm                   //轉(zhuǎn)化為大寫(xiě),用法同上

11. 專題四:錄制
    這個(gè)其實(shí)很簡(jiǎn)單,但也是很強(qiáng)大的功能,單獨(dú)柃出來(lái)說(shuō)一下。
復(fù)制代碼 代碼如下:

//為操作定義宏或者取別名
//這個(gè)命令的強(qiáng)大之處在于使重復(fù)復(fù)雜指令的簡(jiǎn)單化了
q                     //按下q開(kāi)始錄制
x                     //x是這個(gè)錄制的寄存器,x可以是其它字符
dd                    //刪除當(dāng)前行,這個(gè)操作可以自定義其他復(fù)雜的操作
q                     //錄制結(jié)束,現(xiàn)在dd這個(gè)操作被定義到了@x這個(gè)命令里了

12. 專題五:數(shù)字增減
    這個(gè)小技巧還挺有用的,比如說(shuō)定義了一系列static final變量,而且時(shí)不時(shí)要中間插入一些新的變量,這些值一般都是遞增的,這時(shí)候這個(gè)技巧絕對(duì)比數(shù)字替換要方便。

復(fù)制代碼 代碼如下:

//Normal模式下執(zhí)行
Ctrl + a           //自增1
Ctrl + x           //自減1

13. 小結(jié)
    工善其事,先利其器。
    先想到這些,必然有很多遺漏,后面想到了什么,我會(huì)隨時(shí)添加更新進(jìn)來(lái)。

相關(guān)文章

  • 詳解Android中motion_toast的使用

    詳解Android中motion_toast的使用

    我們通常會(huì)用 toast(也叫吐司)來(lái)顯示提示信息,例如網(wǎng)絡(luò)請(qǐng)求錯(cuò)誤,校驗(yàn)錯(cuò)誤等等。本文為大家介紹一個(gè)非常有趣的toast組件 —— motion_toast,感興趣的可以了解一下
    2022-06-06
  • Android實(shí)現(xiàn)3D標(biāo)簽云簡(jiǎn)單效果

    Android實(shí)現(xiàn)3D標(biāo)簽云簡(jiǎn)單效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)3D標(biāo)簽云簡(jiǎn)單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Android仿微信雷達(dá)掃描效果的實(shí)現(xiàn)方法

    Android仿微信雷達(dá)掃描效果的實(shí)現(xiàn)方法

    最近看了一個(gè)視頻講了一種微信雷達(dá)掃描的實(shí)現(xiàn)方案,借鑒了一下,自己也寫(xiě)一個(gè)玩玩,所以下面這篇文章主要給大家介紹了利用Android模仿微信雷達(dá)掃描效果的實(shí)現(xiàn)方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-06-06
  • Android中通過(guò)樣式來(lái)去除app的頭及界面全屏(備忘)的實(shí)現(xiàn)方法

    Android中通過(guò)樣式來(lái)去除app的頭及界面全屏(備忘)的實(shí)現(xiàn)方法

    這篇文章主要介紹了Android中通過(guò)樣式來(lái)去除app的頭及界面全屏(備忘)的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Android 常用log 關(guān)鍵字

    Android 常用log 關(guān)鍵字

    本文給大家分享android常用的log關(guān)鍵字,感興趣的朋友一起看看吧
    2017-09-09
  • Kotlin設(shè)計(jì)模式之委托模式使用方法詳解

    Kotlin設(shè)計(jì)模式之委托模式使用方法詳解

    Kotlin提供了兩個(gè)本機(jī)功能來(lái)實(shí)現(xiàn)委托模式,第一個(gè)是接口委托(例如策略模式),另一種是屬性委托,它專注于類成員/屬性(例如延遲加載、observable等),它們共同提供了一組豐富而簡(jiǎn)潔的功能,通過(guò)本博客,您將了解在什么情況下使用此模式
    2023-09-09
  • Android開(kāi)發(fā)之Sqliteopenhelper用法實(shí)例分析

    Android開(kāi)發(fā)之Sqliteopenhelper用法實(shí)例分析

    這篇文章主要介紹了Android開(kāi)發(fā)之Sqliteopenhelper用法,實(shí)例分析了SQLiteOpenHelper類操作數(shù)據(jù)庫(kù)的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • Android 完全退出的實(shí)例詳解

    Android 完全退出的實(shí)例詳解

    這篇文章主要介紹了Android 完全退出的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • 基于android實(shí)現(xiàn)五子棋開(kāi)發(fā)

    基于android實(shí)現(xiàn)五子棋開(kāi)發(fā)

    這篇文章主要為大家詳細(xì)介紹了基于android實(shí)現(xiàn)五子棋開(kāi)發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Android實(shí)現(xiàn)院系專業(yè)三級(jí)聯(lián)動(dòng)

    Android實(shí)現(xiàn)院系專業(yè)三級(jí)聯(lián)動(dòng)

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)院系專業(yè)三級(jí)聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03

最新評(píng)論