聽說,擼代碼,ide與vim更配哦

來源:互聯網
上載者:User

vim折騰記

在選擇編輯器上面,我是一個糾結的人,曾經年少的我執著地追求一款萬能的編輯器,可以支援所有編輯語言,靈活可定製,可純粹用鍵盤操作。符合這種條件的編輯器,非vim莫屬。

在投入vim陣營之前,我對其是敬而遠之的。第一次使用vim,我的第一感覺是:

"挖槽,這是什麼鬼?行號沒有,文法高亮沒有,自動提示也沒有,這跟txt有什麼區別... 趕緊退出,靠,怎麼還退不出?這反人類的東西還被譽為編輯器之神?“

後來看了大神們對於vim的配置,才知道vim原來還可以這麼玩,推薦閱讀 老司機亂談編輯器之神,這篇文章讓我驚歎於vim的牛逼,感覺vim無所不能,開始想象著自己學會vim後,在其他人都用各種ide的情況下,我將vim視窗最大化,鍵指如飛,猶如彈鋼琴的藝術家。這個裝逼的情境,想想都覺得飄飄然...

在各種酷炫功能的吸引下,我開始沉迷於如何折騰vim

vim裝逼外掛程式

裝逼是人類的剛需

vim的學習曲線比較陡峭,如果你是純粹的小白,強烈推薦 簡明 VIM 練級攻略,跟著此文練習幾天,vim最基本的功能就熟悉了。

對vim有初步的認知後,要進一步系統地學習vim,《Vim實用技巧(第2版)》是不二選擇

Vim實用技巧(第2版)

掌握vim的基礎命令後,我就開始了折騰vim的辛酸血淚史,一開始是自己配置.vimrc,後來看到網上有很多現成的配置,如號稱vim終極配置的 spf13-vim,國內的 spacevim 將vim配置得如同開箱即用的ide

在嘗試各種vim配置後,沒有哪一個配置是真正用得稱手的,總有些坑在等著我,而且將vim打造得如此複雜,總感覺格格不入,貌合神離,且並沒有ide好用。

既然如此,為何要去折騰vim? 直接用ide不就行了?

可是習慣了vim的模式切換,鍵位操作,再也無法去用ide那些奇奇怪怪的快速鍵組合。

最終的解決方案就是用 jetbrains全家桶,然後安裝ideavim外掛程式,既能享受ideIntegration Environment的便利,又得繼續使用強大的vim, 而且jetbrains全家桶已經囊括了主流程式設計語言,不管是寫PHP(phpstorm), 還是擼python(pyCharm), 又或者是玩golang(GoLang),都有對應的ide,但使用起來就如同在用同一款編輯器

vim常用命令

vim是學不完的,即使是用了vim十年的老手,也不敢說完全掌握了vim。但常用的vim指令並不是很多,以下列舉我常用的指令:

游標移動

  • 0 到行頭
  • ^ 到本行第一個不是blank的位置
  • $ 到行尾
  • g_ 到本行最後一個不是blank的位置
  • NG 到第N行 或者是 :N
  • w 到下一個單詞的開頭
  • e 到下一個單詞的結尾
  • % 匹配括弧移動
    • 和 # 匹配游標當前所在的單詞,移動游標到下一個/上一個匹配單詞
  • f{char} 到下一個{char}
  • t{char} 到{char}前的一個字元
  • Nf{char} 在當前行尋找第N個出現的{char} 如:3fa
  • F 和 T 與 f 和 t 反方向
  • dt{char} 刪除{char}之前的所有內容
  • ; 與 , 跳到下/上一個由f/F, t/T尋找的字元

替換

  • :%s/原文本/替換的內容/g 全文替換
  • :10,20/原文本/替換的內容/g 指定行號替換

指定行數操作

  • :10,20y 複製10至20行
  • :10,20d 刪除10至20行

高效操作

  • . 重複上一次的命令
  • N<command> 重複某個命令N次
2dd 刪除2行3p 粘貼文本3次100idesu[ESC] 會寫下100個 desu

跳轉

  • ctrl + o 回到上一處
  • ctrl + i 回到下一處

書籤

  • ma 設定當前檔案的書籤
  • mA 設定通用檔案的書籤
  • `a 跳到書籤a
  • `A 跳到書籤A
  • :marks 查看當前所有書籤

宏操作

  1. 首先,按下 q,然後按下你想要儲存的寄存器,任何小寫字母都可以。比如我們來把它儲存到 q 這個寄存器中。按下 qq,你會發現命令列裡已經顯示了 "recording @q"。
  2. 如果你已經錄製完成,那麼只需要再按一次 q 就可以結束錄製。
  3. 如果你想調用剛才錄製的宏,只需要 [count]@q
  4. 如果你想調用上一次使用的宏,只需要 [count]@@

執行個體:一個插入字串 "abc" 後換行的宏,重複調用十次:

qqiabc<cr><esc> # <cr> 表示斷行符號鍵q10@q

Tip: 如果是windows系統,ide啟用vim外掛程式的體驗不太好,因為ctrl既是vim的功能鍵,又是windows功能鍵,兩者會有衝突,用著不是很爽。mac的功能鍵是command鍵,避免了衝突問題

如果覺得本文對你有所協助,點個贊,或者賞杯咖啡錢,你的認可對我很重要

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.