学习Linux环境下VI(VIM)编辑器的使用方法(Windows程序员视角)

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Windows程序员如何学习Linux环境知识。由于很多程序在Windows环境下开发好后,还要部署到Linux服务器上去,所以作为Windows程序员有必要学习Linux环境的知识。

VI 是Linux下功能强大的编辑器,类似于Windows下的记事本,它是由UNIX下传统的文本编辑器VI发展而来的。VIM是VI的增强版,有彩色和高亮等特性,这对于文本编辑有很大的帮助。作为Linux下基本的编辑工具,VIM的功能很多。

打开linux系统,在任意文件夹下,或者说X-window下,在终端中输入命令“vim”,按回车键,就会出现初始界面。

这就表示进入VIM编辑器了。如果在Linux的命令符下输入“vim”,也能进入VIM。只要一个命令,就可以很容易地进入VIM的操作界面,退出VIM则不一样,首先要按Esc键,回车后进入命令行模式,然后输入“:”,此时光标会停留在最下面的一行,再输入“q”,最后回车就可以退出。但这是基本的退出,其他情况会在下面具体介绍。

一般情况下,VIM可以分为3种模式,即一般模式(命令模式)、编辑模式(插入模式)和底行模式。 3种模式的相互转换如图。

1.一般模式。一进入 VIM就是处于一般模式(命令模式),该模式下只能输入指令,不能输入文字。这些指令可能是让光标移动的指令,也可能是删除指令或取代指令。

2.编辑模式。输入“i”就会进入编辑模式(插入模式),此时在状命令模式态列会有INSERT字样。在该模式下才可以输入文字,按Esc键又会回到命令模式。

3.底行模式。输入“:”就会进入底行模式,此时左下角会有一个冒号,等待输入命令。按Esc键可以返回命令模式。

具体的命令细节可参看下面的内容,但如果想实践,请直接看我的另一篇帖子,可直接点击下面链接:

  如何在Linux环境下用VI编辑器写C程序编译C程序运行C程序

VIM命令模式详细操作

1.进入插入模式

  i:光标前插入,在光标左侧输入正文。

  I:在光标所在行的开头输入正文。

  a:光标后插入,在光标右侧输入正文。

  A:在光标所在行的末尾输入正文。

  o:在光标所在行的下一行增添新行。

  O:在光标所在行的上一行增添新行。

2.移动光标

  hjkl:左、下、上、右。

  Ctrl+B:在文件中向上移动一页(相当于PageUp键)。

  Ctrl+F:在文件中向下移动一页(相当于PageDown键)。

  G:移到文件最后。

  H:将光标移到屏幕的最上行(Highest)。

  nH:将光标移到屏幕的第n行。

M:将光标移到屏幕的中间(Middle)。

  L:将光标移到屏幕的最下行(Lowest)。

  nL:将光标移到屏幕的倒数第n行。

  w:在指定行内右移光标,到下一个字的开头。

  e:在指定行内右移光标,到下一个字的末尾。

  b:在指定行内左移光标,到前一个字的开头。

  0:数字0,左移光标,到本行的开头。

  $:右移光标,到本行的末尾。

  ^:移动光标,到本行的第一个非空字符。

3.删除

  x:删除光标所指向的当前字符。

  nx:删除光标所指向的前n个字符。

  :1,#d:删除行1至行#的文字。

  X:删除光标前面一个字符。

  D:删除至行尾。

  dw:删除光标右侧的字。

  ndw:删除光标右侧的n个字。

  db:删除光标左侧的字。

  ndb:删除光标左侧的n个字。

  dd:删除光标所在行。

  ndd:删除n行内容。

4.更改

  cw:更改光标处之字到此单词字尾处。

  c#w:如c3w表示更改3个单词。

  cc:修改行。

5.取代

  r:取代光标处字符。

  R:取代字符直到按Esc键为止。

6.复制和粘贴

  yw:复制光标处之字到字尾至缓冲区。

  yy:复制光标所在行至缓冲区。

  #yy:如5yy,复制光标所在之处以下5行至缓冲区

  P:把缓冲区的资料粘贴在所在行之后。

  p:把缓冲区的资料粘贴在所在行之前。

7.撤销

  u:undo,复原至上一动作。

8.重复上一个命令

  . :重复上一个命令。

VIM编辑模式详细操作

在命令行模式中讲到了如何从命令行进入编辑模式的操作,而且要进入VIM的编辑模式就必须通过命令行进入。在进入了VIM的编辑模式后,用户就可以对打开的文件进行编辑操作,尤其现在的VIM已经支持鼠标操作,使用起来就更加方便。

VIM的底行模式详细操作

VIM的底行模式也叫末行模式,就是在界面最底部进行命令的输入,底行模式一般用来执行保存和退出等任务。只要在命令行模式下输入冒号,就可以进入底行模式。VIM底行模式的基本操作介绍如下。

1.退出命令

  :wq或:x:先保存再退出VIM。

  :w或:w filename:保存/保存为 filename名的文件。

  :q:退出(如果文件被修改会有提示)。

  :q!或:quit:不保存退出VIM。

  :wq!:强制保存,并退出。

2.显示和取消行号

  :set nu:显示行号。

  :set nonu:不显示行号。

3.字符串搜索

  :/str:正向搜索,将光标移到下一个包含字符串str的行,按n可往下继续找。

  :?str:反向搜索,将光标移到上一个包含字符串str的行,按n可往上继续找。

:/str/w file:正向搜索,并将第一个包含字符串 str的行写入 file文件。

  :/strl/,str2/w file:正向搜索,并将包含字符串strl的行至包含字符串 str2的行写入 file文件。

4.删除正文

  :d:删除光标所在行。

  :3 d:删除3行。

  :.,$ d:删除当前行至正文的末尾。

  :/str1/,/str2/d:删除从字符串 str1到str2的所有行。

5.恢复文件

  :recover:恢复文件。

作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值