linux之vi,vim命令
vim 是對 vi 的擴展,文中的很多操作是 vi 通用的
vi 是區分大小寫的命令的,也就是說 g與G 是不同的命令
在不同模式下,快捷鍵是不一樣的 模式分 一般模式 編輯模式 指令模式
一般模式用于文件內部操作,編輯模式用于輸入編寫等,指令模式用于對文本文件進行操作
常用操作
進入一般模式為開始編輯,或者按 esc 后進入
光標詳細操作
查找命令
指令模式
屏幕翻滾
插入命令
刪除命令
多窗口模式
多文件編輯
vim 自定義技巧
復制粘貼取消縮進
:set paste
進入 paste 模式以后,可以在插入模式下粘貼內容,不會有任何變形
這個參數做了這么多事:
textwidth設置為0 wrapmargin設置為0 set noai set nosi softtabstop設置為0 revins重置 ruler重置 showmatch重置 formatoptions使用空值
下面的選項值不變,但卻被禁用
lisp indentexpr cindent
綁定快捷鍵來激活 / 取消 paste 模式
:set pastetoggle=
出現粘貼換行符錯位,設置一下 .vimrc
" this can change way of paste words :set paste " default tabstop=8 :set tabstop=4 " use keyboard F11 to change paste mode :set pastetoggle=
vim 縮進
Normal Mode 下,命令>>將對當前行增加縮進,而命令<<則將對當前行減少縮進
在命令前使用數字,來指定命令作用的范圍
5<<
在 Insert/Replace Mode 下
Ctrl-Shift-t可以增加當前行的縮進
Ctrl-Shift-d則可以減少當前行的縮進
使用0-Ctrl-Shift-d命令,將移除所有縮進
需要注意的是,當我們輸入命令中的 “0” 時,Vim 會認為我們要在文本中插入一個 0,并在屏幕上顯示輸入的“0”;然后當我們執行命令 0-Ctrl-Shift-d 時,Vim 就會意識到我們要做的是減少縮進,這時 0 會就會從屏幕上消失
vim tab 縮進
tab 縮進寬度默認為 8 個空格
我們可以使用以下命令,來修改縮進寬度
:set tabstop=4 :set softtabstop=4 :set shiftwidth=4 :set expandtab
tabstop: 表示一個 tab 顯示出來是多少個空格的長度默認 8
softtabstop: 表示在編輯模式的時候按退格鍵的時候退回縮進的長度當使用 expandtab 時特別有用。
shiftwidth: 表示每一級縮進的長度一般設置成跟 softtabstop 一樣。 當設置成 expandtab 時縮進用空格來表示noexpandtab 則是用制表符表示一個縮進
expandtab 選項,用來控制是否將 Tab 轉換為空格, 但是這個選項并不會改變已經存在的文本,如果需要應用此設置將所有 Tab 轉換為空格,需要執行
:retab!
vim 自動縮進
cindent
:set cindent
vim 可以很好的識別出 C 和 Java 等結構化程序設計語言,并且能用 C 語言的縮進格式來處理程序的縮進結構
smartindent
:set smartindent
在這種縮進模式中,每一行都和前一行有相同的縮進量,同時這種縮進形式能正確的識別出花括號,當遇到右花括號(}),則取消縮進形式。此外還增加了識別 C 語言關鍵字的功能。如果一行是以 #開頭的,那么這種格式將會被特殊對待而不采用縮進格式。
autoindent
:set autoindent
在這種縮進形式中,新增加的行和前一行使用相同的縮進形式
顯示隱藏符號
默認不顯示 :set nolist
顯示 :set invlist
" normal is :set nolist | show hide is :set invlist :set nolist
使用 vim 寄存器
使用 vim 寄存器 “+p 粘貼
根本不用考慮是否自動縮進,是否 paste 模式,直接原文傳遞
如果想保存原寄存器中內容而同時增加新的內容,就要在 yy 前增加標簽
標簽以雙引號開始,跟著的是標簽名稱,可以是數字 0-9,也可以是 26 個字母
顯示所有寄存器內容
:reg
注意兩個特殊的寄存器:* 和 +
這兩個寄存器是和系統相通的,前者關聯系統選擇緩沖區,后者關聯系統剪切板
通過它們可以和其他程序進行數據交換
若寄存器列表里無 * 或 + 寄存器,則可能是由于沒有安裝 vim 的圖形界面所致
sudo apt-get install vim-gnome
設置 vim 永遠顯示行號
修改 vim 的配置文件加入 set nu
vi ~/.vimrc
然后輸入
set nu
當然也可以輸入其他配置類似
set nonu syntax on
vimrc 常用配置
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。