九阳真经之vi大法
九陽真經之vi大法
Vi確實牛X,常用常新,總有一些意外的功能。以下是一些和同事們學來的技巧:
1, sp 或者vsp實現分屏查看
我們經常需要對照同一篇文檔或日志的兩個段落,如查看兩個報文的差別。這時候屏命令就好用了。
在vi里輸入:sp ,你的屏幕立即被分成上下兩屏。就像是windows的兩個窗口。
Ctrl+ww 即可在兩個窗口間切換。
同樣你可以試一下用:vsp來左右切分
或者:vps . 在切分后打開另一個文檔
2, =G命令,瞬間讓凌亂的代碼格式化
命令模式下按下= 然后按下G, 即可自動格式化代碼
還可以輸入:set sw=2 來定制縮進大小
Set et 縮進時候使用空格,而不是tab
3, K 快速查看當前單詞(函數)的man幫助
這樣就不用切換出來找man幫助了
4, :set list 讓特殊字符無所遁形
把消失的”半個”中文字符找出來
5, shift+v 行選定
shift+v 然后按上下鍵,即可選定多行, 然后你就可以針這些行來進行復制、刪除等操作
同樣可以使用ctrl+v 來進行列選定
6, 第一類命名緩沖區mx,記錄位置
(m+任意字母)
mx 如mk 將當前光標位置的信息記錄到命名緩沖區k里;
‘x (單引號+任意字母) 跳轉到x所記錄的行;
`x (命令符+任意字母) 跳轉到x所記錄的位置;
`` (連按命令符) 跳轉到最后一次編輯的行.
7, 第二類命名緩沖區“x ,存放復制的內容
(“+任意字母)
如 “kyy 將當前行復制到緩沖區k里邊
“j`ay`b 將位置a與位置b之間的內容復制到緩沖區j中去
“kp 將緩沖區p里的內容粘貼出來
8, 第三類命名緩沖區qx ,存放一組操作序列
(q+任意字母)
此類緩沖區的使用方法:
按qk開始記錄模式, 執行一系列操作, 然后再次按q結束記錄.中間操作序列就被 記錄到緩沖區k中了.
@k 執行一遍k里邊的操作序列
12@k 執行12遍k里的操作
可以使用這種方法實現批量注釋, 批量修改等復雜的操作
9, b、w、e和B、W、E
b 跳上一個單詞開頭 w 跳下個單詞開頭 e跳下個單詞的末尾
區別是大寫組的命令會忽略標點
10, cw、dw、bcw、yw
用來刪除、替換一個單詞(變量、函數名).
11, tx、fx和Tx、Fx
快速跳轉到字母x上或者x之前的位置.
12, x和X u和U
x 向后刪除 X向前刪除
u 回滾 U 回滾當前行的操作
13, vi 完美支持的shell命令 :!
:!cc test.c 不必退出vi便可以編譯
:!make
14, 另外還有一些可選的選項定制.
vi啟動會讀取~/.vimrc里的選項, 在這里做一些設定.可以使vi用起來更順手一些:
1 set tabstop=2 #使Tap字符顯示為占用2個字符位
2 set et #使(手動或自動輸入的)Tap字符轉化為n個空格
3 set shiftwidth=2 #自動縮進的幅度
4 set ai nu #ai換行時自動對齊, nu顯示行號
5 au BufNewFile,BufRead *.sqc,*.dbc,*.pc set filetype=c
#自動將*.dbc等識別為c文件,并用不同的顏色顯示關鍵字.
Vi確實牛X,常用常新,總有一些意外的功能。以下是一些和同事們學來的技巧:
1, sp 或者vsp實現分屏查看
我們經常需要對照同一篇文檔或日志的兩個段落,如查看兩個報文的差別。這時候屏命令就好用了。
在vi里輸入:sp ,你的屏幕立即被分成上下兩屏。就像是windows的兩個窗口。
Ctrl+ww 即可在兩個窗口間切換。
同樣你可以試一下用:vsp來左右切分
或者:vps . 在切分后打開另一個文檔
2, =G命令,瞬間讓凌亂的代碼格式化
命令模式下按下= 然后按下G, 即可自動格式化代碼
還可以輸入:set sw=2 來定制縮進大小
Set et 縮進時候使用空格,而不是tab
3, K 快速查看當前單詞(函數)的man幫助
這樣就不用切換出來找man幫助了
4, :set list 讓特殊字符無所遁形
把消失的”半個”中文字符找出來
5, shift+v 行選定
shift+v 然后按上下鍵,即可選定多行, 然后你就可以針這些行來進行復制、刪除等操作
同樣可以使用ctrl+v 來進行列選定
6, 第一類命名緩沖區mx,記錄位置
(m+任意字母)
mx 如mk 將當前光標位置的信息記錄到命名緩沖區k里;
‘x (單引號+任意字母) 跳轉到x所記錄的行;
`x (命令符+任意字母) 跳轉到x所記錄的位置;
`` (連按命令符) 跳轉到最后一次編輯的行.
7, 第二類命名緩沖區“x ,存放復制的內容
(“+任意字母)
如 “kyy 將當前行復制到緩沖區k里邊
“j`ay`b 將位置a與位置b之間的內容復制到緩沖區j中去
“kp 將緩沖區p里的內容粘貼出來
8, 第三類命名緩沖區qx ,存放一組操作序列
(q+任意字母)
此類緩沖區的使用方法:
按qk開始記錄模式, 執行一系列操作, 然后再次按q結束記錄.中間操作序列就被 記錄到緩沖區k中了.
@k 執行一遍k里邊的操作序列
12@k 執行12遍k里的操作
可以使用這種方法實現批量注釋, 批量修改等復雜的操作
9, b、w、e和B、W、E
b 跳上一個單詞開頭 w 跳下個單詞開頭 e跳下個單詞的末尾
區別是大寫組的命令會忽略標點
10, cw、dw、bcw、yw
用來刪除、替換一個單詞(變量、函數名).
11, tx、fx和Tx、Fx
快速跳轉到字母x上或者x之前的位置.
12, x和X u和U
x 向后刪除 X向前刪除
u 回滾 U 回滾當前行的操作
13, vi 完美支持的shell命令 :!
:!cc test.c 不必退出vi便可以編譯
:!make
14, 另外還有一些可選的選項定制.
vi啟動會讀取~/.vimrc里的選項, 在這里做一些設定.可以使vi用起來更順手一些:
1 set tabstop=2 #使Tap字符顯示為占用2個字符位
2 set et #使(手動或自動輸入的)Tap字符轉化為n個空格
3 set shiftwidth=2 #自動縮進的幅度
4 set ai nu #ai換行時自動對齊, nu顯示行號
5 au BufNewFile,BufRead *.sqc,*.dbc,*.pc set filetype=c
#自動將*.dbc等識別為c文件,并用不同的顏色顯示關鍵字.
總結
- 上一篇: 分割视频成图片+labelimg标注数据
- 下一篇: python 异步调用