一般模式常用操作
【h(或向左方向鍵)】 游標左移一個字元
【j(或向下方向鍵)】 游標下移一個字元
【k(或向上方向鍵)】 游標上移一個字元
【l(或向右方向鍵)】 游標右移一個字元
【[Ctrl] + f】 屏幕向下移動一頁(相當於Page Down鍵)
【[Ctrl] + b】 屏幕向上移動一頁(相當於Page Up鍵)
【[0]或[Home]】 游標移動到當前行的最前面
【[$]或[End]】 游標移動到當前行的末尾
【G】 游標移動到文件的最後一行(第一個字元處)
【nG】 n為數字(下同),移動到當前文件中第n行
【gg】 移動到文件的第一行,相當於"1G"
【n[Enter]】 游標向下移動n行
⑵ Vi命令的介紹
Vi 是Unix世界裡極為普遍的全屏幕文本編輯器,VIM是它的改進版本Vi IMproved的簡稱。幾乎可以說任何一台Unix機器都會提供這套軟體。Unix 提供一系列的 ex 編輯器,包括 ex, edit 和 vi 。相對於全屏幕編輯器,現在可能很難想像如何使用 ex, edit 這種行列編輯器。 Vi 的原意是 Visual,它是一個立即反應的編輯程序,也就是說可以立刻看到操作結果。也由於 vi 是全屏幕編輯器,所以它必須控制整個終端屏幕哪裡該顯示些什麼。而終端機的種類有許多種,特性又不盡相同,所以 vi 有必要知道現在所使用的是哪一種終端機。這是由 TERM 這個環境變數來設定,設定環境變數方面請查看所使用shell的說明。只要簡單的在Shell下執行vi就可以進入 vi 的編輯環境。在實際操作之前先對它有個了解會比較好。Vi 有兩種模式,輸入模式以及指令模式。輸入模式即是用來輸入文字資料,而指令模式則是用來下達一些編排文件、存檔、以及離開 vi 等等的操作指令。當執行 vi 後,會先進入指令模式,此時輸入的任何字元都視為指令。對於vi的詳細操作,可參考相關的Unix教程。
⑶ linux中vi常用的命令
[語法]:vi [-wn] [-R] 文件…
[說明]: vi 是一個基於行編輯器 ex 上的全屏幕編輯器,可以在vi 中使用 ex,ed的全部命令,vi選項中 -wn 指將編輯窗口大小置為n行,-R 為將編輯的文件置為只讀模式, vi 工作模式分為命令模式和輸入模式,一般情況下在命令模式下,可敲入vi命令,進入輸入模式下時可以編輯要編輯的文本,命令 a A i I o O c C s S R 可進入輸入模式,在輸入模式下按 ESC 鍵可推出輸入模式,回到命令模式,在命令模式中敲入: 命令,則可進入ex方式,在屏幕底部出現提示符 : ,此時可使用任意ex命令,屏幕底行也用來作/ ? ! 命令的提示行,大多數命令可以在其前面加數字,表示命令執行的重復次數,下面簡單介紹一下vi 的命令集,^ 表示(CTRL)鍵
^B 退回前一頁,前面加數字表示重復次數,每次換頁時
保留上一頁的兩行
^D 在命令模式下,表示下滾屏幕的一半,在輸入模式下,表示回退至
左邊的自動縮進處
^E 顯示屏幕底線之下的一行
^F 前進一頁,前面加數字表示重復次數,每次換頁時
保留上一頁的兩行
^G 顯示當前文件名,當前行號和文件總行數,並用百分號當前行在
整個文件中的位置
^H(退格) 在命令模式下,游標左移一格;在輸入模式下,刪去前面的字元
^I(TAB) 在輸入模式下,產生一串空格
^J(LF) 游標下移一行
^L 刷新屏幕,即將屏幕重新顯示
^M(回車) 在命令模式下,游標移動至下行開頭
在輸入模式下,開辟一新行
^N 游標下移一行
^P 游標上移一行
^Q 在輸入模式下,將其後的非列印字元作為正文插入
^R 刷新屏幕
^U 屏幕上滾一半,前面加數字時表示上滾的行數,此數字對
以後的^D ^U 命令有效
^V 在輸入模式下,將其後的非列印字元作為正文插入
^W 在輸入模式下,使游標回退一個字
^Y 顯示屏幕底線之上的一行
^Z 暫停編輯,退回上層Shell
^[(ESC) 退出輸入模式,回到命令模式
! 暫時退出編輯,執行Shell命令
(雙引號) 用於標志有名緩沖區,編號緩沖區1-9用於保存被刪去的正文,字
母名緩沖區a-z供用戶存放自定義的正文
$ 將游標移動到當前行尾,前加數字則表示前移行數,如2$表示移動
到下一行行尾
% 將游標移動到配對的小括弧()或大括弧{}上去
( 退回句子開頭
) 前移到句子開頭
- 退到上一行第一個非空格字元
. 重復上一次改變緩沖區內容的命令
/ 模式向前搜索模式,將游標移動到模式出現處,模式是一個正規
表達式,(參看 grep)
: 在屏幕底部提示:,其後可使用ex命令
? 功能同 / ,但方向是向前查找
[[ 游標回退至前一節分界處
\ 轉意符
]] 游標前移至節分界處
^(不是CTRL) 游標移至當前行第一個非空字元上
『 連續兩個」表示將游標移至其移動前的位置,』後跟字母表示游標字
母標記的行首(參看 m 命令)
A 在行尾插入正文,進入輸入模式
B 游標回退一個字
C 替換游標後的內容
D 刪除游標後的內容
E 游標前移到字尾
F 字元 在當前行向左查找指定字元
G 游標移動到其前面數字指定的行,若未指定則移動到最後一行
H 游標移動到屏幕頂行,若前面有數字,則移動到屏幕上該數字
指定的行
I 在行開頭插入正文
J 連接兩行,若前面有數字則連接數字指定的行
L 游標移動到屏幕底行,若前面有數字,則移動到屏幕底線往上數該
數字指定的行
M 游標移動到屏幕中線
N 使用模式查找/或?時,重復找下一個匹配的模式,但方向與上次相
反,其功能同 n ,但方向相反
O 在當前行上開辟一新行
P 將上次被刪除的正文插入游標前面,可在其前面加緩沖區編號,編
號1-9用於保存被刪去的正文,字母名緩沖區a-z供用戶存放自定
義的正文
Q 從vi 推出進入ex命令狀態
R 替換字元串
S 替換整行
T 字元 向左查找字元
U 將當前行恢復至第一次修改前的狀態
W 游標移至下一個字首
X 刪除游標前的字元
Y 將當前行存入無名緩沖區,前面加數字表示存入的行數,也可用有
名緩沖區來保存,以後可用命令p或P將其取出
ZZ 存檔退出vi
a 游標後插入正文
b 游標回退至上一個字首
cw 替換當前字
c) 替換當前句子
dw 刪除一個字
dd 刪除一行
e 游標移到下一個字末
f 字元 在當前行向前查找字元
h 游標左移一格
i 在游標前插入正文
j 游標下移一行
k 游標上移一行
l 游標右移一格
m 字母 用字母標記當前行,以後可用 『字母使游標移動到當前行,
(參看』命令)
n 重復上次 / 或 ? 命令
o 在當前行下開辟一新行
p 將用戶緩沖區內容放到游標位置(參看P命令)
r 替換當前字元
s 用一串字元替換當前字元
t 字元 游標移動至字元前
u 取消上次操作
w 游標移至下一字首
x 刪除當前字元
yw 將當前字存入無名緩沖區,前面可加x,表示存入名字為x的有名
緩沖區(x為a-z),也可加數字表示存入的字數,以後可用P或p命
令取出
yy 將當前行存入無名緩沖區,用法參看yw
{ 游標移動至前一段開頭
| 游標移至行首,若前面加數字,則移到數字指定行的行首
} 游標移至下一段開頭
在:提示符下,常用命令如下:
:w 當前文件存檔
:w! 強制存檔
:w 文件 將內容寫入指定文件
:w! 文件 強制寫入指定文件
:x,y w 文件 將 x至 y 行寫入指定文件中
:r 文件 將文件讀到游標位置
:r ! 命令將系統命令的輸出讀到游標位置
:q 退出編輯
:q! 強制退出
:x 與命令ZZ相同
:e 文件名 編輯另一文件
:e ! 重新編輯文件,放棄任何改變
:sh 執行sh,結束後回到編輯
:! 命令 執行命令後回到編輯
:n 編輯下一文件
:n 文件表 重新定義待編輯文件表
:set 設置 vi 的選項,例如 set nu 表示每行前顯示行號,在選項前
加no則表示清除該選項,例如 set nonu 表示每行前不顯示行
號,下面是一些常用的選項:
ai 自動縮進
aw 編輯下一文件前自動存檔
ic 查找字元串時不區分大小寫
nu 每行前顯示行號
sm 輸入)及}時顯示與之配對的( 或 {
slow 插入時延遲屏幕刷新
ws 使查找能繞過文件尾從頭進行
wa 寫文件之前不作對文件的檢查
⑷ Vi命令的命令大全
本編輯器是所有計算機系統中最常用的一種工具。UNIX下的編輯器有ex,sed和vi等,其中,使用最為廣泛的是vi,而vi命令繁多,論壇里好像這方面的總結不多,以下稍做總結,以資共享!渴望更正和補充!
進入vi的命令
vi filename :打開或新建文件,並將游標置於第一行首
vi +n filename :打開文件,並將游標置於第n行首
vi + filename :打開文件,並將游標置於最後一行首
vi +/pattern filename:打開文件,並將游標置於第一個與pattern匹配的串處
vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename
vi filename....filename :打開多個文件,依次進行編輯
移動游標類命令
h :游標左移一個字元
l :游標右移一個字元
space:游標右移一個字元
Backspace:游標左移一個字元
k或Ctrl+p:游標上移一行
j或Ctrl+n :游標下移一行
Enter :游標下移一行
w或W :游標右移一個字至字首
b或B :游標左移一個字至字首
e或E :游標右移一個字至字尾
) :游標移至句尾
( :游標移至句首
}:游標移至段落最後一個字母
{:游標移至段落第一個字母
nG:游標移至第n行首
n+:游標下移n行
n-:游標上移n行
n$:游標移至第n行尾
H :游標移至屏幕頂行
M :游標移至屏幕中間行
L :游標移至屏幕最後行
0:(注意是數字零)游標移至當前行首
$:游標移至當前行尾
屏幕翻滾類命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。
插入文本類命令
i :在游標前
I :在當前行首
a:游標後
A:在當前行尾
o:在當前行之下新開一行
O:在當前行之上新開一行
r:替換當前字元
R:替換當前字元及其後的字元,直至按ESC鍵
s:從當前游標位置處開始,以輸入的文本替代指定數目的字元
S:刪除指定數目的行,並以所輸入文本代替之
ncw或nCW:修改指定數目的字
nCC:修改指定數目的行
刪除命令
ndw或ndW:刪除游標處開始及其後的n-1個字
d0:刪至行首
d$:刪至行尾
ndd:刪除當前行及其後n-1行
x或X:刪除一個字元,x刪除游標後的,而X刪除游標前的
Ctrl+u:刪除輸入方式下所輸入的文本
搜索及替換命令
/pattern:從游標開始處向文件尾搜索pattern
?pattern:從游標開始處向文件首搜索pattern
n:在同一方向重復上一次搜索命令
N:在反方向上重復上一次搜索命令
:s/p1/p2/g:將當前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:將文件中所有p1均用p2替換
選項設置
all:列出所有選項設置情況
term:設置終端類型
ignorance:在搜索中忽略大小寫
list:顯示製表位(Ctrl+I)和行尾標志($)
number:顯示行號
report:顯示由面向行的命令修改過的數目
terse:顯示簡短的警告信息
warn:在轉到別的文件時若沒保存當前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶「」的特殊字元
nowrapscan:禁止vi在搜索到達文件兩端時,又從另一端開始
mesg:允許vi顯示其他用戶用write寫到自己終端上的信息
最後行方式命令
:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內容刪除
:w :保存當前文件
:e filename:打開文件filename進行編輯
:x:保存當前文件並退出
: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號刪除寄存器中。
tags 用法
在函數中移動游標
[{ 轉到上一個位於第一列的{
}] 轉到下一個位於第一列的{
{ 轉到上一個空行
} 轉到下一個空行 ([ and ] 也分別是兩個指令)
ctrl+t 跳回
gd 轉到當前游標所指的局部變數的定義
* 轉到當前游標所指的單詞下一次出現的地方
# 轉到當前游標所指的單詞上一次出現的地方
Vim 的創造者是一名計算機程序員,因此這就不奇怪 Vim 中有許多幫助編寫程序的功能:
跳轉到標識符被定義和使用的地方;在另一個窗口中預覽有關的聲明等等。
⑸ Vi編輯器的介紹
Vi,是一款由加州大學伯克利分校、Bill Joy研究開發的文本編輯器。
文本編輯器有很多,比如圖形模式的gedit、kwrite、OpenOffice,文本模式下的編輯器有VI、vim。vi和vim是我們在Linux中最常用的編輯器。vi或vim是Linux最基本的文本編輯工具,vi或vim雖然沒有圖形界面編輯器那樣點滑鼠的簡單操作,但vi編輯器在系統管理、伺服器管理字元界面中,永遠不是圖形界面的編輯器能比的。
注意:vi是Unix/Linux操作系統中最經典的文本編輯器,只能在編輯字元,不能對字體、段落進行排版,它既可以新建文件,也可以編輯文件;它沒有菜單,只有命令,且命令繁多。
雖然vi的操作方式與其他常用的文本編輯器很不相同,但是由於其運行於字元界面,並可用於所有Unix/Linux環境,仍被經常使用。
vi的三種命令模式
command(命令)模式,用於輸入命令
Insert(插入)模式,用於插入文本
Visual(可視)模式,用於視化的高亮並選定正文
①命令模式
命令模式是啟動vi後進入的工作模式,並可轉換為文本編輯模式和最後行模式。在命令模式下,從鍵盤上輸入的任何字元都被當作編輯命令來解釋,而不會在屏幕上顯示。如果輸入的字元是合法的vi命令,則vi就會完成相應的動作,否則vi會響鈴警告。
②文本編輯模式
文本編輯模式用於字元編輯。在命令模式下輸入i、a等命令後進入文本編輯模式,此時輸入的任何字元都被vi當作文件內容顯示在屏幕上。按Esc鍵可從文本編輯模式返回到命令模式。
③最後行模式
在命令模式下,按「:」進入最後行模式,此時vi會在屏幕的底部顯示「:」符號年作為最後行模式的提示符,等待用戶輸入相關命令。命令執行完畢後,vi自動回到命令模式。
⑹ 應該記住哪些vi/vim常用命令
編碼用得多的還是Windows下的編輯器,如各種IDE,或者Source
Insight,UE之類的,實際工作中即使編寫Linux下的程序,也可以選擇SAMBA共享的方式來在Windows下來編碼。通常覺得,能完全用Linux下的編輯器(如Vim/Emacs)來工作的,那就不是一般人,既然對Linux如此痴迷,那水平肯定也不會太差。但Linux的用法的確會困擾很多人,就連《Thinking
In Java》的作者Bruce Eckel也承認Cygwin給他帶來了很多便利,同時感嘆說如果十幾年前當他被Gnu
Emacs搞得頭腦發暈的時候有這些Windows工具就好了。當然,他肯定對Emacs也已很熟練了,絕非初學者的那種暈。
即使可用Windows來解決日常的編碼工作,但難免有需要Linux的編輯器的時候,比如看個配置文件,改個配置腳本,寫個test.c測試個小功能,這時如果能直接在Linux下搞定還是很好的,至少是節省了時間。而且有時候,也不一定有搞好的SAMBA共享。所以掌握一點vi/vim的編輯命令,至少能在這些場合還能對付一下。
vi/vim主要靠鍵盤,命令很多,不是經常用的話,不僅記不住,而且給人造成很大困擾。比如vi打開一個文件後,默認的不是編輯模式,修改不了內容,如果不知道如何切換到編輯模式,就會有很無助的感覺。最打擊人的是,連退出也不知道怎麼操作,只好關掉shell再開一個,留下心理陰影了。這些經歷相信第一次用vi/vim時,許多人都會遇到,或者是一開始會,好久不用又忘了,最後就會導致對它敬而遠之,想其它方法搞定了,哪怕要花費更多時間,但好歹會弄。
那哪些是應該記住的vi/vim命令呢?會了這些,就能進(打開文件)退(優雅退出)自如)?也不是想熟練應用各種快捷鍵,只是想能應付基本的編輯即可,相信這是許多人對vi的使用需求。
⑺ VI常用命令有哪些
cp復制cd切換目錄mv移動rm刪除df查看磁碟剩餘空間vivim編輯器還有什麼命令:你看看/bin/sbin/usr/bin這幾個文件夾就知道了。
⑻ linux中使用vi命令打開文件顯示紅色
不同的顏色代表不同的文件類型,紅色代表圖像文件。
vi命令的使用如下:
打開或新建文件,並將游標至於第一行首:[root@centos6 /]# vi /etc/my.cnf
打開文件,並將游標移至最後一行行首:[root@centos6 /]# vi + /etc/my.cnf
打開文件,並將游標置於第n行首:[root@centos6 /]# vi +n /etc/my.cnf
打開文件,並將游標置於第一個與pattern匹配的串處:vi +/pattern filename
⑼ VI命令有那些
一、基本命令介紹
---- 1.游標命令
k、j、h、l——上、下、左、右游標移動命令。雖然您可以在Linux中使用鍵盤右邊的4個游標鍵,但是記住這4個命令還是非常有用的。這4個鍵正是右手在鍵盤上放置的基本位置。
nG——跳轉命令。n為行數,該命令立即使游標跳到指定行。
Ctrl+G——游標所在位置的行數和列數報告。
w、b——使游標向前或向後跳過一個單詞。
---- 2.編輯命令
i、a、r——在游標的前、後以及所在處插入字元命令(i=insert、a=append、r=replace)。
cw、dw——改變(置換)/刪除游標所在處的單詞的命令 (c=change、d=delete)。
x、d$、dd——刪除一個字元、刪除游標所在處到行尾的所有字元以及刪除整行的命令。
---- 3.查找命令
---- /string、?string——從游標所在處向後或向前查找相應的字元串的命令。
---- 4.拷貝復制命令
---- yy、p——拷貝一行到剪貼板或取出剪貼板中內容的命令。
二、常見問題及應用技巧
---- 1.在一個新文件中讀/etc/passwd中的內容,取出用戶名部分。
---- vi file
---- :r /etc/passwd 在打開的文件file中游標所在處讀入/etc/passwd
---- :%s/:.*//g 刪除/etc/passwd中用戶名後面的從冒號開始直到行尾的所有部分。
---- 您也可以在指定的行號後讀入文件內容,例如使用命令「:3r /etc/passwd」從新文件的第3行開始讀入 /etc/passwd的所有內容。
---- 我們還可以使用以下方法刪掉文件中所有的空行及以#開始的注釋行。
---- #cat squid.conf.default | grep -v ^$ | grep -v ^#
---- 2.在打開一個文件編輯後才知道登錄的用戶對該文件沒有寫的許可權,不能存檔,需要將所做修改存入臨時文件。
---- vi file
---- :w /tmp/1 保存所做的所有修改,也可以將其中的某一部分修改保存到臨時文件,例如僅僅把第20~59行之間的內容存檔成文件/tmp/1,我們可以鍵入如下命令。
---- vi file
---- :20,59w /tmp/1
---- 3.用VI編輯一個文件,但需要刪除大段的內容。
---- 首先利用編輯命令「vi file」打開文件,然後將游標移到需要刪除的行處按Ctrl+G顯示行號,再到結尾處再按Ctrl+G,顯示文件結尾的行號。
---- :23,1045d 假定2次得到的行號為23和1045,則把這期間的內容全刪除,也可以在要刪除的開始行和結束行中用ma、mb命令標記,然後利用「:a,bd」命令刪除。
---- 4.在整個文件的各行或某幾行的行首或行尾加一些字元串。
---- vi file
---- :3,$s/^/some string / 在文件的第一行至最後一行的行首插入「some string」。
---- :%s/$/some string/g 在整個文件每一行的行尾添加「some string」。
---- :%s/string1/string2/g 在整個文件中替換「string1」成「string2」。
---- :3,7s/string1/string2/ 僅替換文件中的第3行到第7行中的「string1」成「string2」。
---- 注意: 其中s為substitute,%表示所有行,g表示global。
---- 5.同時編輯2個文件,拷貝一個文件中的文本並粘貼到另一個文件中。
---- vi file1 file2
---- yy 在文件1的游標處拷貝所在行
---- :n 切換到文件2 (n=next)
---- p 在文件2的游標所在處粘貼所拷貝的行
---- :n 切換迴文件1
---- 6.替換文件中的路徑。
---- 使用命令「:%s#/usr/bin#/bin#g」可以把文件中所有路徑/usr/bin換成/bin。也可以使用命令「:%s//usr/bin//bin/g」實現,其中「」是轉義字元,表明其後的「/」字元是具有實際意義的字元,不是分隔符。