機械社區(qū)
標題: vi常用命令 [打印本頁]
作者: tainqing 時間: 2017-8-20 11:11
標題: vi常用命令
插入:
i 從光標當前位置開始插入
a 從光標當前位置的下一個字符開始插入
o 在光標位置的下行插入一個空行,,再進行插入
O 在光標位置的上一行插入一個空行,,再進行插入
I 從光標所在行的開頭開始插入正文
A 從光標所在行的末尾開始插入正文
esc=(ctrl+[)
文件保存與退出:
:w 保存文件
:w <filename> : 另存為
:w! 強制保存文件
:q 退出
:q! 強制退出
:x = :wq
文件寫入與打開:
:w filename 保存文件為給出的文件名
:w! filename 強制保存文件為給出的文件名
:f filename 將當前文件重命名為filename
:r filename 插入文件內(nèi)容到光標指定的位置
:e filename 編輯新文件(打開另一個文件進行編輯)
:e! 放棄對文件的修改,并加裁原始的文件內(nèi)容
復制粘貼:
[n]x 刪除從光標開始的連續(xù)n個字符
[n]dd 刪除從光標開發(fā)的n行
[n]yy 復制從光標開始的n行
y$ 從光標位置復制在行尾
p 粘貼
gp 粘貼
u 撤消
U 撤消對一行的全部操作
ctrl+r 重做(反撤消)
. 重復上次操作
yw 復制一個word
dw 剪貼一個word
cw 修改一個word
D 剪貼光標到行尾
C 修改光標到行尾
選擇:
v 按字符選擇
V 按行選擇
ctrl+v 按塊選擇
光標跳轉(zhuǎn):
h、j,、k,、l 左,、下,、上、右
H,、M,、L 屏幕最上邊、屏幕中間位置,、屏幕最下邊
gg 跳到文件第一行
G 跳到文件最后一行
$ 跳到行末
0(數(shù)字0)跳到行首
[num]gg(或[n]G) 跳到文件第n行
[n]H 跳到屏幕第n行
fx 光標移動到本行之后第一此出現(xiàn)“x”的位置,;如:fa ,移動到下一次a出現(xiàn)的位置
Fx 光標移動到本行之前一此出現(xiàn)“x”的位置,;如:fa ,,移動到上一次a出現(xiàn)的位置
% 在前后括號({}() )位置之間移動
:n 跳到第n行(同[n]G)
w 光標向右移動一個字
W 光標移動到下的個空格之后
b 光標向左移動一個字
B 光標移動到上一個空格之后
num% 跳到文件num%處 , 如50%
編輯模式下按v 進入可視狀態(tài)進行內(nèi)容選擇
[n]shift + > 所選內(nèi)容向右移動一個tab
[n]shift + < 所選內(nèi)容向左移動一個tab
查找替換:
/string 查找字符串 ,,配合n(next)使用
* 向后搜索光標所在位置的一個word
# 向前搜索光標所在位置的一個word
/\<xxx 查找以xxx開頭的字符串
/xxx\> 查找以xxx結(jié)尾的字符串
/\<xxx\> 完全匹配查找
d/int main 從光標所在位置開始刪除,,直到遇到int main
:s/str1/str2 用str2替換行中首次出現(xiàn)的字符串str1
:s/str1/str2/g 用str2替換行中所有的字符串str1
:%s/str1/str2/g 用str2替換全文中所有的字符串str1,不詢問,強制替換
:%s/str1/str2/gc 用str2替換全文中所有的字符串str1,,詢問
fd 查找本行第一個d字符
,; 下一個
, 上一個
vi:
打開或新建:
vi <filename> #命令行
:ed <filename> #最后一行模式
:fin[d] <path/file> #在路徑path中查找文件,,然后編輯它
new <file> # 在新窗口中編輯文件
窗口操作:
:sp(或ctrl+w+s): 打開一個新窗口,,編輯相同的內(nèi)容。
:new(或ctrl+W+n): 打開一個空的北新窗口,。
ctrl+w+w: 在多個窗口間切換
J 刪除行末的換行符,,將下行與本行合并為一行
滾屏:
ctrl+u[p] 向下滾半屏
ctrl+d[own] 向上滾半屏
ctrl+f[ront] 向下滾一屏
ctrl+b[ack] 向上滾一屏
ctrl+e 向下滾一行
ctrl+y 向上滾一行
zz 將光標所在的行放在屏幕中間
zt 將光標所在的行放在屏幕第一行 top
zb 將光標所在的行放在屏幕最后一行 botton
Go 跳到文件尾部去插入
標簽:
:tabe [file] 打開新標簽并在新標簽中編輯file所指的文件
:[num] gt 在不同的標簽之間切換 num指的是第幾個標簽
:tabo 關(guān)閉所有其它的標簽頁
:tabs 列出標簽頁和它們包含的窗口
:tabfir[st] 跳轉(zhuǎn)到第一個標簽
:tabl[ast] 跳轉(zhuǎn)到最后一個標簽
vim比較文件內(nèi)容:
vimdiff main.c main2.c
vim設置:
set number
set nonumber
set ignorecase #忽略大小寫 (查找字符串時)
set noignorecase
set ruler #顯示當前光標所在位置
set nuruler
set hlsearch #高亮顯示 (查找字符串是,找到后高亮顯示)
set nohlsearch
set incsearch #在輸入字符串時就開發(fā)查找
set noincsearch
syn on #高亮顯示
set backspace=2 #backspace可用
編程編:
1. 打開include 的文件:
(1) 光標放在文件名上,,按 ctrl+w f ,,在一個水平分割的窗口中打開。
(2) 光標放在文件名上,,按gf,, 在同一個窗口中打開。
2. 通過find命令打開文件:
(1)先通過set path設置查找的目錄:
set path=.,./**,/usr/include 表示在當前目錄,,當前目錄下的所有子目錄,和/usr/include目錄下進行查找
(2)設置好目錄后在vi下用:find filename即可查找并打開文件信盈達企鵝要妖氣嗚嗚吧久零就要,。
3. ctags
(1).在項目目錄下用“ctags -R .”產(chǎn)生tags文件,。 可將ctags命令寫入makefile文件中
(2).在vim中設置tags文件“set tags=tags”
(3).在vim中通過tag命令中轉(zhuǎn)到函數(shù):tag main
:tag {ident} “中轉(zhuǎn)到指定的標簽
:tags "顯示標簽
:Ctrl+] “跳轉(zhuǎn)到當前光標下的標簽(函數(shù)聲明處)
:Ctrl+T “跳轉(zhuǎn)到標簽棧中較早的標簽(函數(shù)調(diào)用處)
在taglist串口中將光標移動到某個tag上,,按空格鍵會在狀態(tài)欄上顯示原型
4. taglist
:TlistOpen 打開taglisg
:p "預覽taglist窗口中光標所在位置的tag。

"在新窗口中打開光標所在位置的tag
:l "展開tag
:+ "展開tag
:= "展開所有tag
:- "折疊tag(不用shift)
:* "折疊所有tag
6. MiniBufExplorer
此插件會使窗口上顯示一個buff清單,,可以在該窗口上來選擇打開某個buf文件
<Tab> :跳到下一個buffer名上
<shift+Tab>:跳到上一個buffer名上
0 V: w0 G$ w$ Q+ h. r! {3 v
作者: xiaobing86203 時間: 2017-8-20 22:15
VI是神馬,?
作者: 忽樂極 時間: 2017-8-21 11:58
labVIEW?
歡迎光臨 機械社區(qū) (http://97307.cn/) |
Powered by Discuz! X3.4 |