最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中vim編輯器進階的使用介紹

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

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

復制代碼 代碼如下:

nj                      //向下移動n行
nk                      //向上移動n行
nh                      //向左移動n列
nl                      //向有移動n列
n_                      //向下移動n-1行,并光標移動到非空白行首
n-                      //向上移動n行,并光標移動到非空白行首

(8).通過查找字符移動
復制代碼 代碼如下:

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

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

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

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

(6). cc和S 修改當前行,意思是刪除該行所有字符內容,但保留行首空格
           D和C 刪除該行光標后所有內容,無論字符還是空格,這個命令我用的很多:代碼審核格式化代碼時,刪除空行的空格和行尾空格。
    (7). 學會結合t這個命令
復制代碼 代碼如下:

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

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

3.查找

復制代碼 代碼如下:

#                      //向下一個查找結果
*                      //向下一個查找結果
//在#/*之后按n/N可以重復/反向重復它們的命令

//下面這兩個命令在編程時,很有用
gd                     //跳轉到光標變量的定義位置(局部變量)
gD                     //跳轉到光標變量的定義位置(全局變量)

4. 撤銷和恢復

復制代碼 代碼如下:

u                      //撤銷
ctrl + r               //恢復

5. 滾動

復制代碼 代碼如下:

ctrl + e/y             //向下/上一行一行的滾動
ctrl + d/u             //向下/上半頁半頁的滾動
ctrl + f/b             //向下/上一頁一頁的滾動

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

復制代碼 代碼如下:

V + G                  //選擇當前行一直到文本結尾
V + G + d              //刪除當前行一直到文本結尾
V + G + y              //復制當前行一直到文本結尾
V + gg + d             //刪除當前行一直到文本開頭
V + gg + y             //復制當前行一直到文本開頭
ctrl+v + <移動>+ d      //刪除選擇的列
ctrl+v + <移動>+ y      //復制選擇的列

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

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

(6). 選中括號:
復制代碼 代碼如下:

vab                   //選擇()里面的內容, 包括小括號
vaB                   //選擇{}里面的內容,包括大括號

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

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

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

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

是不是很方便!

8. 專題一:快速選中、刪除、復制、修改引號或括號內的內容

復制代碼 代碼如下:

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

9. 專題二:替換
查找并替換操作使用的太頻繁了,下面針對這個專題從網上或書籍上收集了替換的幾個常用的強大用法:
復制代碼 代碼如下:

//語法
/**
 * 說明
 * range表示行數,如果是%表示所有行
 * s表示substitution,替換的意思
 * flag表示標志,取值g,i,c等
 * g表示global,全部
 * i表示ignore,忽略大小寫
 * c表示confirm,一個一個交互確認替換
 * count表示從當前行到接下來的第幾行,表示范圍
 */
:[range]s/{pattern}/{string}/[flag] [count]

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

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

(2). 行內替換
%代表所有行,去掉%表示當前行,只替換當前行

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

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

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

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

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

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

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

(6). 多項替換
同時對多個匹配都替換成某一字符串

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

(7). 確認式替換
參數c讓替換進行交互請求,需要你選擇y,n,a,l,q

復制代碼 代碼如下:

/**
 * 選擇說明:
 * y 替換且跳轉到下一個匹配結果
 * n 不替換且跳轉到下一個匹配結果
 * a 替換所有并退出交互模式
 * l 替換當前并退出交互模式
 * q 退出交互模式
 */
:s/{old-pattern}/new-text/gc

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

10. 專題三:大小寫轉換
    講這個,主要是覺得這個問題挺有意思的。

復制代碼 代碼如下:

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

11. 專題四:錄制
    這個其實很簡單,但也是很強大的功能,單獨柃出來說一下。
復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

13. 小結
    工善其事,先利其器。
    先想到這些,必然有很多遺漏,后面想到了什么,我會隨時添加更新進來。

相關文章

  • Android中模仿抖音加載框之兩顆小球轉動效果

    Android中模仿抖音加載框之兩顆小球轉動效果

    這篇文章主要介紹了Android仿抖音加載框之兩顆小球轉動控件,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • Android帶依賴樹的aar是如何生成的(推薦)

    Android帶依賴樹的aar是如何生成的(推薦)

    這篇文章主要介紹了Android打帶依賴樹的aar的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Android中Canvas的常用方法總結

    Android中Canvas的常用方法總結

    在Android自定義View的時候,我們經常需要繪制一些自己想要的效果。這里就需要使用Canvas對象。下面這篇文章將Canvas對象常用方法做個筆記,方便自己和大家以后使用的時候查閱,下面來一起看看吧。
    2016-09-09
  • 4種Android獲取View寬高的方式

    4種Android獲取View寬高的方式

    這篇文章主要介紹了4種Android獲取View寬高的方式
    2016-01-01
  • Android自定義簡單的頂部標題欄

    Android自定義簡單的頂部標題欄

    這篇文章主要為大家詳細介紹了Android自定義簡單的頂部標題欄,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Android開發(fā)中Activity屬性設置小結

    Android開發(fā)中Activity屬性設置小結

    Android應用開發(fā)中會經常遇到Activity組件的使用,下面就來講解下Activity組件。Activity的生命周期、通信方式和IntentFilter等內容,并提供了一些日常開發(fā)中經常用到的關于Activity的技巧和方法。通過本文,你可以進一步了接Android中Activity的運作方式。
    2015-05-05
  • Android實現(xiàn)自動填充短信驗證碼

    Android實現(xiàn)自動填充短信驗證碼

    這篇文章主要為大家詳細介紹了Android實現(xiàn)自動填充短信驗證碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 【Android 基礎】詳解Animation 動畫介紹和實現(xiàn)

    【Android 基礎】詳解Animation 動畫介紹和實現(xiàn)

    這篇文章主要介紹了【Android 基礎】詳解Animation 動畫介紹和實現(xiàn) ,對于想要學習android開發(fā)的同學具有一定的參考價值,有需要的可以了解一下。
    2016-12-12
  • Android開發(fā)之全屏與非全屏的切換設置方法小結

    Android開發(fā)之全屏與非全屏的切換設置方法小結

    這篇文章主要介紹了Android開發(fā)之全屏與非全屏的切換設置方法,結合實例形式分析了Android全屏切換靜態(tài)與動態(tài)兩種實現(xiàn)方法,需要的朋友可以參考下
    2017-08-08
  • 漂亮的Android音樂歌詞控件 仿網易云音樂滑動效果

    漂亮的Android音樂歌詞控件 仿網易云音樂滑動效果

    這篇文章主要為大家詳細介紹了漂亮的Android音樂歌詞控件,仿網易云音樂滑動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

化隆| 台南市| 富川| 屏东市| 文水县| 南昌县| 德惠市| 集贤县| 鄱阳县| 磐安县| 平安县| 临沭县| 二手房| 确山县| 南康市| 吉木乃县| 定州市| 三穗县| 台东市| 泊头市| 台南县| 大渡口区| 南靖县| 盐津县| 车险| 瑞昌市| 襄垣县| 尼木县| 桐乡市| 封开县| 岳西县| 贡觉县| 昆山市| 谷城县| 巫山县| 齐河县| 邹城市| 海口市| 宾阳县| 孝感市| 嘉祥县|