Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

1、介绍

vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。而Vim(vi iMprove)是Vi的加强版,在Linux/Unix操作系统中这个编辑器可谓是强大到不可想象,理解到这里就可以了,再要了解更详细自行百度。

2、VIM编辑器的安装与卸载

2.1安装Vim

sudo apt-get install vim

 提示:[y/n]?        回复“y”即可

2.2Vim编辑器的卸载

sudo apt-get remove vim-common (卸载Vim编辑器相关的软件包)

。。。

3、Vim编辑器的工作模式

  基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。

模式直接的切换如图所示(本图片来自菜鸟教程)

图3.1 模式切换

3.1命令模式(Command mode)

新建一个文件HelloWorld.c  或者直接使用Vim filename打开文件保存即可生成新文件

用Vim filename 命令打开该文件

HelloWorld.c 空白文件  默认打开文件时候为命令模式左下角出现当前文件名称

命令模式下

逐字符移动
 h:向左
 l:向右
 j:向下
 k:向上
 #h:移动#个字符
以单词为单位移动
 w:移到下一个单词的词首
 e:跳至当前或下一个单词的词尾
 b:跳至当前或上一个单词的词首
 #w:表示移动#个单词
行内跳转
 0:绝对行首
 ^:行首第一个非空白字符
 $:绝对行尾
行间跳转
 #G:跳转到第#行
   G:最后一行

输入i,编写一个简单的C语言程序(左下角出现 insert 插入标识即为输入模式,这个时候就可以输入文本了)

3.2 输入模式(Insert mode)

输入以下字母可转为输入模式

  • i:在当前光标所在字符的前面,转为输入模式
  • I:在当前光标所在行的行首转换为输入模式
  • a:在当前光标所在字符的后面,转为输入模式
  • A:在光标所在行的行尾,转换为输入模式
  • o:在当前光标所在行的下方,新建一行,并转为输入模式
  • O:在当前光标所在行的上方,新建一行,并转为输入模式
  • s:删除光标所在字符
  • r:替换光标处字符

输入模式下可以使用方向按键来移动光标

3.3底线命令模式(Last line mode)

命令模式下输入冒号即可到底线命令模式

底线模式常用命令

  • w:保存
  • q:退出
  • wq 或 x:保存退出,wq 和 x 都是保存退出
  • q!:强制退出
  • w!:强制保存,管理员才有权限

 4、更多命令

如果您想了解更多命令等可以直接使用vimtutor大概花费30分钟阅读以下VIM官方教程

首先介绍就是命令模式下光标的移动

※※ 要移動光標,請依照說明分別按下 h、j、k、l 鍵。 ※※

      ^
    k      提示︰ h 的鍵位于左邊,每次按下就會向左移動。
< h          l >     l 的鍵位于右邊,每次按下就會向右移動。
          j             j 鍵看起來很象一支尖端方向朝下的箭頭。
        v

等等

Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令的更多相关文章

  1. Linux系统 vi/vim文本编辑器

    Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...

  2. 【转】Linux上vi(vim)编辑器使用教程

    Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...

  3. Linux随笔 - vi/vim 编辑器显示行号

    显示行号 1. 打开vi 编辑器 2. 输入  :set number 3. 回车 关闭行号显示 1. 打开vi 编辑器 2. 输入  :set nonumber 3. 回车 行号在每次打开 vi/v ...

  4. Linux之vi/vim编辑器

    1.概述 所有的Unix like系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 vim 编辑器. vim具有程序编辑的能力,可以主动地以字体颜色辨别语法的 ...

  5. Linux上vi(vim)编辑器使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...

  6. 新手指南:Linux上vi(vim)编辑器使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...

  7. Linux系统的vim编辑器的配置文件的初步说明

    vim 编辑器的基本说明 vi编辑器的功能类似于Windows下的记事本,只能编辑普通文本,而vim编辑器则相当于Windows下的notepad++等高级编辑器,提升了代码开发效率. 将vi命令默认 ...

  8. Java篇:Docker的介绍安装 和常用命令

    文章目录 为什么 出现docker Docker的简介 容器(Container) 镜像(Image) 仓库(Repository) Docker的安装 查看容器 删除镜像 删除容器 部署应用 以my ...

  9. linux中 vi / vim显示行号或取消行号命令

    1. 显示行号 :set number 或者 :set nu 2. 取消行号显示 :set nu! 3. 每次打开都显示行号 修改vi ~/.vimrc 文件,添加:set number

随机推荐

  1. Kafka监控框架介绍

    前段时间在想Kafka怎么监控.怎么知道生产的消息或消费的消费是否有丢失,目前有几个开源的Kafka监控框架这里整理了下,不过这几个框架都有各自的问题侧重点不一样: 1.Kafka Monitor 2 ...

  2. Redis开启AOF导致的删库事件

    事件背景 Redis主从开启AOF,错误操作导致数据被清空. Redis主要作用:缓存.队列. 事故过程 Redis搭建了主从,持久化方式为RDB,RDB没有定时备份,且AOF都没有开启. 考虑到开启 ...

  3. C_求两个日期相隔的天数(闰年)

    #include <stdio.h> #include <math.h> int leap_year(int year){ == || (year%== && ...

  4. Mockito-简单使用使用

    参考案例:(本位使用markdown编写) git.oschina实例:https://gitee.com/lhhTestTool/LhhMockito # LhhMockitomock 单元测试 M ...

  5. python2.7升级3.5教程 可用

    1.查看Python版本: python -V 2.下载Python 3.5版本:wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.t ...

  6. 解决python3环境下twisted安装问题

    twisted的安装经常会出问题,提示: 1.twisted错误,报Unable to find vcvarsall.bat2.等 解决办法: 1.安装wheel,命令:pip install whe ...

  7. 在windows命令行批量ping局域网内IP

    参考了博客园Alfred Zhao的文章<Windows平台ping测试局域网所有在用IP> 在cmd命令行运行如下命令即可: ,,) -w .%i | find "回复&quo ...

  8. Linux(CentOS)安装Node.JS和npm的两种方式(yum安装和源码安装)

    yum安装 yum安装是将yum源中的rpm包下载到本地,安装这个rpm包.这个rpm包是别人编译安装好的二进制包.这种方式方便快捷,特别是不用考虑包依赖. 0.了解linux版本 通过 uname ...

  9. Unity应用架构设计(6)——设计动态数据集合ObservableList

    什么是 『动态数据集合』 ?简而言之,就是当集合添加.删除项目或者重置时,能提供一种通知机制,告诉UI动态更新界面.有经验的程序员脑海里迸出的第一个词就是 ObservableCollection.没 ...

  10. Unity应用架构设计(1)—— MVVM 模式的设计和实施(Part 1)

    初识 MVVM 谈起 MVVM 设计模式,可能第一映像你会想到 WPF/Sliverlight,他们提供了的数据绑定(Data Binding),命令(Command)等功能,这让 MVVM 模式得到 ...