vim c语言编辑器,Vim编辑器简单使用
Vim Logo
自己根據馬哥教程總結的部分Vim基礎使用
Vim是一款很強大的文本編輯工具.如果你常需要書寫或編輯大量文本,那學會它絕對會讓你的工作與學習如虎添翼.
幾種模式:
1.命令 : 默認進入顯示的為命令模式,光標為粗豎線。按[aAiIoO..]等字母可切換到編輯模式.
2.編輯 : 光標為細豎線。別的模式按‘Esc’或'Ctrl+c'可以切換到命令模式.
3.末行 : 在命令模式下輸入‘:’號可以切換到末行.
4.可視 : 在命令模式下輸入v或V可切換到可視模式.
打開文件:
vim +num file : 打開文件后光標處于第num行第一個字符處.
vim + file: 打開文件后光標在最后一行。
vim +/PATTERN file : 打開文件后光標處于第一個被PATTERN匹配到的地方
同時打開多個文件:
用法 :vim file1 file2 ... (默認只顯示第一個打開的文件,因為只有一個窗口)
:next 打開下個file
:prev 打開上個file
:first 打開第一個file
:last 打開最后一個file
退出所有文件:
:wall 保存所有文件
:qall 退出所有文件
:wqall 保存退出所有文件匹配到的行的行首
多窗口操作多個文件
多窗口同時顯示多個文件:
vim -o file1 file2 水平分割窗口(即file1在上file2在下) Ctrl+w 松開后再 按上下方向鍵切換光標所在窗口
vim -O file1 file2 垂直分割窗口(即file1在左file2在右) Ctrl+w 松開后再按左右方向鍵切換光標所在窗口
再切分文件:
Ctrl+w,s: 水平分割光標所在的窗口,即上下顯示同一個文件(逗號處表松開前兩鍵)
Ctrl+w,v: 垂直分割光標所在的窗口,即左右顯示當前文件的兩份相同的內容(同上)
Ctrl+w,c: 在光標所在的窗口中依次取消多窗口(同Ctrl + w,q功能一致)
Ctrl+w,x: 交換同一文件但多個窗口中的內容(即窗口位置互相調換)
命令模式下的光標跳轉操作
#G : #號用數字替代,表示跳至第#行,這個功能還可以用末行模式來完成:按':'號然后輸入想查找的行號回車即可.如 :25
+ : 光標移動到非空格符的下一列
- : 光標移動到非空格符的上一列
H : 光標移動到當前屏第一行第一個字符
M : 光標移到當前屏中間行第一個字符
L : 光標移動至當前屏最后一行第一個字符
行首行尾跳轉:
^ : 跳轉至行首第一個非空白字符
$ : 中轉至行尾最后一個非空白字符
0 : 中轉至絕對行首
句間跳轉:vim -R file: 以只讀模式打開file文件。
單詞間跳轉:
w : 下一個單詞的詞首
b : 上一個單詞的詞首
e : 下一個單詞的詞尾
n : 光標向右偏移n個字符
行間跳轉:
gg: 跳至文件第一行
G : 跳至文件最后一行
n : 光標向下移動n行
行內跳轉:
0: 絕對行首
^: 行內第一個非空白字符
$: 絕對行尾
句子跳轉:
) : 句子間跳轉,用得少
( :
段間跳轉:
} :
{ :
翻屏:
Ctrl + f: 文件后翻一屏
Ctrl + d: 半屏
Ctrl + b: 文件前翻一屏
Ctrl + u: 半屏
命令模式下的編輯操作
編輯(支持前面加數字):
刪除:
x,X(向前刪一個字符), xp(對調)
dd,db,de,d^,d$,...
改變:會切換到輸入模式
c, cc, cw, c$, c^
替換:
r : 替換光標當前那個字符
R : 會一直替換光標所指的文字,直到按下ESC為止
復制:(yank)
y (用法同刪除d類似) 如yy即復制一行
粘貼:
P(當前行上一行), p(往當前行下一行)
如果復制或刪除的不是整行則
P --> 粘貼在光標所在字符的前面
p --> 后
撤銷:
u : 撤銷此前的操作
#u: 撤銷此前#個操作
撤銷此前的撤銷: Ctrl + r
重復執行此前的命令: .
插入: i I
添加: a A
插入新一行: o O
可視模式(相當于窗口界面上用鼠標選中一段內容):
v : 按字符選定
V : 按行選定
對選定的內容可結合上述編輯命令進行操作
末行模式:
1. 地址定界
%: 表示全文
.: 表示當前行
$: 表示最后一行
+#: 向下的#行
strart_pos[,end_pos]:
例如:5 第5行
:5,10 從第5行到第10行 # 示例刪除5至99行內容 :5,99d
:5,+10 從第5行開始往后加10行
/pattern/: 光標所在處起始向文件尾部第一次被模式所匹配到的行 # :/
如 :/first/,$
:/pattern1/,/pattern2/ 表示從光標所在處起始,第一次由pat1匹配到的行開始,至第一次由pat2匹配到的行結束.
同地址定界符配合使用的命令:
d,y,c,
w /PATH/TO/SOMEFILE: 將范圍內的文本保存至指寶的文件中.
r /PATH/TO/SOMEFILE: 將指定的文件中的文件讀取并插入至指定的位置.
2.查找(這個方法同Linux man手冊是一樣的)
/PATTERN: 從當前光標所在處向文件尾部查找能夠被當前模式匹配到的所有字符串
n 下一個
N 上一個
?PATTERN: 從當前光標所在處向文件首部查找能夠被當前模式匹配到的所有字符串
n與N的用法與上面相反
3.查找并替換
格式:
:s/old/new/修飾符 其中old可使得正則表達式,new不能使用正則表達式但可以引用.
修飾符:
i : 查找時忽略大小寫
g : 全局替換,意味著一行中如果匹配到多次則均替換
4. 常用示例:
:g/^$/d 刪除空白行
5. 寫輸出(拷貝 保存)保存到其他文件
:35,46 w /root/new.txt
6. 在當前光標后 讀(插)入新內容
:r /home/james/books.txt
Vim配置文件常用功能配置指令:
vim FILE +NUM: 定位具體某行打開FILE
set nocompatible " 關閉 vi 兼容模式
syntax on " 自動語法高亮
set list " 顯示tab與換行符"$"
set number " 顯示行號
set cursorline " 突出顯示當前行
set ruler " 打開狀態欄標尺
set shiftwidth=4 " 設定 << 和 >> 命令移動時的寬度為 4
set softtabstop=4 " 使得按退格鍵時可以一次刪掉 4 個空格
set nobackup " 覆蓋文件時不備份
set autochdir " 自動切換當前目錄為當前文件所在的目錄
filetype plugin indent on " 開啟插件
set backupcopy=yes " 設置備份時的行為為覆蓋
set ignorecase smartcase " 搜索時忽略大小寫,但在有一個或以上大寫字母時仍保持對大小寫敏感
set nowrapscan " 禁止在搜索到文件兩端時重新搜索
set incsearch " 輸入搜索內容時就顯示搜索結果
set hlsearch " 搜索時高亮顯示被找到的文本
set noerrorbells " 關閉錯誤信息響鈴
set novisualbell " 關閉使用可視響鈴代替呼叫
set t_vb= " 置空錯誤鈴聲的終端代碼
" set showmatch " 插入括號時,短暫地跳轉到匹配的對應括號
" set matchtime=2 " 短暫跳轉到匹配括號的時間
set magic " 設置魔術
set hidden " 允許在有未保存的修改時切換緩沖區,此時的修改由 vim 負責保存
set guioptions-=T " 隱藏工具欄
set guioptions-=m " 隱藏菜單欄
set smartindent " 開啟新行時使用智能自動縮進
set backspace=indent,eol,start " 不設定在插入狀態無法用退格鍵和 Delete 鍵刪除回車符
set cmdheight=1 " 設定命令行的行數為 1
set laststatus=2 " 顯示狀態欄 (默認值為 1, 無法顯示狀態欄)
set statusline=\ %
" 設置在狀態行顯示的信息
set foldenable " 開始折疊
set foldmethod=syntax " 設置語法折疊
set foldcolumn=0 " 設置折疊區域的寬度
setlocal foldlevel=1 " 設置折疊層數為
" set foldclose=all " 設置為自動關閉折疊
" nnoremap @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')
" 用空格鍵來開關折疊
set nocompatible " 去掉有關vi一致性模式,避免以前版本的bug和局限"
set guifont=Luxi/ Mono/ 9 " 設置字體,字體名稱和字號"
filetype on " 檢測文件的類型"
set history=1000 " 記錄歷史的行數"
set background=dark " 背景使用黑色"
syntax on " 語法高亮度顯示
set autoindent " vim使用自動對齊,也就是把當前行的對齊格式應用到下一行(自動縮進)"
set cindent " (cindent是特別針對 C語言語法自動縮進)"
set smartindent " 依據上面的對齊格式,智能的選擇對齊方式,對于類似C語言編寫上有用"
set tabstop=4 " 設置tab鍵為4個空格"
set shiftwidth =4 " 設置當行之間交錯時使用4個空格"
set ai! " 設置自動縮進"
colorscheme molokai " 設定配色方案
set showmatch " 設置匹配模式,類似當輸入一個左括號時會匹配相應的右括號"
set guioptions-=T " 去除vim的GUI版本中得toolbar"
set vb t_vb= " 當vim進行編輯時,如果命令錯誤,會發出警報,該設置去掉警報"
set ruler " 在編輯過程中,在右下角顯示光標位置的狀態行"
set nohls " 默認情況下,尋找匹配是高亮度顯示,該設置關閉高亮顯示"
set incsearch " 在程序中查詢一單詞,自動匹配單詞的位置;如查詢desk單詞,當輸到/d時,會自動找到第一個d開頭的單詞,當輸入到/de時,會自動找到第一個以ds開頭的單詞,以此類推,進行查找;當找到要匹配的單詞時,別忘記回車"
set backspace=2 " 設置退格鍵可用"
vim中切換模式時顯示不同的光標形狀(放置在家目錄中的.vimrc文件中即可):
if has("autocmd")
au VimEnter,InsertLeave * silent execute '!echo -ne "\e[2 q"' | redraw!
au InsertEnter,InsertChange *
\ if v:insertmode == 'i' |
\ silent execute '!echo -ne "\e[6 q"' | redraw! |
\ elseif v:insertmode == 'r' |
\ silent execute '!echo -ne "\e[4 q"' | redraw! |
\ endif
au VimLeave * silent execute '!echo -ne "\e[ q"' | redraw!
endif
會用這些功能就夠了
總結
以上是生活随笔為你收集整理的vim c语言编辑器,Vim编辑器简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kubernetes文章收集
- 下一篇: uTorrent transport p