歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

VIM快捷鍵-匯總&自定義Key

VIM快捷鍵-匯總&自定義Key   為了避免:號輸入命令產生的歧義, 以下出現的提示後用=替代,  幫助 :help 快捷鍵幫助 :help c_CTRL-A  在c模式下快捷鍵的用途,前綴i,v,c分別表示插入,可視,命令模式。   命令計數:數字+命令,重復N次操作,例如: 3k 向上移動3行, 3x  3a!插入三個歎號    tags移動:JKHL  快速移動,對比terminal快捷鍵: 移動到上一個單詞首 b  移動到下一個單詞首 w,移動3個單詞 3w  <----b    w---->   w/b是在單詞首部移動,在單詞尾部移動為ge/e <----ge    e---->   如果是大寫的B,W,gE,E,則只將“空格”作為單詞分隔符,例如'gloal.member'被當作一個完整的詞。   ^ 光標移動到行開頭  $ 光標移動到行結尾    fx  光標移動到下一個x處,3fx移動到第三個x處  Fx 光標移動到前面的x處  tx,Tx類似,移動到x之前    ma 標記當前行, 標簽可以是a-z任意字符。 `a 跳轉到a標簽。   標簽跳轉 C-]  跳轉回 C-O 或 C-T 或``      Ctrl + 左/右鍵 也可以跳轉/返回  跳轉到匹配的括號 %    移動到文件首  gg  有趣的命令  9999k 作用也是移動到文件首  移動到文件尾  G  跳轉到第33行  33G      或者輸入 :33 也可以跳轉 %液動, 例如移動到文檔1/3處 ,直接輸入33%  zz 將當前光標所在的行移到屏幕中間 ,ps大寫的ZZ是保存&退出文檔。 zt 當前光標所在的行移到屏幕頂,助記t=top 。 zb 當前光標所在的行移到屏幕底,助記b=bottom 。 H, M, L分別為移動到文檔的head, middle, last的位置。  C-F , C-B 向前向後翻頁  Linux 終端( Terminal)中常用的快捷鍵 ctrl+f 向前移動一個字符 ctrl+b 向後移動一個字符 alt+f 向前移動一個單詞 alt+b 向後移動一個單詞 ctrl+a 移動到當前行首 ctrl+e 移動到當前行尾   tags 編輯 c,d和x刪除的字符仍然存在寄存器中,用p可以粘貼。 c = 替換(change),刪除文本並進入插入模式; d =刪除(delete),一般組合使用; y =復制(yank), p = 粘貼(paste); x = 刪除字符;   刪除,剪切,復制一行= cc,dd,yy 刪除,剪切,復制多行= 3cc,4dd,5yy 刪除,剪切,復制到行尾= c$,d$,y$     或者大寫C, D, Y, 也是到行尾.  刪除,剪切,復制到行開頭= c^,d^,y^  或者c0,d0,y0   從光標開始, 刪除,剪切,復制到單詞尾=cw,dw,yw 刪除,剪切,復制整個單詞= caw,daw,yaw  注意區別yw和yaw, 例如光標在"test" 的e位置, yaw復制整個單詞, yw只復制est。   刪除換行符(兩行合並為一行):    J 撤銷上次操作(還原):    u 反撤銷(重做):    C-R 撤銷對一行的所有操作(還原一行):  U,第二次按U會撤銷上一次U的操作。 只用u和C-R即可回到任何一個操作狀態。 可視模式下的U/u是大小寫轉換。   o或O在當前行上或下插入文本 光標前插入 = i 光標後插入 = a 行首插入 = I 行尾插入 = A 在當前行的下面另起一行,並進入插入狀態 o 在當前行的前面另起一行,並進入插入狀態 O CTRL-T is working with tags stack CTRL-O is working with jumplist Tag stack and jumplist are different list in vim, but they might have same items when you jumping through tags (eg. using CTRL-])   tags 外部程序粘貼/剪切/復制 GVIM的“+號寄存器”可以與外部程序復制/粘貼: 復制 "+y 粘貼 "+p 剪切 "+x 注: 以上快捷鍵在命令可視模式/模式有效,先按雙引號進入寄存器模式,再按加號,然後按y/p/x      如果在插入模式, 先按ctrl+R進入寄存器模式(會出現"號), 再按對應的寄存器編號,系統共享寄存器編號是+號. 在VIM正常模式下,ctrl+r 是重做。   tags 多文件buff(緩沖區)操作 :edit filename 編輯文件; :e main.c 同上; :ls 列出所有buffer; :b2 關閉buff=2的文件; :bn 刪除文件緩沖(關閉文件)。 zz,ZZ與q!的用法:     zz 將編輯行置於屏幕中間。     ZZ 保存退出。     :q! 不保存退出     :wq 保存退出   tags 搜索和替換 :set ignorecase  :set noignorecase    /include 正向搜索,n下一個,N上一個 ?include 反向搜索 設置非循環搜索  :set nowrapscan /\<the\> 全詞匹配搜索單詞"the",助記開頭\<,結尾\> #向後搜索匹配單詞,*向前搜索匹配單詞, gd類似*號的功能.   tags 正則搜索 /^the     搜索the開頭的行(針對行,而非單詞) /here$     搜索here結尾的行 點號匹配任何單字符,如果要搜索的內容本身包含點號,則用\.代替,比如: /the.    搜索"the"匹配的內容 /the\.    搜索"the."匹配的內容    tags 可視模式 shift + v : 行選擇模式 大寫V: 同上 所選擇區域轉換為大寫 U,轉換為小寫u x和d在可視模式都是刪除 >和<在可視模式為右移,左移   tags 常用組合鍵 刪除光標到行結尾 /開頭= d$      d^ 復制光標到行結尾 /開頭= y$      y^ 復制單詞= yaw 剪切單詞= daw   tags 代碼折疊 可以zf進行折疊, 用zo打開折疊,也可以方向鍵向右打開折疊,zc 關閉折疊.   tags 自定義快捷鍵 inoremap ii <ESC>      進入insert模式 雙擊進入insert模式; insert模式下, 左鍵進入command模式; 拖拽可視模式; map <C-c> "+y      "加號寄存器-復制 map <C-v> "+p      "加號寄存器-復制 map <C-x> "+x      "加號寄存器-復制 map <C-s> :w<cr>     " 保存   cscope快捷鍵,ctrl + \ + : :cs find s xxx   :cs find g xxx  查找函數定義,類似tags的ctrl+] :cs find t xxx  全局查找字符串 :cs find c xxx  類似egrep :cs find c xxx  查找函數所有調用處 注, cscope的搜索不能處於visual選擇模式  
Copyright © Linux教程網 All Rights Reserved