日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Vim求生

發(fā)布時(shí)間:2023/12/2 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vim求生 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[TOC]

Vim 是從 vi 發(fā)展出來的一個(gè)文本編輯器。其代碼補(bǔ)完、編譯及錯(cuò)誤跳轉(zhuǎn)等方便編程的功能特別豐富,在程序員中被廣泛使用。和 Emacs 并列成為類 Unix 系統(tǒng)用戶最喜歡的編輯器。

—— 維基百科

很多接觸 Vim 的程序員應(yīng)該都有過這樣的經(jīng)歷:

  • 受某大 V 的影響看到了 Vim 的高逼格;
  • 看了某篇學(xué)習(xí)的文章,自己試了幾個(gè)命令,在 30 分鐘內(nèi)放棄;
  • 幾個(gè)月后、幾年后又聽到有人在鼓吹 Vim 好用;
  • 循環(huán)。。。
  • 忍不了了,花了 2 周時(shí)間記各種命令;
  • 算了,我還是滾回我的 sublime 吧。
  • 我為什么知道這種情況?因?yàn)槲乙惨槐橛幸槐榈膰L試想把 Vim 作為我的主力編輯器,每一次都是傷痕累累的滾回 sublime 了。分析這里面的原因其實(shí)只有一個(gè):我太想用它來裝 X 了,太想感受那種輕飄飄的虛榮感覺,還沒有認(rèn)識到“世界上有 3 類程序員:用 Vim 的程序員,用 Emacs 的程序員,用其他編輯器的程序員” 這句話并不是裝出來的,Vim 真的可以大幅提高工作效率。

    如果一個(gè)工具真的可以在以后長時(shí)間內(nèi)大幅提高效率,那么花一小點(diǎn)時(shí)間,慢慢的使用、進(jìn)階絕對是個(gè)劃得來的生意。而且,有時(shí)候我們不得不在生產(chǎn)環(huán)境中直接面對 Vim, 這種時(shí)候通常是緊急的情況(服務(wù)器發(fā)生故障等),如果對 Vim 不熟悉,那只能是兩眼一抹黑了。

    大部分人放棄 Vim 可能都是出于這樣的原因:期望過高,追求速成。而本文的目的只在于善意的提醒你:慢一點(diǎn),別放棄。

    生存下來

    追求速成的同學(xué)在初次接觸 Vim 時(shí)通常活不過 30 分鐘,太不友好了!!!那為什么 Vim 可以提高工作效率?它的設(shè)計(jì)初衷就可以讓你的手指不離開鍵盤進(jìn)行所有的操作。

    活下來需要注意的事情很簡單,認(rèn)清 Vim,使用最簡單的指令,就跟我們學(xué)吉他一樣,先看看買的琴,弄清楚 Do Rei Mi 在哪個(gè)地方可以演奏出來就可以了,通常來說我們要流暢的彈出 1 2 3 4 5 6 7 i 需要一段時(shí)間,但是第一次彈奏出來以后會很開心。這個(gè)時(shí)候并不需要了解什么是把位,怎么切換把位。

    通過 vim filename進(jìn)入 Vim 以后,不能編輯文本,這時(shí)候 Vim 在 Normal 模式下。正如一些筆記軟件默認(rèn)是不開放編輯的,只有點(diǎn)了編輯按鈕才能輸入,而像 Sublime 這樣的編輯器,你只要打開了某個(gè)文件,隨時(shí)都可以輸入。這樣當(dāng)然提供了便利性,但是很容易造成誤操作,改變文件內(nèi)容和狀態(tài)。

    • 如果需要編輯,鍵盤按 i 就可以進(jìn)入 Insert 模式,i你可以理解為是此模式的縮寫。此時(shí)下面會出現(xiàn)插入字樣;
    • 在 Insert 模式下,可以像筆記軟件那樣編輯文件內(nèi)容;
    • 通過 Esc退出 Insert 模式,回到 Normal 模式

    在 Normal 模式下,學(xué)會以下內(nèi)容就入門了:

    • i 進(jìn)入 insert 模式,編輯內(nèi)容;
    • 光標(biāo)鍵(←↓↑→) 進(jìn)行移動;
    • 刪除光標(biāo)位置的字符:x
    • 刪除光標(biāo)那一整行:dd
    • 粘貼已復(fù)制的內(nèi)容:p
    • 保存(w)+退出(q):wq

    基本上以上操作足以讓我們完成很多的操作內(nèi)容,現(xiàn)階段需要做的是將這些指令訓(xùn)練成肌肉記憶,可以每天刻意用 Vim 來寫日記,編輯一些文檔,或者訓(xùn)練不用自動補(bǔ)全和提示寫代碼的能力。

    稍微熟練以后將光標(biāo)鍵換成hjkl進(jìn)行移動,這樣更符合手放在鍵盤上的位置,如果不記得哪個(gè)鍵是做什么用的,輸入:help 鍵名 尋求幫助。養(yǎng)成一個(gè)習(xí)慣,insert 模式下編輯完,只要有可能做其他事情,有事沒事按按 Esc 退回 Normal 模式來保證數(shù)據(jù)的安全。如果有必要,借助鼠標(biāo)操作。

    快速定位階段

    在生存階段的命令沒有到肌肉記憶的程度時(shí),盡量不要逼自己學(xué)習(xí)過多的命令,欲速則不達(dá),好東西都需要慢慢享受。Vim 在 Normal 模式下,所有鍵都會變成命令執(zhí)行對應(yīng)的指令。

    光標(biāo)的快速移動

    • ^ 行首;
    • $行尾;
    • :3 跳到第 3 行;
    • G 跳到最后一行;
    • :/string 定位文字,string就是要定位的文字,可以是正則表達(dá)式。當(dāng)查找到多個(gè)結(jié)果時(shí),n 鍵切換到下一個(gè);
    • w 下一個(gè)單詞首;
    • *下一個(gè)相同的單詞,# 上一個(gè)相同的單詞;
    • % 專門用來匹配括號的。編程語言很多不知道自己處于哪一個(gè)括號內(nèi)。

    多種插入形式

    之前我們說過 i 可以切換到 insert 模式,實(shí)際上還有其他鍵也可以:

    • a 在光標(biāo)后一位插入,通常用在行末的時(shí)候;
    • o 在下一行插入;
    • O在上一行插入;

    文件操作

    除了 :wq 還有其他操作:

    • :q!不保存強(qiáng)制退出;
    • :w path_of_filename 保存為 filename 的文件;
    • :saveas path_of_filename另存為;
    • :e another_file 打開另一個(gè)文件:
    • :n 或者加file/tab鍵觀察 打開下一個(gè)文件,如果加 file 開指定的文件,可以用 tab 鍵觀察補(bǔ)全

    快速回撤前進(jìn)

    • u undo,回撤
    • Ctrl + r redo,前進(jìn)
    • . 做大量重復(fù)工作的利器,表示執(zhí)行上一個(gè)指令;
    • 5. 重復(fù)執(zhí)行上一個(gè)指令 5 次;
    • 5<command> 重復(fù)執(zhí)行 command 這個(gè)指令 5 次

    熟練階段

    到目前為止,主流編輯器的基本功能 Vim 通過鍵盤基本上都實(shí)現(xiàn)了,對于塊級操作,命令存在天然的劣勢,畢竟鼠標(biāo)長按一下可以選擇太多的區(qū)域,Vim 的塊級操作同樣不復(fù)雜:

    • Ctrl + v 進(jìn)入塊級操作;
    • 光標(biāo)移動,光標(biāo)鍵或者其他命令;
    • I + --, 操作。I 進(jìn)入插入模式,插入 --;

    命令 v 和 V 表示可視選擇,如果我們需要對一段代碼左右縮進(jìn):

    • v 進(jìn)入可視;
    • 光標(biāo)移動,光標(biāo)鍵或者其他命令;
    • > 或者 <, 分別表示右縮進(jìn)和左縮進(jìn)

    在 insert 模式下,可以使用 ctrl + p 自動補(bǔ)全。

    分割布局

    • :vs file 水平開一個(gè)文件
    • :sp file 垂直開一個(gè)文件

    封神階段

    用 Vim 打造 IDE

    宏錄制

    這個(gè)階段我直接放棄了。不行了,白頭發(fā)出來了。

    可自行搜索。。。

    總結(jié)

    • 學(xué)些 Vim 的過程真可謂酸爽;
    • 一個(gè)命令用熟練了感動得眼淚掉下來;
    • 很多枯燥的東西都是有大用處的,這時(shí)候能狠下心來啃對自己的心智也是個(gè)大的提升;
    • 雖然離 Vim 黨還有距離,可怎么感覺自己不一樣了呢?有懂這種體會的嗎?

    學(xué)習(xí)資料

    • Learn Vim Progressively
    • Vimdoc user02.txt
    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/wagyuze/p/10260536.html

    總結(jié)

    以上是生活随笔為你收集整理的Vim求生的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。