vi相關操作命令集

VI指令及其使用技巧(彙總,僅最常用的)
理解VI關鍵是理解VI有兩個狀態(我個人認爲)一個是命令狀態,一個是編輯狀態
兩個狀態的切換主要是下面插入文本類命令,VI剛進去是命令狀態。
瞭解這些之後,就不會再出現按什麼沒反應的狀態了(俺最初用VI的狀態,那時沒系統看過,苦惱)
進入vi的命令
============
vi filename打開或新建文件,並將光標置於第一行首
vi +n filename打開文件,並將光標置於第n行首
vi -r filename在上次正用vi編輯時發生系統崩潰,恢復filename
移動光標類命令
==============
w或W 光標右移一個字至字首
b或B 光標左移一個字至字首
e或E 光標右移一個字至字尾
}光標移至段落開頭
{光標移至段落結尾
nG光標移至第n行首
n+光標下移n行
n-光標上移n行
n$光標移至第n行尾
H光標移至屏幕頂行
M光標移至屏幕中間行
L光標移至屏幕最後行
0光標移至當前行首
$光標移至當前行尾
屏幕翻滾類命令
==============
nz將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。
插入文本類命令
==============
i在光標前
I在當前行首
a光標後
A在當前行尾
o在當前行之下新開一行
O在當前行之上新開一行
r替換當前字符
R替換當前字符及其後的字符,直至按ESC鍵
s從當前光標位置處開始,以輸入的文本替代指定數目的字符
S刪除指定數目的行,並以所輸入文本代替之
ncw或nCW修改指定數目的字
nCC修改指定數目的行
刪除命令
========
ndw或ndW刪除光標處開始及其後的n-1個字
do刪至行首
d$刪至行尾
ndd刪除當前行及其後n-1行
x或X刪除一個字符,x刪除光標後的,而X刪除光標前的
Ctrl+u刪除輸入方式下所輸入的文本
搜索及替換命令
==============
pattern從光標開始處向文件尾搜索pattern
pattern從光標開始處向文件首搜索pattern
n在同一方向重複上一次搜索命令
N在反方向上重複上一次搜索命令
sp1p2g將當前行中所有p1均用p2替代
n1,n2sp1p2g將第n1至n2行中所有p1均用p2替代
gp1sp2g將文件中所有p1均用p2替換
選項設置
========
set number將行號作爲屏幕顯示的一部分,但是行號並不是文件的一部分。它的縮寫形式爲:set nu
set nonumber清除屏幕上的行號。也可以使用縮寫形式:set nonu
set showmode在屏幕的右下角顯示追加模式信息
set list在每行的行末顯示美元符號,並用Ctrl+I表示製表符
set showmatch在輸入)或]時,將光標移到與之匹配的(或[
set window=value定義屏幕上顯示的文本行的行數
set autoindent自動縮進。也可以使用縮寫形式:set ai
set tabstop=value設置顯示製表符的空格字符個數。也可以使用縮寫形式ts=value
set wrapmargin=value設置顯示器的右頁邊。當輸入進入所設置的頁邊時,編輯器自動回車換行
set ignorecase指示編輯器搜索字符串,並忽略目標中字母的大小寫
set顯示設置的所有選項
set all顯示所有可以設置的選項
最後行方式命令
==============
n1,n2 co n3將n1行到n2行之間的內容拷貝到第n3行下
n1,n2 m n3將n1行到n2行之間的內容移至到第n3行下
n1,n2 d將 n1行到n2行之間的內容刪除
w保存當前文件
e filename打開文件filename進行編輯
 wq保存當前文件並退出
q退出vi
q!不保存文件並退出vi
!command執行shell命令command
n1,n2 w!command將文件中n1行至n2行的內容作爲command的輸入並執行之,若不指定n1,n2,則表示將整個文件內容作爲command的輸入
r!command將命令command的輸出結果放到當前行
複製操作
==========
nyy將當前行及其下n行的內容保存到寄存器?中,其中?爲一個字母,n爲一個數字
nyw將當前行及其下n個字保存到寄存器?中,其中?爲一個字母,n爲一個數字
nyl將當前行及其下n個字符保存到寄存器?中,其中?爲一個字母,n爲一個數字
p取出寄存器?中的內容並將其放到光標位置處。這裏?可以是一個字母,也可以是一個數字
ndd將當前行及其下共n行文本刪除,並將所刪內容放到1號刪除寄存器中
VI命令的高級版本是VIM,操作基本一樣。
下面是VIM配置文件的使用方法,比如自動縮進等功能可以加到這裏面去:
在每個用戶的主目錄下,都有一個 vi的配置文件.vimrc或.exrc,用戶可以編輯它,使這些設置在每次啓動 vi時,都有效。
例如,加入如下設置行:
syntax on使命令文本顯示彩色
set nu顯示行號
set nonu不顯示行號
set ic查找時不考慮大小寫
set noic查找時考慮大小寫
set autoindent設置自動縮進功能(對於編輯C++文檔有用)
set softtabstop=4 tab鍵爲4個字符
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章