一直在用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 ...