歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> VIM快捷鍵-匯總&自定義Key

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

日期:2017/3/1 15:37:00   编辑:關於Linux
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