android開發之VIM快速鍵使用指南

來源:互聯網
上載者:User

android的程式碼封裝括JAVA,C,C++和各種指令碼,算起來有十幾萬個檔案,閱讀,編輯,使用這些代碼,需要尋找一款合適的軟體才能事倍功半。運行在WINE模式下的source insight工具不僅反應很慢,而且有很多符號在閱讀時根本就不會跳轉,令人非常困惑。因此我們大部分人只能入鄉隨俗,要麼使用eclipse,要麼使用VIM或者EMACS.VIM和EMACS作為linux下的兩大編輯神器,對於從WIN轉過來的朋友來說,還是比較富有挑戰性的,關健在於習慣。他們都能通過命令列和快速鍵完成所有工作,而且可以通過外掛程式無限擴充,兩者的區別在於,一個更接近DOS,所有操作快捷卻對滑鼠支援不是很好。一個和WIN比較接近,對滑鼠支援比較好。但聽說這兩大陣營鬥的正醋,宛如當年基督教與新教的鬥爭。也許需要兩個都試試才能決定自己加入哪個陣營。在android的develop目錄的IDE目錄下,可以找到android對一些流行編輯器提供的設定檔。
作為一個典型的WIN使用者,其實我們是無法理解這兩大神器的。從WIN角度來說,一個好的軟體應該需要達到不使用說明書就能操作的地步。但我們的linux同行顯然不這麼認為,感覺似乎速度,效率,命令的支援才是一個軟體的魅力的源泉。所以我們只能入鄉隨俗,學習一個軟體,先讀他的說明書,背會他的快速鍵和命令列。

確切的說,VIM有三種狀態,快速鍵狀態,命令列狀態,編輯狀態。通過快速鍵ESC切換。但大部分書都會把命令列和快速鍵歸入一種狀態,所以常常說是兩種狀態,這也不錯,快速鍵和命令有時確實不太容易分清,一般來說,快速鍵不需要斷行符號確認,就會自動執行。

VIM的學習應該分幾步,第一步是命令,快捷操作掌握。第二步是使用各種插什,第三步是編寫自己工作需要的環境指令檔.vimrc

下面列出我剛開始學習時總結的快速鍵:

[plain] 
跳轉,區分大小寫,加shift的是大寫: 
1,上下左右箭頭 hkjl上下左右移一個字元 
  退格,左移一字元 
  空格,右移一個字元 
2.Ctrl-f往下滾動一屏 
  Ctrl-b往上滾動一屏 
3.Ctrl-U往上滾動半屏 
  Ctrl-D往下滾動半屏 
4.Shift+h頂部第一行字元起始,也即大寫H 
  Shift+m中間 
  shift+l底部最後一行起始 
5.^,0當前行起始 
  $,當前行尾 
6.~游標上一行首 
  Enter下一行首 
7.[n]G。指定行,500G,到500行 
  gg 跳到文章開頭 
  shift+g 跳到文章末尾 
8.Ctrl-E內容整體上移一行 
  Ctrl-Y內容整體下移一行 
9.(){} 完整句子句首,完整句子句尾,完整段落首位置,完整段落尾位置 
插入,記下a,i,使用跳轉也行: 
a,游標之後插資料 
A,游標行尾插資料(即shift+a) 
i,游標之前插資料 
I, 游標行首插資料(即shift+I) 
o.所在行之後 
O,所在行之前(即shift+o) 
 
修改替換,記了C或者R,其他也能使用跳轉 
shift+c 替換從游標開始的字元 
cw 替換單字 
[n]cc 替換行,n行,n>=1 
[n]s 
shift+s 
[plain] 

r替換一個 
R替換多個 
~轉換大小寫 
撤消 www.2cto.com
u撤消先前執行的 
U撤消全部 
刪除,記個x,不停的按就行了 
[n]x刪除當前單個字元 
[n]X刪除前一個字元 
dw 
[n]dd 刪除N行 
D刪除行尾 
複製刪除粘貼 
yy,Y複製 
p游標行下 
shift+P游標行上面 
[plain] 

EX命令,上面的大都是快速鍵,下面的大都是命令。 
多行複製: 
:line#1, line#2 co line#3 從某行#1開始到某行#2結束內容複寫到某行#3之後 
.當前行,$檔案結尾 
移動: 
:line#1, line#2 m line#3 從某行#1開始到某行#2結束內容複寫到某行#3之後 
刪除: 
:line#1, line#2 d 
尋找: 
:str 正向尋找 
:?str 反向尋找 
n 或者 /從當前位置開始檢索下一個,相當於F3 
shift+n 或者 ?從當前位置開始反向檢索下一個,相當於shift+F3 
:/pat/+n 游標移到pat所在行之後第n行 
:/pat?+n 游標移到pat所在行之前第n行 
模式檢索: 
:/^search 只檢索行首位置 
:/serch$ 只檢索行尾 
:/\<search\>  
支援萬用字元.*,[a-z],[dm] 
替換字串: 
:[g]/search-staring/s//replace-string/[g][c] 
如:g/BankA/s//BankB/g 
如果需要手動確認,加個C: 
g/BankA/s//BankB/gc 
編輯多個檔案: 
vim file1 file2 
合并檔案: 
:line# r filename 把讀取的檔案插入當前游標位置 
刪除特殊字元: 
1,$ s/^M// 
VIM裡運行shell命令: 
:!command 
!!command 
:sh 
如:!adb devices 
!!adb devices 
 
儲存檔案退出 
:w  寫入不退出 
:w! 強制寫入 
:wq  寫入退出 
:wq! 寫入強制退出 
ZZ 寫入退出,使用shift+兩次ZZ 
:q  退出 
:q! 強制退出 


摘自 zungyiu
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.