Vim的學習 不斷積累中

2021-06-20 21:44:12 字數 2207 閱讀 3500

前言:記得去年在亞洲區現場賽見過許多大牛不使ide而用vim,這兩天趁著使用ubuntu的興頭上,學學這傳說中的裝叉神器,翻出各種網頁學習,唉,才碰這玩意兒還真是難搞,要記好多好多的快捷鍵,不過聽介紹這會是使用者最後乙個使用的編輯器,傳說灰常的難學但是不可思議的好用,我大概已經領略到了前半句,相信這後半句在不久之後會實現吧~

在終端中輸入「$ vimtutor」,就會出現vim教程

以下是自己每天學到的一些命令和快捷鍵,做成筆記以備忘吧(不斷積累中):

1、vim分為兩種模式,開啟vim後發現啥也輸不進去,原來這是normal模式,此時的游標是粗黑的

想要輸入字元,按『 i 』進入insert模式,之後游標變成細條狀,左下角顯示「--插入--」,這時就可以輸入了。

在insert模式下,鍵盤上的鍵用來輸入;在normal模式下,鍵盤上所有的鍵都是快捷鍵。o_o

2、一般按『 : 』粗邊標

就會跳到底部的輸入行,一般是用來輸入命令的。

例如:『 :w filename.format 』 將檔案存檔;

' :q ' 退出;

' :q! '不儲存強制退出。

3、『 x 』 刪除當前游標所在的乙個字元,

『 x 』刪除當前游標所在的前乙個字元。

4、' dd '刪除當前行,並將這行存到0剪下板裡(只能複製在當前vim檔案裡)。

5、『 p 』 貼上剪下板。

6、vim預設tab為8位,「 :set ts=4 」將tab設定為四位。

7、"=

→"將該行縮排匹配,「:set sw=4」將其設定為與tab相符。

8、「:set autoindent」設定自動縮排。

9、「:set number」設定行號。

10、為了方便,將上面四步直接寫入vimrc中,省得每次都要設定。

11、全選:「 ggvg 」 --- gg讓游標移到首行,v進入可視模式,g游標移到最後一行。

選中後, d 刪除選中內容,y 複製到在當前vim檔案裡, "+y 複製到系統剪

切板裡(可以貼上在任何方)。

選擇某一段:「nggvmg」,n為其起始行,m為結束行。

選擇一行中的某小段文字,按「v」之後方向鍵移動游標。

ps:"v"視覺化當前字元,"v"視覺化當前行,ctrl+'v'視覺化行最前至游標處。

(1)開啟終端,輸入$ g++ filename.cpp(gcc執行c檔案),編譯.cpp檔案;

(2)輸入$ ls ,可以看到目錄下出現了綠色的a.out檔案;

(3)輸入$ ./a.out ,就可以輸入了~

13、替換:

:s/well/good/ 替換當前行第乙個 well 為 good

:s/well/good/g 替換當前行所有 well 為 good

:n,$s/well/good/ 替換第 n 行開始到最後一行中每一行的第乙個 well 為 good

:n,$s/well/good/g 替換第 n 行開始到最後一行中每一行所有 well 為 good

n 為數字,若 n 為 .,表示從當前行開始到最後一行

:%s/well/good/(等同於 :g/well/s//good/) 替換每一行的第乙個 well 為 good

:%s/well/good/g(等同於 :g/well/s//good/g) 替換每一行中所有 well 為 good

ps:"%"指對全部文字

:3,7s/str1/str2/g僅替換檔案中的第3行到第7行中的「str1」成「str2」

可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符

:s#well/#good/# 替換當前行第乙個 well/ 為 good/

:%s#/usr/bin#/bin#g

14、統一新增注釋符:

『esc』

『0』  游標移至行首

ctrl + v 

n『j』 選中想要注釋的行數 或者 直接『j』到想要注釋的**塊的最後一行

『i』(大寫) 插入模式

『//』

兩次『esc』

15、刪除空行:

%s/^\n//g   刪除所有空行;

%s/^\n$//g 刪除連續空行並保留乙個空行

16、:n1,n2 m n3 移動n1-n2行(包括n1,n2)到n3行之下;

:n1,n2 co n3 複製n1-n2行(包括n1,n2)到n3行之下;

:n1,n2 d 刪除n1-n2行(包括n1,n2)行;

vim 學習積累(一)

首先是簡單的認識了三種狀態 大家公認的說法是模式 分別是 插入,檢視,和一般。進入vim之後預設的是一般模式,這時直接使用 a i o 也就是進入vim之後直接按下a i o鍵均可進入插入模式。其中的區別是,a命令會另游標後退乙個字元,然後進入插入模式。i是直接進入插入模式,游標位置不變。o會另游標...

C 學習積累 不斷更新

分享乙個c 的學習 1.結構體 struct 所有的成員在預設條件下都是 public 類 class 所有資料成員在預設條件下都是private 2.建構函式 採用的是類名,前邊不需要加返回值。3.在定義的類後邊一定要加 例如 void 4.類的繼承。include class animal vo...

對指標的理解 不斷積累

1.int s 10 int 表示什麼?這個語句看起來很複雜,不過我們一步步來分析。首先 s 10 是乙個陣列,s 10 說明他的元素是指標。那種型別的指標呢?整體來看這個語句 int int 不用多說是函式指標。那麼進一步說就是,s 10 是乙個有 10個元素的指標陣列,每個元素都指向乙個函式,並...