vim 技巧總結

2021-09-02 19:35:26 字數 4274 閱讀 9042

一直在用gvim,但說實在的,掌握的技巧太少,需要慢慢積累,這個貼子就持續更新吧~~~

快捷鍵:

在.vimrc 檔案中加入以下快捷鍵

:map cc :s/^/\/\//:map qq :q:map bb :w!:map dl i`uvm_info(get_type_name(),$sformatf("",),uvm_low):map ggvg
開啟vim 檔案後,按esc後鍵入qq,則會關閉檔案;鍵入bb,則會儲存檔案。

2. 當要在檔案中鍵入如下內容時,快捷方法如下:

sram0_addr

sram1_addr

sram2_addr

step1: coding

好第一行(

sram0_waddr);

step2:

先按esc

再鍵入qa

;(用register

記錄,名字為

a,可以取其他名字)

step3:

按yy (

複製第一行

)step4:

按p (貼上)

step5:  按l

鍵移動游標到數字上面(比如

sram0_waddr)

,接著按

ctrl+a

step6:  按q

離開記錄;

step7:

按number @a

;(其中

number

替換為實際要複製的次數,比如複製

20次,就按

20@a

, a表示

register a

在log 中撈 打到的特定assertion 

find . -name "*.log" | xargs grep "c_special_cov_assert" | sed '/0 match/d' > ./a.log

其中c_special_cov_assert為特定的assertion。

%:   跳轉到與當前符號匹配的符號處,如(),,{}

dg: 刪除當前行至行尾

v進入字元視覺化模式   (移動一次選擇乙個字元)

v進入視覺化模式

ctrl-v進入塊視覺化模式

gv選中前一次視覺化模式時選擇的文字

o游標移動到選中文字的另一結尾

o游標移動到選中文字的另一角落

:%y+:全選    

ggvg:  全選

let mapleader=","

" 設定快捷鍵,y將選中文字塊複製至系統剪貼簿 

vnoremap y "+y 

" 設定快捷鍵,p將系統剪貼簿內容貼上至 vim 

nmap p "+p

在vim中"+"這個暫存器就表示共享的剪貼簿.所以要從其它地方複製到vim中,可用"+p這個操作來完成貼上,同樣,在要vim中copy東東到其它地方時,可用"+y來完成

共享剪貼簿

set clipboard+=unnamed
" 選中模式 ctrl+c 複製選中的文字

vnoremap "+y
" 普通模式下 ctrl+c 複製檔案路徑

nnoremap :let @+ = expand('%:p')

" shift + insert 插入系統剪下板中的內容

noremap "+p
如何修改主題:

1. 通過修改vim配置下的vimrc檔案  (#:vi /etc/vim/vimrc);

2. 在裡面加入一句:colorscheme 主題名 ,比如 colorscheme evening

3. 儲存退出即可。

vim中進行文字替換:

1.  替換當前行中的內容:    :s/from/to/    (s即substitude)

:s/from/to/     :  將當前行中的第乙個from,替換成to。如果當前行含有多個

from,則只會替換其中的第乙個。

:s/from/to/g    :  將當前行中的所有from都替換成to。

:s/from/to/gc   :  將當前行中的所有from都替換成to,但是每一次替換之前都

會詢問請求使用者確認此操作。

注意:這裡的from和to都可以是任何字串,其中from還可以是正規表示式。

2.  替換某一行的內容:      :33s/from/to/g

:.s/from/to/g   :  在當前行進行替換操作。

:33s/from/to/g  :  在第33行進行替換操作。

:$s/from/to/g   :  在最後一行進行替換操作。

3.  替換某些行的內容:      :10,20s/from/to/g

:10,20s/from/to/g   :  對第10行到第20行的內容進行替換。

:1,$s/from/to/g     :  對第一行到最後一行的內容進行替換(即全部文字)。

:1,.s/from/to/g     :  對第一行到當前行的內容進行替換。

:.,$s/from/to/g:  對當前行到最後一行的內容進行替換。

:'a,'bs/from/to/g   :  對標記a和b之間的行(含a和b所在的行)進行替換。

其中a和b是之前用m命令所做的標記。

4.  替換所有行的內容:      :%s/from/to/g

:%s/from/to/g:  對所有行的內容進行替換。

5.  替換命令的完整形式:    :[range]s/from/to/[flags]

5.1 s/from/to/

把from指定的字串替換成to指定的字串,from可以是正規表示式。

5.2 [range]

不寫range   :  預設為游標所在的行。

.           :  游標所在的行。

1           :  第一行。

$           :  最後一行。

33          :  第33行。

'a          :  標記a所在的行(之前要使用ma做過標記)。

.+1         :  當前游標所在行的下面一行。

$-1         :  倒數第二行。(這裡說明我們可以對某一行加減某個數值來

取得相對的行)。

22,33       :  第22~33行。

1,$         :  第1行 到 最後一行。

1,.         :  第1行 到 當前行。

.,$         :  當前行 到 最後一行。

'a,'b       :  標記a所在的行 到標記b所在的行。

%           :  所有行(與 1,$ 等價)。

?chapter?   :  從當前位置向上搜尋,找到的第乙個chapter所在的行。(

其中chapter可以是任何字串或者正規表示式。

/chapter/   :  從當前位置向下搜尋,找到的第乙個chapter所在的行。(

其中chapter可以是任何字串或者正規表示式。

注意,上面的所有用於range的表示方法都可以通過 +、- 操作來設定相對偏

移量。5.3 [flags]

這裡可用的flags有:

無      :  只對指定範圍內的第乙個匹配項進行替換。

g       :  對指定範圍內的所有匹配項進行替換。

c       :  在替換前請求使用者確認。

e       :  忽略執行過程中的錯誤。

注意:上面的所有flags都可以組合起來使用,比如 gc 表示對指定範圍內的

所有匹配項進行替換,並且在每一次替換之前都會請使用者確認。

ref: 

vim 高階使用技巧

VIM使用技巧總結

一 vim使用的基本配置 setnu 設定行號 setts 4 設定tab為4個空格大小 setexpandtab 設定用空格代替tab setai 設定自動換行 syntaxon 設定vim文件語法高亮 其實 vim 顯示高亮的原理是根據不同 檔案型別來讀取相應的配置檔案,根據配置檔案中的設定來顯...

VIM使用技巧總結

一 vim使用的基本配置 setnu 設定行號 setts 4 設定tab為4個空格大小 setexpandtab 設定用空格代替tab setai 設定自動換行 syntaxon 設定vim文件語法高亮 其實 vim 顯示高亮的原理是根據不同 檔案型別來讀取相應的配置檔案,根據配置檔案中的設定來顯...

vim 使用技巧 部分總結

06 8 16 vi的文字替換 1 替換從第n行到第m行的文字 n m s 需要替換的文字 替換文字 g 2 替換整個文字種的需要替換的文字 s 需要替換的文字 替換文字 g 3 替換從當前游標開始處,到第n行的需要替換的文字 n s abcd dbde g 06 8 17 vi 中的查詢命令 1 ...