30分鐘vim新玩法

轉載聲明:本文轉載自「運維軍團」,搜索「ywjtshare」即可關注。

1. vim前言

用過linux的同學都知道vim是必學的編輯工具,用得熟可以節省很多時間。不過剛入門時,與其他編輯器相比,又有許多學習成本。

不知當年開始接觸vim 的時候,你是否也為忘記退出的手勢而煩惱過?今天給大家介紹這個強調手勢的vi在不同場景的新鮮玩法。

2. shell + vim

# set -o vi

shell命令行執行上面命令,就可以設置當前shell終端為vi模式。也可以寫在linux用戶登陸的配置裡面,讓shell默認進入vi模式。

下面舉個例子:

當你敲完一大串命令,想連到mysql 3307埠執行sql的時候,才發現很不幸命令中間埠號打錯,寫成3306了~那我們怎麼更快的修改好埠號呢?

新手的做法就是是按住左移鍵,目光隨著游標移動快到3306的時,再改為一下下的按左移鍵,萬一不小心游標移過了,還要換成右移鍵,移到6後面,退格,再敲7......

如果正在緊急排查故障,那個焦急可想而知!

現在我們用vim模式來修改:

<Esc>F6r7

拆分出來詳細解析:

<Esc>進入vi強大的命令模式,

F6向左找到第一個6的位置,

r7替換游標所在位置字元為7。

加上最後回車,總共6次按鍵,精準修改啊!!

下面回顧演示一下開篇時候的解法:

說明:動圖是用錄屏軟體製作的,設置了<F10>快捷鍵開始錄屏,所以每個動圖開始都會看到藍色的<F10>代表操作的開始,然後跟著顯示實際操作的按鍵。

3. chrome + vim

Vimium是模擬vim按鍵來控制瀏覽器操作的Chrome擴展插件(和Vimium類似的,也有人使用cvim)。

你可以在Chrome應用商店或者網上搜索離線文件下載安裝。

裝完插件打開一個普通頁面,按下問號(?),就看到vimer們熟悉的快捷鍵了。

我們來體驗下vimium的魅力,打開chrome瀏覽網頁時,雙手放到鍵盤上按下f,再敲一兩個字母就能打開你想要的頁面鏈接。

一篇文章看到結尾,想回去開頭敲個gg立即滾到頁面開頭。看完網頁按下x就可以關閉了。有沒一種順溜的感覺~

4. windows + vim

windows這裡解釋為窗口,而不是windows系統,因為下面說的工具其實都是跨平台的。

具有窗口的vim編輯工具就比較多了,比如Gvim,去年vim終於在時隔十年後,又發布了8.0大版本,下載下來慢慢玩吧。

另外大名鼎鼎的Sublime Text,喜歡的話也可以配置成vim模式,

在菜單欄Preferences -> Settings - User,打開配置文件,修改下

{"color_scheme": "Packages/Theme - Nil/Sanakan.tmTheme", "font_size": 11.0, "ignored_packages":[ // "Vintage" ],"vintage_start_in_command_mode": true, //vim cmd mode"update_check": false, "word_wrap": "auto"}

注釋"Vintage",即可啟用vim模式。

增加"vintage_start_in_command_mode": true, 設置打開文件後進入vim的命令模式。

手機上文本的複製黏貼那麼痛苦,要不是因為黑莓沒做起來,說不定在手機上,也會做出個類似vim的編輯器。

5. IDE + vim

語法高亮、縮進對齊、函數定義、目錄樹、自動編譯等等,

通過vim配置和數量眾多的插件,完全可以打造出一個類似現有大型IDE功能的開發工具。

篇幅有限,也不班門弄斧了。附上github上專業的長文鏈接github.com/yangyangwith

6. vim入門

耍完小伎倆,寫點vim入門知識,留給想學習vim的新同學,大神級就可以忽略跳過了。

6.1 vim常識

聽說有人用上vim後,滑鼠手也給治好了。

其實沒啥只是想說,vim的常識就是盡量把滑鼠晾一邊,用鍵盤的思維來編輯,當然高級點也可以用機械鍵盤,想晒晒你用的牌子?戳個留言唄。

6.2 vimtutor

vim強大之處在於命令模式下的「游標移動」+「動作操作」。先從簡單開始,vimtutor 是公認最基礎的入門教程, 新手都從這裡開始對vim的愛恨。直接shell終端敲vimtutor。

# vimtutor

6.3 vim鍵盤圖

前期學習或使用vim,都離不開一張隨時可見的vim鍵盤圖。記得第一次看到這張圖片,毫不猶豫就設置成桌面背景!

史上最全Vim快捷鍵,各種版本等你來挑戰

cenalulu.github.io/linu

7. 結語

30分鐘看這篇文章是夠的,學好vim還需要平時使用中,持續對按鍵組合的思考和簡化。如果經常寫代碼,那麼不斷定製優化自己的vim插件,也能讓你事倍功半。

本篇在這裡當是拋磚引玉,藉此勾起你對這一上古神器的興緻,如果你有更好更妙的心得,也歡迎一起交流學習。


你想更深入了解學習Linux知識體系,你可以看一下我們花費了一個多月整理了上百小時的幾百個知識點體系內容:

【超全整理】《Linux雲計算從入門到精通》linux學習入門教程系列實戰筆記


推薦閱讀:

哪兩個字母不可能連在一起?
windows 上的 vim 真的很慢么
Vim Tips #3: Vim 命令的模式
Vimrc 能否將 capslock 綁定為 esc 鍵?
為什麼vim只支持等寬字體?

TAG:Vim | Linux運維 | Linux |