初识 vi/vim文本编辑器

我们操作文件,终究离不开编辑文件,对文件内容的编辑,Linux系统下,我们通常使用VI/VIM来编辑文件。VI是每个Linux都会自带的文本编辑器,VIM是VI的增强版,现在的最新版都已自带,但是可能有些发行版本没有自带,可以使用sudo apt-get install vim命令安装vim。

可以使用vi或者vim命令直接进入新的文本文件,或者vim 文件名的方式打开文件进行编辑。

这时候你可能输入不太灵敏了,因为vi里面有三种模式,只有插入模式,才能像windows下文本编辑器那样随便插入删除。这三种模式介绍:

    1-命令模式(默认模式。任何形式下按esc都会进入命令模式)
         该模式只接收命令,该模式下可以完成选择,复制,粘贴,撤销等传统操作。
    2-插入模式(可以自由输出)
       命令模式下按i键进入插入模式,该模式可以输入编辑文本内容。
    3- ex模式 文件的保存,退出等操作
       命令模式下按:进入(可能需要shift+:)
 
 除了插入模式大家熟悉的方式输入编辑,其他两种模式也有相应的命令操作:

 命令模式常用的命令:

   i 在光标前插入文本
   o 在当前行的下面插入新行
   dd 删除当前行
   yy 将当前行内容放入缓冲区(复制当前行)
   n+yy 将n行内容复制
   p 将缓存中的文本粘贴到光标后
   u 撤销上一个操作
   r 替换当前字符
   /key 查找关键字(key)  之后按n键切换关键字

 EX模式常用命令:

  :w 保存当前修改
  :q 退出
  :q!强制退出,不保存修改
  : x 保存并退出,相当于:wq
  : set number 显示行号
  :!系统命令   执行一个系统命令并显示结果
  :sh  切换到命令行,使用ctrl+d切回vi

原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/83221

(0)
oranixoranix
上一篇 2017-07-29
下一篇 2017-07-29

相关推荐

  • N_28文件类管理命令

    1.linux文件管理类命令有:mkdir ,rmdir,cp ,mv,rm,ls,vi,cat ,cut,sort,wc等 mkdir –make directories  (创建目录) 用法 :mkdir [OPTION]… DIRECTORY… -P  按需要创建目录的父目录; -v  显示创建的详细过程; -m M…

    2017-12-09
  • N26-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -rfp /etc/skel/ /home/tuser1[root@localhost ~]# chmod 700 /home/tuser1 2、编辑/etc/group文件,添…

    Linux干货 2017-02-25
  • DevOps如何重构IT战略

    翻译: 至尊宝 原文: http://www.citeworld.com/article/2897738/development/how-devops-can-redefine-your-it-strategy.html?page=2   DevOps究竟是昙花一现还是你一直在寻找的竞争优势?我们咨询了一些专家,对于这种趋势他们的想法是什…

    Python干货 2015-03-26
  • N24期第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 vim /etc/group,增加此行 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home…

    Linux干货 2016-11-22
  • shell编程中的三种流程控制

    流程控制 v 一 、过程式编程语言: 1.顺序执行 2.选择执行 3.循环执行  条件选择if 语句   选择执行:   注意: :if 语句可 嵌套    单分支 if 判断条件;then 条件为真的分支代码 fi    双分支 if 判断条件; then …

    Linux干货 2016-08-21
  • 马哥教育网络班21期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash  declare -i loginable=0 declare -i unloginable=0  &n…

    Linux干货 2016-09-07