Linux下的vi编辑器的简单使⽤操作⽅法
vi编辑器的使⽤:
vi编辑器有三种基本⼯作模式,分别是命令⾏模式、⽂本输⼊模式、末⾏模式。
1.命令⾏模式
该模式是进⼊vi编辑器后的默认模式,任何时候,不管⽤户处于何种模式,按下esc键即可进⼊命令⾏模式。
在命令⾏模式下,可以输⼊vi命令来管理⾃⼰的⽂档。此时在键盘上输⼊任何字符都被当作编辑命令,⽽不是输⼊字符。
输⼊的字符并不会在屏幕上显⽰,若是合法的vi命令,则会完成相应的动作,否则会响铃报警。
2.⽂本输⼊模式
命令⾏模式下输⼊以下⼏个命令则会进⼊⽂本输⼊模式。
i: 插⼊命令,会将⽂本插⼊到光标所在位置之前
I: 插⼊命令,会将⽂本插⼊到光标所在⾏的⾏⾸
a: 追加⽂本命令,会将⽂本追加到光标当前位置之后
A: 追加⽂本命令,会将⽂本追加到光标所在⾏的末尾
o: 空⾏插⼊命令,将在光标所在⾏的下⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸
O: 空⾏插⼊命令,将在光标所在⾏的上⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸
c: 修改命令
r: 取代命令
s: 替换命令
在该模式下,⽤户输⼊的任何字符都被当做⽂件内容保存起来,并显⽰在屏幕上。
3.末⾏模式
命令⾏模式下,⽤户按下:键即可进⼊末⾏模式,此时vi会在显⽰窗⼝的最后⼀⾏显⽰⼀个:作为末⾏模式的说明符,等待⽤户输⼊命令。多数⽂件管理命令都是在此模式下执⾏的。
末⾏命令执⾏完后,vi会⾃动回到命令⾏模式
4.vi⽂本的删除命令:
vi编辑器可以在编辑模式和命令⾏模式下删除⽂本。命令⾏模式下,vi常⽤删除命令
x 删除光标处的字符。若在x之前加上⼀个数字n,则删除从光标所在位置开始向右的n个字符。
X 删除光标前⾯的字符。若在X之前加上⼀个数字n,则删除从光标前⾯那个字符开始向左的n个字符。
dd 删除光标所在的整⾏。前⾯加上数字n,则删除当前⾏以及其后的n-1⾏。
D 或 d$ 删除从光标所在处开始到⾏尾的内容。
d( 删除到上⼀句开始的所有字符
d) 删除到下⼀句开始的所有字符
d{ 删除到上⼀段开始的所有字符
d} 删除到下⼀段开始的所有字符
d0 删除从光标前⼀个字符开始到⾏⾸的内容
dw 删除⼀个单词。若光标处在某个单词的中间,则从光标所在位置开始删⾄词尾。前⾯加数字n,表⽰删除n个指定的单词。
d 删除包括当前⾏在内的两⾏字符,其中表⽰回车
5.vi⽂本复制命令
vi编辑器可以在编辑模式和命令模式下复制⽂本。
yy 命令:复制光标所在的整⾏。在 yy 前可加⼀个数字 n,表⽰复制当前⾏及其后 n-1 ⾏的内容。
Y 或 y$ 命令:两命令功能⼀样,都是复制从光标所在处开始到⾏尾的内容。
yw 命令:复制⼀个单词。若光标处在某个词的中间,则从光标所在位置开始复制⾄词尾。同 yy 命令⼀样,可在 yw 之前加⼀个数字n,表⽰复制 n 个指定的单词。
y(:复制到上⼀句幵始的所有字符。
y) 命令:复制到下⼀句幵始的所有字符。
y{: 复制到上⼀段开始的所有字符。
y} 命令:复制到下⼀段开始的所有字符。
y 命令(表⽰回车):复制包括当前⾏在内的两⾏内容。
与⽂本复制有关的命令分为两类。
1. ⽂本粘贴命令
p 命令:粘贴命令,粘贴当前缓冲区中的内容。
2. ⽂本选择命令
v 命令:在命令模式下进⾏⽂本选择。在需要选择的⽂本的起始处按下 v 键进⼊块选择模式,然后移动光标到块尾处。这之间的部分被⾼亮显⽰,表⽰被选中。
V 命令:在命令模式下按⾏进⾏⽂本选择。在需要选择的⽂本的第⼀⾏按下 V 键,然后移动光标到块的最后⼀⾏。这之间的所有⾏被⾼亮显⽰,表⽰被选中。
6.vi撤销命令
u 命令:该命令撤销上⼀次所做的操作。多次使⽤ u 命令会⼀步⼀步依次撤销之前做过的操作(在⼀次切换到⽂本输⼊模式中输⼊的所有⽂本算⼀次操作)。
U 命令:该命令会⼀次性撤销⾃上次移动到当前⾏以来做过的所有操作,再使⽤⼀次 U 命令则撤销之前的 U 命令所做的操作,恢复被撤销的内容。
7.vi重复命令
命令⾏模式下,按下.键可以重复执⾏前⾯刚完成的命令。
8.vi退出命令
在末⾏模式下输⼊命令
1. :q 如果退出时当前编辑⽂件尚未保存,则vi不会退出,⽽是继续等待⽤户的命令,并且会在末⾏说明如下信息。
No write since last change(use! to overrides)
2. :q! 该命令不问⽂件是否改变都会强⾏退出vi编辑器。
3. :w 新⽂件名 vi保存当前编辑⽂件。等待⽤户继续输⼊命令。当+新⽂件名时,相当于另存为⼀个新的⽂件,源⽂件保持为编辑前的样
⼦。可以放置因误操作覆盖已经存在的⽂件。
4. w! 新⽂件名和:w命令相同,不同的是若指定的新⽂件存在,vi编辑器也会⽤当前编辑⽂件对其进⾏替换,且不再询问⽤户。
5. :wq vi将先保存⽂件,然后退出vi返回到shell。如果当前⽂件尚未取名,则需要先指定⼀个⽂件名
6. :x 若当前编辑⽂件曾被修改过,则vi会保存该⽂件,否则直接退出。
9.字符替换命令
r命令该命令将当前光标所指的字符替换为提供的字符。可以在该命令之前加上数字 n,表⽰将从当前字符开始的 n 个字符替换为提供的字符。
R命令该命令会让 vi 进⼊ replace 模式。在此模式下,每个输⼊的字符都会替换当前光标下的字符,直到输⼊结束该模式。
10.光标移动命令
h 光标左移⼀个字符
H 将光标移动到当前屏幕的第⼀⾏。前⾯+数字n,则将光标⼀直第n⾏的⾏⾸。
j 光标下移⼀⾏
k 光标上移⼀⾏
i 光标右移⼀个字符
M 将光标移⾄中间⾏的⾏⾸。
L 将光标移⾄屏幕显⽰⽂件的最底⾏的⾏⾸。
G 全⽂范围内移动光标,光标的移动不再受到屏幕的限制。前⾯加上数字n,表⽰将光标移动到⽂件的第五⾏⾏⾸。
w 将光标右移⾄下⼀个字的字⾸,这⾥的字表⽰英⽂单词、标点符号和⾮字母字符
W 将光标右移⾄下⼀个字的字⾸,这⾥的字表⽰两个空格之间的任何内容
e 把光标移到本字字尾,光标起始位置处于字尾,则把光标移动到下⼀个字的字尾。这⾥的字是指英⽂单词、标点符号和⾮字母字符
E 把光标移到本字字尾,光标起始位置处于字尾,则把光标移动到下⼀个字的字尾。这⾥的字是指两个空格之间的任何内容
b 把光标移⾄本字字⾸,光标起始位置处于字⾸,则把光标移动到上⼀个字的字⾸。这⾥的字是指英⽂单词、标点符号和⾮字母字符
B 把光标移⾄本字字⾸,光标起始位置处于字⾸,则把光标移动到上⼀个字的字⾸。这⾥的字是指两个空格之间的任何内容
{ 该命令将光标向前移⾄上⼀个段落的开头。
**} ** 该命令将光标向后移⾄下⼀个段落的开头。
11.⽂本移动命令
>n 将指定的正⽂向右移动,通常是右移8个空格。移动正⽂的范围由光标所在⾏和随后输⼊的光标移动命令所限定。n 表⽰光标所在位置后⾯的⽂本⾏数。可以不写 n,此时默认为 1;换句话说,只使⽤
>命令将会移动光标所在的⽂本⾏,以及下⼀个⽂本⾏。如果只想移动光标所在的⽂本⾏,可以写>0。
<n 将指定的正⽂向右移动
>> 该命令将光标所在⾏右移 8 个空格。前⾯加数字n则移动当前⾏加n-1⾏
<< 与>>相反
m命令:imj 表⽰把第i⾏移⾄第j⾏的下⽅。
12.vi屏幕滚动命令
如果⽂件太⼤,⼀个屏幕⽆法显⽰全部内容,vi编辑器采⽤分屏显⽰的⽅法。使⽤屏幕滚动命令可以以屏幕为单位移动光标。
滚屏和分页命令命令意义
Ctrl+u将屏幕向前(⽂件头⽅向)翻滚半屏
Ctrl+d将屏幕向后(⽂件尾⽅向)翻滚半屏
Ctrl+f将屏幕向⽂件尾⽅向翻滚⼀整屏
Ctrl+b将屏幕向⽂件⾸⽅向翻滚⼀整屏
可以在滚屏和分页命令之前加上⼀个数字 n,表⽰屏幕向前或向后翻滚 n ⾏,或者屏幕向前或向后移动 n 页。这些设置会被 vi 编辑器记住,下次⽤户在使⽤滚屏和分页命令时,还会滚动和上次设置相同的⾏数或者页数。
13.vi字符串检索命令
字符串检索命令要在末⾏模式下
/ /string,从光标处向后寻字符串string
string,从光标向前寻字符串string
n 重复上⼀条检索命令
N 重复上⼀条检索命令,但是改变检索⽅向
g/ g/string 检索string,g/命令使光标停⽌在第⼀个检索到的 string 串的⾏⾸。
14.vi字符串替换命令
linux系统vim编辑器字符串替换命令在末⾏模式下
[range]s/s1/s2/[option]
其中[range]表⽰检索范围,省略时表⽰当前⾏。
1,10 表⽰从第⼀⾏到第10⾏
% 表⽰整个⽂件,同1,$
.,$ 表⽰从当前⾏到⽂件尾
s为替换命令
s1表⽰要被替换的串,s2为替换的串
option 表⽰选项
/g 表⽰再全局⽂件中进⾏替换
/
c 表⽰再每次替换之前需要⽤户进⾏确认
省略时表⽰仅对每⾏第⼀个匹配串进⾏替换
在执⾏替换命令指令时,可以加⼊简单的模式匹配
<word 表⽰以word为开头的单词
$s/\<abc/cde表⽰在全⽂将以abc为开头的单词替换为cde
15.vi窗⼝切分命令
窗⼝切分命令在末⾏模式下
:sqlit⽂件名可以实现窗⼝的切分,将窗⼝切分为上下两部分,下半部分对应原来的⽂件,上半部分对应新打开的⽂件。
有时⽤户需要在多窗⼝之间进⾏切换,vi编辑器提供了⼀组命令⽀持⽤户切换多个窗⼝。
切换命令命令的意义
Ctrl+w,然后 j移动光标到下⾯的⼀个窗⼝
Ctrl+w,然后 k移动光标到上⾯的⼀个窗⼝
Ctrl+w,然后 q关闭当前窗⼝
Ctrl+w,然后 w移动光标到另⼀个窗⼝
16.vi属性设置命令
vi属性设置命令在末⾏模式下
⾏号设置命令
:set nu(nonu) 该命令显⽰⾏号(或者不显⽰⾏号)
显⽰设置命令
:set hlsearch(nohlsearch)该命令设定搜寻字符串反⽩显⽰(或者不反⽩显⽰)。语法缩进命令
:set autoindent该命令显⽰程序语法⾃动缩进。
⽂件存储命令
:
set backup(nobackup)该命令⾃动存储备份⽂件(或者不⾃动备份⽂件)。
显⽰选项命令
:set all该命令显⽰所有的选项。
语法⾼亮命令
syntax on(off)该命令实现程序语法⾼亮显⽰(或者不⾼亮显⽰)。
⼤⼩写区分命令
:set ignorecase(noignorecase)该命令忽略⼤⼩写(或者区分⼤⼩写)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论