首先說一下為什麼要學習vim,vim作為乙個原始的編輯器,有著類似於五筆輸入法的特性,功能強大但難於上手。為了成為乙個更強大的碼農,為了提公升效率,應對更簡單的場景–控制台,有必要克服這些困難,熟練運用vim。
不要介意英語原文,英文最大程度的保留了原作者的原意,現在也有很多方便的翻譯工具供使用,可以輕鬆跨越生僻詞彙的壁壘。
vim 有很多功能,但不是所有功能都會用到,通常來說,了解vim約20%的功能特性,就算是能夠熟練使用vim了。
學習vim有兩種主要的方式:
強制使用逐步使用
第一種方式是要求自己不使用任何高階的編輯器,強制在任何編輯**的場景下都去使用vim,這種方式的好處是能夠以最快速度去適應和學習vim,但在使用初期,編輯**的效率會大幅度下降,影響專案進度。所以,該方式不適合打工人,很適合學生等對時間和效率要求不高的人群。
第二種方式不需要全身心的投入vim的使用,在主要工作和專案中仍舊使用自己熟悉的編輯器和方式,然後利用業餘時間或者非緊急專案來練習使用vim。基於自己的熟練度逐步替換原來的編輯器或工作方式。這種方式就較為適合打工人,既滿足工作也滿足學習,就是速度會慢於第一種方式。
學習使用一件物品,最好的方式就是閱讀這件物品的產品說明書或使用說明。vim最好的指導就是:help
這個命令。
vimrc
vimrc選項類似於配置檔案,在 chapter 21 之前不會被提及。例如設定行號set number
,如果沒有vimrc,就建立乙個,通常位於根目錄名稱為.vimrc
,具體位置取決於作業系統。為了看**適合放置該檔案,可以使用命令:h vimrc
。在裡面新增set number
並儲存,然後輸入:source %
該檔案,就可以看到vim編輯頁面左邊出現行號了。若沒有像上面寫的一樣設定,同樣可以使用:set number
顯示行號,但這種方式在下次開啟時需要重新輸入。
學習vim而非vi,有個選項必須要設定一下,在vimrc中新增set nocompatible
選項。因為compatible
選項下許多vim的特性都會被禁用。
安裝vim 命令
在控制台輸入vim
,會進入編輯頁面,敲擊i
進入輸入模式,就可以開始編輯文字了。
退出vim
退出命令::quit
可以使用:q
代替,敲擊esc
可以退出輸入模式從而輸入命令。
儲存檔案
儲存命令::write
可以使用:w
代替,若要在儲存檔案的同時對檔案進行命名為file.txt
,可以使用:w file.txt
。
退出的同時進行儲存::wq
退出的同時不儲存,新增!
強制退出::q!
幫助文件
幫助文件命令::help
開啟檔案
開啟檔案hello.txt
:vim hello.txt
引數
檢查vim版本:vim --version
在vim內部可以使用::version
如果想在開啟檔案的同時執行乙個命令,可以使用vim + 檔名
。
例如下面將所有pancake
關鍵字替換為bagel
,
vim +%s/pancake/bagel/g hello.txt
可以依次執行多個命令,將pancake
替換為bagel
,再將bagel
替換為』egg』,
vim +%s/pancake/bagel/g +%s/bagel/egg/g hello.txt
也可以使用c
替換+
,
vim -c %s/pancake/bagel/g -c %s/bagel/egg/g hello.txt
開啟多個視窗
開啟兩個水平視窗:vim -o2
開啟五個水平視窗:vim -o5
開啟垂直視窗:vim -o5 hello1.txt hello2.txt
後台服務懸掛
若在編輯過程中需要臨時退出,相當於將任務暫留在後台,可以使用ctrl+z
,也可以使用:stop
或者:suspend
。輸入命令fg
回到任務中來。
更聰明的方式使用vim
vim配合命令列可以更廣泛和高效。例如使用管道命令ls -l | vim -
將內容重定義到vim中。關於更多的命令列可以使用man vim
進行了解。
01 了解C語言歷史和特性
c語言應用領域 語言標準 c編譯器和鏈結器 c語言誕生於1972年,它是由丹尼斯 里奇 dennis ritch 和肯 湯普遜 ken thompson 在貝爾實驗室開發unix作業系統時設計的程式語言。2.1 優點 2.2 缺點 世界不存在完美,完美意味著進步的終止!包括程式語言在內。例如c語言在...
了解和學習Fedora Linux
一 fedora 是什麼,與redhat的關係 redhat 自9.0以後,不再發布桌面版的,而是把這個專案與開源社群合作,於是就有了fedora 這個 linux 發行版。fedora 可以說是redhat 桌面版本的延續,只不過是與開源社群合作。這樣做,紅帽子集中於它的核心技術和最有利的區域 企...
資料庫學習筆記 01 初步了解
原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。事務開始前和結束後,資料庫的完整性約束沒有被破壞。比如a向b轉賬,不可能a扣了錢,b卻沒收到。隔離性是當多個使用者併發訪問資料庫時,比如操作同一張表時,資...