IdeaVim插件使用技巧

在 IDEA Intellij小技巧和插件 一文中簡單介紹了一下IdeaVim插件昼弟。在這里詳細總結(jié)一下這個插件在日常編程中的一些常用小技巧野崇。供有興趣使用這個插件,但對Vim還不十分熟悉的朋 友參考糕殉。當(dāng)然基本的hjkl移動光標和幾種常見模式等等基本概念就略過不提了昌阿。 為了確保只包含常用操作,這里提到的技巧都沒有從現(xiàn)成文檔里抄言疗,而是憑記憶列出(不常用自然就不記得了)吆鹤。估計會有所遺漏,慢慢再補充洲守。 1. 切換Vim模擬器狀態(tài) 這個插件允許設(shè)置一個快捷鍵一鍵開啟或關(guān)閉疑务,在切換模式時會同時自動切換keymap,十分方便梗醇。默認鍵位是Ctrl+Alt+V知允,但這個鍵位覆蓋了很常用的“抽取局部變量”功能,建議重設(shè)叙谨,在setting->keymap中查找VIM Emulator即可温鸽。 由 于開啟和關(guān)閉狀態(tài)分別使用兩套keymap,因此兩套都需要設(shè)定手负〉拥妫可以把兩套keymap下的都設(shè)為一樣的鍵,也就是用同一個鍵切換竟终。但個人建議設(shè)為不同 的鍵蝠猬,這樣能清楚知道當(dāng)前處于那種模式中。并且统捶,如果在開啟Vim的插入模式下關(guān)閉Vim模擬器榆芦,下次進入時仍然是插入模式柄粹,比較混亂(因為你關(guān)閉模擬器 就是為了使用默認keymap輸入大段代碼,重新開啟Vim模擬器就是為了使用普通模式下的命令)匆绣。因此建議把Vim keymap中的Exit Insert Mode設(shè)為與另一個keymap的Vim Emulator相同的鍵(也就是進入Vim模擬器的快捷鍵)驻右。例如,我使用的設(shè)定是: Default keymap -> Vim Emulator : Ctrl+; (用Ctrl+分號開啟Vim模擬器) Vim keymap -> Vim Emulator : Ctrl+, (用Ctrl+逗號關(guān)閉Vim模擬器) Vim keymap -> Vim Emulator : Ctrl+; (用Ctrl+分號退出插入模式崎淳,進入普通模式) 這樣堪夭,在任何時候只要連按兩下ctrl+分號,就能保證必定在Vim模擬器的普通模式中拣凹。 2. ScrollOff 參數(shù) 啟 動Intellij后在Vim模擬器下輸入命令 :set so=5 可以令屏幕滾動時在光標上下方保留5行預(yù)覽代碼(也就是光標會在第5行觸發(fā)向上滾動森爽,或者在倒數(shù)第5行觸發(fā)向下滾動)。在代碼窗口比較狹小時(例如單步跟 蹤調(diào)試時)非常方便咐鹤∞置兀可惜僅在Vim模擬器開啟時有效圣絮。 3. 行號定位 普 通模式下輸入 行號G 或 :行號<回車> 都能快速定位到某一行祈惶。區(qū)別在于前者在輸入行號時屏幕上沒有任何提示,后者則在Vim命令輸入框中可以看到輸入過程扮匠。(題外話:Sublime Text 2也是用 :行號 來快速定位到某行捧请,應(yīng)該是沿用了Vim的習(xí)慣) 4. 進入修改 進入插入模式的方式有很多,直接選用合適的方式進入插入模式比進入后再用箭頭鍵移動光標要好棒搜。常用的有: o - 在當(dāng)前行下方插入新行并自動縮進 O - 在當(dāng)前行上方插入新行并自動縮進 (普通模式下的大寫字母命令用 shift+字母鍵 輸入疹蛉,下同) i - 在當(dāng)前字符左方開始插入字符 a - 在當(dāng)前字符右方開始插入字符 I - 光標移動到行首并進入插入模式 A - 光標移動到行尾并進入插入模式 s - 刪除光標所在字符并進入插入模式 S - 刪除光標所在行并進入插入模式 c< 范圍> - 刪除光標所在位置周圍某個范圍的文本并進入插入模式。關(guān)于范圍請看第5點力麸,常用的組合有:caw - 刪除一個單詞包括它后面的空格并開始插入可款; ciw - 刪除一個單詞并開始插入; ci" - 刪除一個字符串內(nèi)部文本并開始插入克蚂; c$ - 從光標位置刪除到行尾并開始插入闺鲸; ct字符 - 從光標位置刪除本行某個字符之前(保留該字符)并開始插入。等等埃叭。 C - 刪除光標位置到行尾的內(nèi)容并進入插入模式 (相當(dāng)于c$) r - 修改光標所在字符摸恍,然后返回普通模式 R - 進入覆蓋模式 **5. 范圍操作 *某些普通模式的動作命令后面可以追加一些表示范圍的指令,表示該動作將作用在整個范圍上赤屋。這類命令常用的有: d<范圍> - 刪除一定范圍內(nèi)的文本 c<范圍> - 刪除一定范圍內(nèi)的文本并進入插入模式 y<范圍> - 將范圍內(nèi)的文本放入0號和"號注冊欄 v<范圍> - 選擇范圍內(nèi)的文本 =<范圍> - 自動縮進范圍內(nèi)的文本 gU<范圍> - 將范圍內(nèi)的字符轉(zhuǎn)換為大寫 gu<范圍> - 將范圍內(nèi)的字符轉(zhuǎn)換為小寫 ><范圍> - 將范圍中的內(nèi)容縮進一格 <<范圍> - 將范圍中的內(nèi)容取消縮進一格 常用的范圍指令有: 空格 - 光標所在位置字符立镶。(例如 gU空格 - 將光標位置字符轉(zhuǎn)為大寫) 重復(fù)某些動作命令 - 光標所在行。 (例如dd刪除一行类早,yy復(fù)制一行媚媒,cc刪除一行文本并開始插入,>> 當(dāng)前行縮進一格涩僻,==自動縮進當(dāng)前行) $ - 從光標位置到行尾 ^ - 從光標位置到行首欣范,不包含縮進空白 0 - 從光標位置到行首变泄,包含縮進空白 gg - 從光標位置到文件開頭 G - 從光標位置到文件結(jié)尾 % - 從光標位置到另一邊匹配的括號 f<字符> - 從光標位置到光標右邊某個字符首次出現(xiàn)的位置,包括該字符 F<字符> - 從光標位置到光標左邊某個字符首次出現(xiàn)的位置恼琼,包括該字符 t<字符> - 從光標位置到光標右邊某個字符首次出現(xiàn)的位置妨蛹,包括該字符 F<字符> - 從光標位置到光標左邊某個字符首次出現(xiàn)的位置,包括該字符 /正則表達式 - 從光標位置到下一個匹配正則表達式的位置(跨行) ?正則表達式 - 從光標位置到上一個匹配正則表達式的位置(跨行) aw - 一個單詞加一個空格 (a可理解為“一個”晴竞,下同) iw - 一個單詞 (i可理解為in蛙卤,下同) a" - 一個字符串包括雙引號 i" - 一個字符串內(nèi)部文本 a< - 一組< >包含的文本,包括< >號本身 同理類推: i<, a[, i[, a(, i( 注意:真正vim中的it范圍(一對xml標簽內(nèi)部)在ideaVim中不生效噩死。 用/或?命令查找時颤难,正則表達式默認大小寫敏感,如果需要不敏感已维,可以在正則表達式開始處加上\c標志行嗤。例如 /\cabc 可以匹配到 ABC。下面提到的:s命令同樣適用垛耳。 6. 選擇文本 在Vim中栅屏,選擇文本需要進入“可視模式”(Visual Mode),這個名稱比較奇怪堂鲜,它的來由據(jù)說是因為在Vim的前身Vi中栈雳,選擇區(qū)域是不可見的。在Vim中選擇區(qū)域會高亮顯示缔莲,因此稱為“可視模式”哥纫。 v - 進入字符選擇模式, V - 進入行選擇模式痴奏, Ctrl+v - 進入塊選擇模式蛀骇。 進入相應(yīng)模式后移動光標即可選中文本。過程中可按o鍵令光標在選區(qū)兩端切換读拆。 在塊選擇模式中選中多行擅憔,然后按I或A后輸入文本,再退出插入模式建椰,所輸入的文本將自動加入到每一行的開頭或結(jié)尾雕欺。 7. 復(fù)制粘貼 在 Vim模式下,復(fù)制粘貼并不直接使用系統(tǒng)的剪貼板棉姐,而是使用Vim提供的多個“寄存器”屠列,每個寄存器都以一個字符來表示。關(guān)于寄存器的詳細說明可以看這里 http://blah.blogsome.com/2006/04/27/vim_tut_register/ (隨便google的一個網(wǎng)頁)伞矩,這里簡單列一些常用的操作技巧 (注意笛洛,vim使用雙引號"來作為選擇寄存器的命令,因此下文中的雙引號均指在普通模式下按雙引號鍵): a)用y命令將文本存入寄存器后乃坤,如果想在別處替換原有內(nèi)容苛让,可以先用v命令選中原有內(nèi)容沟蔑,然后用p命令粘貼。但第一次粘貼后狱杰,默認的寄存器 "將被替換為剛剛刪除的內(nèi)容瘦材。如果要再次粘貼之前復(fù)制的內(nèi)容,需要使用 "0p 命令組合來復(fù)制仿畸。也可以進入插入模式后用 Ctrl+r 0 來復(fù)制食棕,例如 ciw<Ctrl+r>0 命令組合將用粘貼內(nèi)容替換光標處的一個單詞,并停留在插入模式错沽。 b)在Windows下簿晓,寄存器 + 和 * 都代表系統(tǒng)剪貼板,可以互換使用千埃,選一個順手的即可憔儿。例如 "+yy 命令組合可將當(dāng)前行復(fù)制到系統(tǒng)剪貼板。 ci"<Ctrl+r> 命令組合則將系統(tǒng)剪貼板的內(nèi)容替換字符串的內(nèi)部文本放可。 c) 寄存器1至9記錄之前九次的刪除大段文本谒臼,每次超過一行的刪除操作都會導(dǎo)致這9個寄存器的內(nèi)容發(fā)生位移,最近刪除的文本會存入寄存器1吴侦。但只有刪除超過1 行時才會影響寄存器1至9屋休,行內(nèi)的刪除內(nèi)容則會被存入寄存器-(減號)坞古。如果用q命令錄制宏時不涉及跨行刪除备韧,可以在宏中直接使用這9個寄存器來暫存文 本。(在Vim中痪枫,復(fù)制內(nèi)容與錄制宏共享同一套寄存器织堂,因此我習(xí)慣把字母寄存器留給宏使用) d) 普通模式下小寫p把寄存器內(nèi)容復(fù)制到當(dāng)前位置之后,大寫P把寄存器內(nèi)容復(fù)制到當(dāng)前位置之前奶陈。 e) 使用 :regs 命令可以列出當(dāng)前所有寄存器的內(nèi)容 8. 一些插入模式下的常用快捷鍵 Ctrl+h - 刪除光標左邊字符 Ctrl+w - 刪除光標左邊的單詞 Ctrl+y - 復(fù)制上方的一個字符 Ctrl+e - 復(fù)制下方的一個字符 Ctrl+r 0 - 插入前一次用y命令寄存的內(nèi)容 Ctrl+r * - 插入系統(tǒng)剪貼板的內(nèi)容 Ctrl+r <寄存器名稱> - 插入指定寄存器的內(nèi)容 Ctrl+a - 插入前一次插入模式所鍵入的內(nèi)容 Ctrl+o - 執(zhí)行一個普通模式下的命令然后返回插入模式易阳。 例如 Ctrl+o A 相當(dāng)于按 End鍵, Ctrl+o I相當(dāng)于按Home鍵 **9. 退出插入模式 **退出插入模式可以用 ESC 鍵吃粒,但鍵位太遠潦俺。其實也可以用 Ctrl+[ 鍵退出插入模式 。當(dāng)然也可以用第1點自定義的Ctrl+;快捷鍵徐勃,但這不是標準vim按鍵事示,會養(yǎng)成不良習(xí)慣,不建議使用僻肖。 10. 重復(fù)操作 普通模式下按. (小數(shù)點)可重復(fù)上一次的修改操作 & - 重復(fù)上一次的:s替換命令 @@ - 重復(fù)上一次執(zhí)行的宏 11. 跳轉(zhuǎn) Ctrl+] 跳轉(zhuǎn)到當(dāng)前標識符的定義位置 (相當(dāng)于在當(dāng)前光標位置的單詞上按住ctrl用鼠標點擊) Ctrl+o 回退一步 (go back) Ctrl+i 前進一步 (go forward) . 跳轉(zhuǎn)到之前修改位置 `` 在前一次跳轉(zhuǎn)位置與當(dāng)前位置間切換 行號G 或 :行號<回車> 跳轉(zhuǎn)到某一行 gg 跳轉(zhuǎn)到文件開頭 G 跳轉(zhuǎn)到文件末尾 H 跳轉(zhuǎn)到屏幕頂端(如果設(shè)置了set so=n肖爵,則跳轉(zhuǎn)到第n行) L 跳轉(zhuǎn)到屏幕底端(如果設(shè)置了set so=n,則跳轉(zhuǎn)到倒數(shù)第n行) M 跳轉(zhuǎn)到屏幕中間 f 或 F 跳轉(zhuǎn)到本行某個字符臀脏,小寫f向右查找劝堪,大寫F向左查找冀自。用;或,在匹配間切換 t 或 T 跳轉(zhuǎn)到本行某個字符之前,小寫t向右查找秒啦,大寫T向左查找熬粗。用;或,在匹配間切換 /正則表達式 跳轉(zhuǎn)到下一個匹配。用n或N在匹配間切換余境。 ?正則表達式 跳轉(zhuǎn)到上一個匹配荐糜。用n或N在匹配間切換。 (結(jié)合前面第5點葛超,你也許注意到了暴氏,在指定范圍時,使用跳轉(zhuǎn)命令將指定一個從光標位置到跳轉(zhuǎn)目標的區(qū)域) **12 書簽** 在 普通模式下按 m<小寫字母> 即可定義書簽绣张,按<字母> 則可跳轉(zhuǎn)到某個書簽的精確位置答渔,按 '<字母>可跳轉(zhuǎn)到某個書簽所在行的行首(用來錄制宏時比較有用)。最常用的自然是mm, mn, mj, mk, ml這幾個順手的鍵位侥涵。 真正的vim中的全局書簽 m<大寫字母> 在目前IdeaVim版本中不生效沼撕。需要定義全局書簽可以使用Idea原本的 F11 + 數(shù)字 方式 13 文本替換 使用 :s/正則表達式/替換文本/ 可在本行內(nèi)替換首次出現(xiàn)的匹配 使用 :s/正則表達式/替換文本/g 在本行內(nèi)替換所有出現(xiàn)的匹配 使用 :%s/正則表達式/替換文本/g 在當(dāng)前文件內(nèi)替換所有出現(xiàn)的匹配 在 可視模式下選中文本后,使用:'<,'>s/正則表達式/替換文本/g 命令可在選中區(qū)域中替換文本芜飘。其中'<,'>部分在可視模式下务豺,按:冒號后自動加入,直接輸入s命令即可嗦明。但有效區(qū)域只能以行為單位笼沥。真正 Vim中的 %V 標志在IdeaVim中不生效。 11 代碼折疊 zo - 打開折疊 zc - 關(guān)閉折疊 14 宏定義 在 IdeaVim中定義宏比Idea自帶的宏功能要輕量許多娶牌。按在普通模式下 q<寄存器名稱> 即可開始把后續(xù)按鍵序列錄制到指定寄存器中(寄存器參考前面第7條)奔浅。錄制完畢進入普通模式再按q鍵即可停止錄制。之后用 @<寄存器名稱> 即可重放诗良。需要注意的是宏和復(fù)制粘貼共用一套寄存器汹桦,因此在錄制宏時就注意不要把當(dāng)前宏正在使用的寄存器用來復(fù)制了。寄存器內(nèi)容是自動保存的鉴裹,重啟 Idea仍然生效舞骆。但IdeaVim沒有導(dǎo)出宏獨立保存的功能。因此最好把用來保存宏的寄存器和用來復(fù)制粘貼的寄存器分開径荔,不要同一個寄存器有時用來記錄 宏督禽,有時用來復(fù)制粘貼。我的習(xí)慣是鍵盤左手區(qū)用來保存一些長期使用的宏(比如說我有一個宏專門用來把pom.xml中的版本號抽取到property區(qū) 域猖凛,原來的位置則改用${property}引用)赂蠢。右手區(qū)的hjklnm鍵用來保存一些臨時宏。yuiop五個寄存器保留用來復(fù)制粘貼辨泳。如果錄制的宏不 涉及刪除大段代碼虱岂,寄存器1至9也可以用來進行復(fù)制粘貼玖院。 執(zhí)行一次宏后,可以用@@命令重復(fù)上一次執(zhí)行的宏第岖。 在Idea 中錄制宏時难菌,如果觸發(fā)了代碼自動完成,在自動完成列表啟動的狀態(tài)輸入的字符不會被記錄蔑滓。因此最好在Setting -> Code Completion -> Autopopup code completion中把延遲設(shè)為500ms以上或干脆關(guān)掉郊酒。在錄制宏的過程中避免觸發(fā)代碼自動完成功能。 錄制一些長期有效的宏時键袱,開始錄制后燎窘,最好先用0,^蹄咖,T, F, $等命令把光標對齊到行首行末或某個特定起始位置(比如說用 F" 跳轉(zhuǎn)到字符串的左邊引號)褐健,再用一個f或/指令跳轉(zhuǎn)到操作位置,這樣的宏就不用必須把光標放在某個特定字符才能使用了澜汤。 15. 一些常用組合技 全選: ggvG 調(diào)換兩個字符位置: xp 復(fù)制一行: yyp 調(diào)換兩行位置: ddp 插入模式下到行尾繼續(xù)輸入(相當(dāng)于End鍵): Ctrl+o A 或 Ctrl+[ A 插入模式下到行首繼續(xù)輸入(相當(dāng)于Home鍵): Ctrl+o I 或 Ctrl+[ I 到類定義位置(適用于正確縮進的public蚜迅,protected類) : ?^p回車 16. 一些在目前版本已知沒有實現(xiàn)的一些常用Vim功能 (如果對Vim不熟悉可以跳過這節(jié)) a)let命令 (沒有l(wèi)et命令就無法導(dǎo)出/導(dǎo)入寄存器內(nèi)容,也就是無法導(dǎo)入宏) b):g命令 (在文本處理中很有用的一個命令俊抵,在編程中倒是不那么常用) c)!命令 (執(zhí)行shell命令) d)大部分正則表達式標記 (例如 %V谁不, \v 等等) e) 某些多鍵命令雙擊最后一個字符表示作用于當(dāng)前行。例如在Vim中g(shù)UU可以把當(dāng)前行轉(zhuǎn)換為大寫徽诲,在IdeaVim中無效刹帕,實現(xiàn)同樣功能可以先用V命令選中當(dāng)前行,再用gU轉(zhuǎn)換為大寫馏段。 f)關(guān)于窗口操作的大部分命令 (Ctrl+w系列命令, :split等) g)所有Vim腳本插件 (不過大部分可以用Idea自身的功能和插件來補償) 嗯轩拨,差點忘了践瓷,在普通模式下按u撤銷上一個修改(相當(dāng)于其他IDE的Ctrl+z)院喜,按Ctrl+r重做被撤銷的修改。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晕翠,一起剝皮案震驚了整個濱河市喷舀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌淋肾,老刑警劉巖硫麻,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異樊卓,居然都是意外死亡拿愧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門碌尔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浇辜,“玉大人券敌,你說我怎么就攤上這事×螅” “怎么了待诅?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長熊镣。 經(jīng)常有香客問我卑雁,道長,這世上最難降的妖魔是什么绪囱? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任测蹲,我火速辦了婚禮,結(jié)果婚禮上鬼吵,老公的妹妹穿的比我還像新娘弛房。我一直安慰自己,他們只是感情好而柑,可當(dāng)我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布文捶。 她就那樣靜靜地躺著,像睡著了一般媒咳。 火紅的嫁衣襯著肌膚如雪粹排。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天涩澡,我揣著相機與錄音顽耳,去河邊找鬼。 笑死妙同,一個胖子當(dāng)著我的面吹牛射富,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播粥帚,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼胰耗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了芒涡?” 一聲冷哼從身側(cè)響起柴灯,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎费尽,沒想到半個月后赠群,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡旱幼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年查描,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡冬三,死狀恐怖鸯两,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情长豁,我是刑警寧澤钧唐,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站匠襟,受9級特大地震影響钝侠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜酸舍,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一帅韧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧啃勉,春花似錦忽舟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至泣特,卻和暖如春浩姥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背状您。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工勒叠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人膏孟。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓眯分,卻偏偏與公主長得像,于是被迫代替她去往敵國和親柒桑。 傳聞我的和親對象是個殘疾皇子弊决,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 在IDEA Intellij小技巧和插件一文中簡單介紹了一下IdeaVim插件。在這里詳細總結(jié)一下這個插件在日常編...
    BakerZhang閱讀 4,448評論 0 9
  • 命令歷史 以:和/開頭的命令都有歷史紀錄幕垦,可以首先鍵入:或/然后按上下箭頭來選擇某個歷史命令丢氢。 啟動vim 在命令...
    im螞蟻閱讀 30,765評論 3 48
  • Ubuntu的發(fā)音 Ubuntu仇奶,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,369評論 9 467
  • Vim幾句話介紹Vim是Unix系統(tǒng)上的文本編輯軟件(你該不會不知道什么是文本編輯軟件吧8盟荨)岛抄,在windows上也...
    何必遠方閱讀 3,152評論 0 3
  • 輕飄飄的一句帶過“一年兩年”這樣的話,實際投入到里面的每一天狈茉,你都不知道有多難夫椭。
    假如我會發(fā)光閱讀 156評論 0 0