找回密码
 注册
关于网站域名变更的通知
查看: 371|回复: 1
打印 上一主题 下一主题

linux下vi与vim使用与区别

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-2-24 10:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
; |: K" N3 n! p. f
【1】VI与VIM区别
! M1 N; {5 j* g/ p7 S! Y: [& H2 b# b; a& B; m
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。- E. R* C1 C0 z

3 a8 B% f/ J9 n1 wvim的这些优势主要体现在以下几个方面:
( n4 M# u5 ]# V$ N. n3 j2 l! k9 Y8 u( n
1、多级撤消 8 X2 H6 g( O. n. r$ U
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。+ n, ^& s. R/ @! c4 R: L' m
2 O! t) N# s, {0 g/ z8 `
2、易用性
' d) h2 ?# G% P: \7 B3 {9 Q& V( \' C* _& N: g; F4 d  u
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。& j" r. D" w; o0 {
8 x# Z: q* P. [
3、语法加亮
; u4 {. n' O6 ]; g  c# F: A& ^vim可以用不同的颜色来加亮你的代码。
4 V! t) }; c# P0 Q  \' r2 f
, ^2 |2 l% z' j8 k# w7 p4、可视化操作
( s, z- q* P# u$ k$ P0 L& O- O就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。- t6 B: I" r) q# O

  `$ e4 v) g/ X4 ?5、对vi的完全兼容 1 u3 n% a0 o; s9 \! O2 c4 [
某些情况下,你可以把vim当成vi来使用。: E- ?- ]3 E& I4 u. a- Q, O0 p7 B' f

8 |7 B# `9 j, Z8 wvi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。5 s3 K( ~* |" W

/ z( N) v0 t1 T0 V0 f: e- `7 w" u, Q【2】VI模式6 n1 R  q* t$ N/ B& e& @# L
1 e4 f/ K7 ]( F# G1 O9 I
vi有3个模式:命令行模式 (command mode/一般模式)、文本输入模式 (input mode/编辑模式)、末行模式 (last line mode/指令列命令模式)。
, _$ w  @2 u3 A! h2 @+ @5 ]
, C' P5 S  V6 n( M命令行模式 (command mode/一般模式)# E& ?9 I+ M) n- a; ~/ u
$ {; h' q3 }" N  C4 N: v" E
  任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。 3 u4 r! w6 l/ r& H2 s3 K, X
  在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。
; T; B! h& s' J3 ^) h3 h' H
3 O; \3 Y  U) d8 }. [2 g! _8 p' v文本输入模式 (input mode/编辑模式)
, ^) Y& r5 L! d6 I6 {/ G( s
) g' W7 Q$ u4 c. N/ g2 s& L" N  在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按”ESC”键即可。4 j% c/ U" e8 w% p
/ s/ _7 B# }$ K, g- W/ P
末行模式 (last line mode/指令列命令模式)
. d9 ^+ X& H8 |' l% w! y9 s6 w9 |2 o4 t0 [0 W) ~
  末行模式也称ex转义模式。 ! h5 ^+ Z3 Z8 W+ m6 k
  Vi和Ex编辑器的功能是相同的,二者主要区别是用户界面。在Vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行。Vi有一个专门的“转义”命令,可访问很多面向行的Ex命令。
6 Q1 h+ Q5 `0 ?" p9 ?  在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。- s/ h) G8 ?9 ^1 }4 Q

# u. u& {% o& ?2 E: S& S* l* w/ O【3】VIM模式
: q, R" l$ j' n# I; F' F# r0 B# |% o( Y2 L- \% {4 B
vim一共有4个模式:
5 m/ M+ |. D  u2 v* r' y6 o: c
4 @* W4 F  t9 u" q  Q正常模式 (Normal-mode), @. [" [( b8 y! y" I
! K" H3 e6 w, {7 y, H7 Z; t4 \' ?8 w
插入模式 (Insert-mode)3 Q7 w1 [9 \! t* T' }1 e. w9 ~! P
: _  H; o+ A2 _- P) i
命令模式 (Command-mode)
. ]; d2 o& W: \0 D7 Z% C
& Q0 p! H$ N) V- P/ @/ s: p' c可视模式 (Visual-mode)
+ d7 m* `+ d# {: O/ Q$ C/ R0 }  [( Z# B4 N
正常模式
3 V7 z) Y: ?& s! N: N0 Z- M5 n+ z& x7 z
启动vim后默认处于正常模式。不论位于什么模式,按下键(有时需要按两下)都会进入正常模式。
8 C9 U4 W0 A! }' H# N- G2 M% p* \7 T2 m9 N6 h
插入模式8 J+ o) B, G* C) O3 T  |
2 B+ A" V- o8 q9 t3 G
在正常模式中按下i, I, a, A等键,会进入插入模式。
1 l4 f9 M) _. I# u8 M5 w, p5 g% U0 K  Z9 ?
现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。
2 g* G, [, i. r9 J8 [- I" b  m* Z) i
命令模式. ^5 M, R8 X0 ]( c& U9 C8 E

" z  K. _- M% K# D' x* W在正常模式中,按下:(英文冒号)键,会进入命令模式。
6 K# x: V' D$ k7 w) Y. d. x  I* R# w1 T3 N& J" p0 [  q
在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。/ D$ P+ R: X" k1 Y
7 C2 S; t. _# h3 E6 X( j  Y' r
常用的命令有:q(退出)、q!(强制退出)、w(保存)、wq(保存并退出)。
6 l9 p2 L- u& p2 T( |3 J: {( C9 }! Q% f  S
可视模式9 c2 A. [8 `# I+ R0 n  C
+ d4 |( |) Q. r3 Y4 F
在正常模式中按下v, V, +v,可以进入可视模式。
7 A8 d6 C8 ?' w0 V0 t3 g+ I4 y+ V7 b! f0 I3 U
可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。
& `! D, b/ [* H, x& @
5 b& D. j! \6 P7 d; a0 q) k2 t2 }打开文件、保存、关闭文件(vim命令模式下使用)
# m0 i6 J- ~! Y" S2 _# Y! J* z5 z2 K8 _$ C8 c5 L0 ^' t3 D
命令的使用请先按ESC进入命令模式!
' ^* _( |3 D5 Q) e+ ~  }8 @* i5 }' z9 T6 @2 c
vim filename       //打开filename文件3 T: j' b# z& v

; R7 ?; [- ^1 y! [1 R& W, V& W:w vpser.net //保存至vpser.net文件
+ I9 U" E& n8 z2 G% J+ J' L3 g
$ I* Y1 e1 U1 K. v, F( w0 I:q          //退出编辑器,如果文件已修改请使用下面的命令
5 S7 [; U+ O! m) [" d, e+ @  ?8 ^) T: {: J8 {( x
:q!        //退出编辑器,且不保存3 g6 G/ L6 O2 w  `& q" C/ n0 F! O5 l
' m' \3 W. J" o: @# V$ H8 z3 G
:w        //保存文件
* t) P5 E( {( z: s, Z1 i8 y( X; g% P+ P5 P" n2 j
:wq         //退出编辑器,且保存文件+ y# @0 E( V: h* j. Y

4 E! G) E6 K( Y( {6 H:x          //退出编辑器,且保存文件2 o5 h/ d  q9 p% B4 G3 y# u

& z3 R" U( U; r3 X, l修改:Insert键
% a; o& J3 q: X5 M) j6 W" e% c8 A# u( W( d( {/ y, g+ L& q! [
插入文本或行(vim命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)" k4 _$ n, U, t1 l

1 N: C1 O9 K  a# l2 B* C, v- V  _' qa      //在当前光标位置的右边添加文本  M  G8 X( H6 {! o- h- ~" U
* A. b2 x# L  n) x
i       //在当前光标位置的左边添加文本7 X7 @, |6 i# |) Q

; H1 @- `  ~- e2 S4 {& B! OA     //在当前行的末尾位置添加文本' p1 o5 d/ A1 X! t7 V

0 a5 R5 m) T: M( U/ ^' P, EI      //在当前行的开始处添加文本(非空字符的行首)
" q2 X+ c$ Q. Y. Q' t% d4 G, w  }' i( [. Y# b8 ~; {
O     //在当前行的上面新建一行0 m; J8 E% H9 l/ [; f
9 A( p0 W" \+ l! C% ?5 P2 q' O' z9 T
o     //在当前行的下面新建一行
! I. e: B* F* t8 |9 ]' k
9 h) G% {/ c3 Q$ ]. V( f& O) {R    //替换(覆盖)当前光标位置及后面的若干文本5 s; j4 _8 S/ V0 K8 w% Q5 n
0 X1 f  ?0 l' l0 Q
J    //合并光标所在行及下一行为一行(依然在命令模式)

该用户从未签到

2#
发表于 2021-2-24 11:09 | 只看该作者
linux下vi与vim使用与区别
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-24 07:07 , Processed in 0.093750 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表