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

linux下vi与vim使用与区别

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

; X4 a3 K% s, O0 ^+ C【1】VI与VIM区别: L6 l6 ^; n: K" |, ?# f& c; Q
$ I) B# y6 h0 v8 t% T
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。3 T; i; i; d9 d* ~& p. h" t0 V3 h

+ t* N1 \# V5 Yvim的这些优势主要体现在以下几个方面:6 h. H( \2 J+ K1 Q! E) d; q

* D3 p# q7 n, l3 W6 h9 h8 X8 b1、多级撤消 1 i/ x) c7 M% n( m/ G0 i9 ?  l: e
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。
- z, I" C+ E( w9 f8 ~
4 O! P) X$ I0 Y# T2 ^0 _% E7 K2、易用性
: {9 C% ]; c1 P& }. _% b1 R$ h2 e3 f
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。6 c, B" j. P4 x6 D
0 G% d3 M$ \# W; x+ P
3、语法加亮
5 o8 c2 R/ A  V0 K) R8 e# W" Avim可以用不同的颜色来加亮你的代码。- I: e, o& B! t2 G

! f7 v: f  z# z4、可视化操作 ! J6 z# i* L' A! a1 e
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。1 s- @: p$ n/ R$ `
' d/ @- v/ [0 E/ j0 x* O# x7 ]" N
5、对vi的完全兼容
  M+ ]: n6 L! B9 i3 G某些情况下,你可以把vim当成vi来使用。
! c" `! x( e6 a- m2 E/ g; V$ {
) n8 B9 w! H% K2 e* k" E9 |vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。
3 L/ V  y- `: J( d) d/ \2 y" I8 m4 G- F5 U/ {
【2】VI模式" A8 c6 I8 w$ k" C; P- }( o* q

0 ~0 y- u/ @1 U( m* |# U: Qvi有3个模式:命令行模式 (command mode/一般模式)、文本输入模式 (input mode/编辑模式)、末行模式 (last line mode/指令列命令模式)。- D0 f3 J! l; Y

, C- c# M+ k  w- K' M命令行模式 (command mode/一般模式)
& o0 k9 h* Q# ~/ {' ]( @4 y& d' }/ n; b6 G5 D
  任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。 + G: k) U' ?1 X  `) t
  在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。. l# g- g+ V; {- t2 G

( K6 v7 Z4 K' @文本输入模式 (input mode/编辑模式): y: g; |9 `& n# o. J. T$ W
7 X, [/ J4 i  K9 m( i4 {* o
  在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按”ESC”键即可。
) p/ p; ?/ `% n+ v: R- c0 R# m; l0 A$ @, V, C& V
末行模式 (last line mode/指令列命令模式)! ^+ h0 p: v, h! P" a
& g' g" t; X  J  |
  末行模式也称ex转义模式。
  ?; V! e; i; e: Y1 u  Vi和Ex编辑器的功能是相同的,二者主要区别是用户界面。在Vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行。Vi有一个专门的“转义”命令,可访问很多面向行的Ex命令。
1 A. D3 M3 b5 q0 _1 \( x# i- O: o  在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。( C# i- ?7 O9 |3 i; J
3 D2 |& i% e' b/ i1 U) _
【3】VIM模式$ \- I* `3 l6 j0 q2 y; [: a

4 R, T# V9 u, |. n; i% nvim一共有4个模式:
5 b0 C% G8 ~  T- J
6 Y. g7 t6 e  n4 k正常模式 (Normal-mode)8 r0 J3 j9 H2 S. N; B, \  p# S6 P

# v! j/ X! _3 Q- O7 o* ?, O) R插入模式 (Insert-mode)
( a. {3 c$ L1 ^" V7 V! I, }  v: w5 u- L: F4 l/ Q! O3 b
命令模式 (Command-mode)
% A) S1 g1 r1 a" h7 E
8 t2 P+ r4 b+ [; \% u1 P# b; K; g可视模式 (Visual-mode)
. g$ r, j. N, g7 ^- A0 H
9 f" h5 E7 s1 R* F) U# c4 N正常模式
7 y0 q7 m( ]6 v# T/ K* c5 |3 c6 ]3 x+ a6 a7 O( \1 d" z
启动vim后默认处于正常模式。不论位于什么模式,按下键(有时需要按两下)都会进入正常模式。. A' _4 \; i' B7 e# k
( o. r$ j1 |4 p5 I! q; E
插入模式
8 e( h5 o3 O$ [( g1 }7 }/ m% Z
- C/ j# P: i9 S, t在正常模式中按下i, I, a, A等键,会进入插入模式。4 V1 t- l/ h/ T2 w+ ]. g

  A. r5 B0 \% C) W现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。
+ V4 x! Z2 o. j4 I1 {
) c' `$ `$ I. X. X1 H9 n) m命令模式, U; l( _, |5 g" M0 `

! k$ q; p# o# W. M在正常模式中,按下:(英文冒号)键,会进入命令模式。8 |. `! ~- B- w" \, n7 `- A; C
' I# I6 _* G) z$ g$ u
在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。& O9 C& M) D1 g6 M+ k* l0 T* o

. u4 ]; k2 ^; Q. u常用的命令有:q(退出)、q!(强制退出)、w(保存)、wq(保存并退出)。
5 i" T  t. _" X; v" I% N& Z* C& n" ^3 Q& i
可视模式
- c" C& Z2 s) i4 N5 z0 w, l3 ]5 j! k; k1 E
在正常模式中按下v, V, +v,可以进入可视模式。
: A+ K; m# ]( ]+ h0 O( h5 m' A2 z
可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。
% Y, l3 g4 N# t' h' J+ h" \1 `3 J+ O6 }& L, T6 Y
打开文件、保存、关闭文件(vim命令模式下使用)
8 s6 n/ w2 S) k6 T; F4 D1 [9 `9 z& R5 k/ f0 h+ U0 [. T
命令的使用请先按ESC进入命令模式!. q, x7 i% i. Q9 |
- E" h  ]3 ^# {1 |; ^! m. @+ c0 S
vim filename       //打开filename文件' m- O# e( y  ^& ]/ T0 b
' v4 `, A; {7 |
:w vpser.net //保存至vpser.net文件
& h; {0 k9 e5 M0 N" \9 M
' Z2 G: H% M% V( I* X( T( a6 }. f:q          //退出编辑器,如果文件已修改请使用下面的命令  }5 z: l; E, X/ S' a$ t

+ ?4 v. o% @- Z! M) a9 o:q!        //退出编辑器,且不保存) [! J. o9 j! p9 k. E
+ o( t. G6 |4 R" a, j
:w        //保存文件
& Z9 K0 n, P9 J9 b) K
3 X* `) `7 i, \% c+ K:wq         //退出编辑器,且保存文件
6 I2 p7 D# h6 M& c& }4 r2 h
4 n% m9 C$ h6 b4 P) `1 Z:x          //退出编辑器,且保存文件
; L  `1 q0 g1 F6 I
$ \$ O1 ~' H# K2 m1 ~修改:Insert键
0 O  C, f. f  c
" D5 Y/ a0 ]% g. _插入文本或行(vim命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)
5 H% z2 k6 ?8 d+ o& H6 G/ i0 I7 o! |1 ]# W6 P
a      //在当前光标位置的右边添加文本
+ {4 ]$ ^3 o- X; g9 O. k/ Z# l) f# u2 A
i       //在当前光标位置的左边添加文本1 k) w9 T* u/ C

* \3 `% J6 |3 \' l( X) IA     //在当前行的末尾位置添加文本0 h! f5 A% K% `6 Z. q) \$ v: \/ i

  X( C! d- f3 i+ Y8 g  wI      //在当前行的开始处添加文本(非空字符的行首)" I3 Q$ d1 y% P2 I3 a" I

2 P1 }( h7 o; r4 O  W- BO     //在当前行的上面新建一行
7 c" s) z" W. A& U  v$ i$ v* z7 o0 C2 x& w0 e
o     //在当前行的下面新建一行* M! e; x% u3 T$ {5 V

2 K; r" Y/ N3 n, WR    //替换(覆盖)当前光标位置及后面的若干文本8 q. L' p/ {4 m$ |4 i) I
8 x4 R4 {4 @5 {2 u
J    //合并光标所在行及下一行为一行(依然在命令模式)

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 17:01 , Processed in 0.187500 second(s), 23 queries , Gzip On.

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

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

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