vi,vim介绍

Vi是所有Unix和linux系统下标准的编辑器,类似于Windows系统下的notepad(记事本)编辑器,由于在Unix和linux系统下的任何版本,vi编辑器是完全相同的,因此可以在其他任何介绍vi 的地方都能进一步了解它,vi也是linux中最基本的文本编辑器,学会它后,可以linux的世界畅通无阻,尤其是在终端中。

Vi和vim都是linux系统中的编辑器,不同的是,vim比较高级,可以看作vi的升级版。Vi用于文本编辑,但vim更适用于coding。

viM 是从vi发展出来的文本编辑器, 支持代码补全、编译 及 错误跳转等方便编程的功能提别丰富, 在程序员中被广泛使用, 被称为编辑器之神

vi,vim的三种工作模式

命令模式、编辑模式(输入模式)、末行模式(尾行模式)

(1)命令模式:在该模式下是不能对文本直接编辑的,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等)[打开文件之后默认进入的模式]

(2)编辑模式(输入模式):在该模式下可以对文件的内容进行编辑。

(3)末行模式(尾行模式):可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等)

* 命令模式:在一般模式下,输入”:”或者”/”即可进入命令模式。在该模式下,你可以搜索某个字符或者字符串,也可以保存、替换、退出、显示行号等等。

输入vim test.txt直接回车进入一般模式。然后按"i" 字母进入编辑模式

会看到窗口的左下方出现”INSERT”字样,说明已经进入了编辑模式,此时就可以写入内容了。

等编辑完内容后,按ESC退出编辑模式,进入一般模式。此时在左下方的”INSERT”字样消失,然后按”:”进入命令模式,最后输入wq保存并退出vim。

这时,看一下test.txt文档的内容吧。

其实vim为全键盘操作的编辑器,所以在各个模式下都有很多功能键盘的。下面列举一下,其中我认为常用的会用红色标出,需要你多加练习,另外不常用的你也要知道的。

一般模式下移动光标

h或向左方向键

光标向左移动一个字符

j或者向下方向键

光标向下移动一个字符

K或者向上方向键

光标向上移动一个字符

l或者向右方向键

光标向右移动一个字符

Ctrl + f 或者pageUP键

屏幕向前移动一页

Ctrl + b 或者pageDOWN键

屏幕向后移动一页

Ctrl + d

屏幕向前移动半页

Ctrl + u

屏幕向后移动半页

+

光标移动到非空格符的下一列

-

光标移动到非空格符的上一列

n空格(n是数字)

按下数字n然后按空格,则光标向右移动n个字符,如果该行字符数小于n,则光标继续从下行开始向右移动,一直到n

0(数字0)或者Shift+6

移动到本行行首

Shift+4

即’$’移动到本行行尾

H

光标移动到当前屏幕的最顶行

M

光标移动到当前屏幕的中央那一行

L

光标移动到当前屏幕的最底行

G

光标移动到文本的最末行

nG(n是数字)

移动到该文本的第n行

gg

移动带该文本的首行

n回车(n是数字)

光标向下移动n行

一般模式下查找与替换

/word

向光标之后寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜后一个

?word

想光标之前寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜前一个

:n1,n2s/word1/word2/g

在n1和n2行间查找word1这个字符串并替换为word2,你也可以把”/”换成”#”

:1,$s/word1/word2/g

从第一行到最末行,查找word1并替换成word2

:1,$s/word1/word2/gc

加上c的作用是,在替换前需要用户确认

一般模式下删除复制粘贴

x,X

x为向后删除一个字符,X为向前删除一个字符

nx(n为数字)

向后删除n个字符

dd

删除光标所在的那一行

ndd(n为数字)

删除光标所在的向下n行

d1G

删除光标所在行到第一行的所有数据

dG

删除光标所在行到末行的所有数据

yy

复制光标所在的那行

nyy

复制从光标所在行起向下n行

p,P

p复制的数据从光标下一行粘贴,P则从光标上一行粘贴

y1G

复制光标所在行到第一行的所有数据

yG

复制光标所在行到末行的所有数据

J

讲光标所在行与下一行的数据结合成同一行

u

还原过去的操作

进入编辑模式

i

在当前字符前插入字符

I

在当前行行首插入字符

a

在当前字符后插入字符

A

在当前行行末插入字符

o

在当前行下插入新的一行

O

在当前行上插入新的一行

r

替换光标所在的字符,只替换一次

R

一直替换光标所在的字符,一直到按下ESC

命令模式

:w

将编辑过的文本保存

:w!

若文本属性为只读时,强制保存

:q

退出vim

:q!

不管编辑或未编辑都不保存退出

:wq

保存,退出

:e!

将文档还原成最原始状态

ZZ

若文档没有改动,则不储存离开,若文档改动过,则储存后离开,等同于:wq

:w [filename]

编辑后的文档另存为filename

:r [filename]

在当前光标所在行的下面读入filename文档的内容

:set nu

在每行的行首显示行号

:set nonu

取消行号

n1,n2 w [filename]

将n1到n2的内容另存为filename这个文档

:! command

暂时离开vim运行某个linux命令,例如 :! ls /home 暂时列出/home目录下的文件,然后会提示按回车回到vim

vi,vim文本编辑器相关推荐

  1. vi/vim文本编辑器的使用

    Vi/Vim文本编辑器的使用 vi/vim编辑器是所有Unix及Linux系统下标准的编辑器.vim是vi的一种升级. vi/vim三种模式 1.一般模式 启动vim后默认处于正常模式.不论位于什么模 ...

  2. linux系统中vi/vim文本编辑器的使用简介

    linux系统中vi/vim文本编辑器的使用简介 1. vi/vim简介 ​ vi/vim 是linux系统中最基本的编辑器,类似于windows系统中的记事本,几乎所有的linux开发版本都内置了v ...

  3. linux中vim文本编辑器的默认模式是,Linux 下 vi/vim 文本编辑器超详细使用指南

    Linux下的编辑器最经常使用的就是vim或者vi文本编辑.vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了不少实用的功能. 大多数的linux/unix 发行版本 ...

  4. Linux 下 vi/vim 文本编辑器超详细使用指南(转载)

    转载于 https://blog.csdn.net/kingmax54212008/article/details/54142633 Linux下的编辑器最常用的就是vim或者vi文本编辑.vi 和v ...

  5. Linux——vi/vim文本编辑器、用户管理、关机重启的相关命令

    目录 1.vi/vim简介 1.1 常见的三种模式 1.2 常用快捷键 2.用户管理 2.1 添加用户 2.2 删除用户 2.3 切换用户 2.4 查看用户信息 3.关机.重启 1.vi/vim简介 ...

  6. Linux vi/vim文本编辑器技巧, vim多窗口使用技巧

    Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地 ...

  7. 管道、重定向、vim文本编辑器

    管道.重定向.vim文本编辑器 重定向 1代表标准输出流 2代表错误输出流 0代表标准输入流 重定向什么流就在尖括号旁放对应的数字.>>不会覆盖 >会覆盖 [dennis@local ...

  8. vim 文本编辑器_标志性的文本编辑器Vim庆祝成立25周年

    vim 文本编辑器 稍微回拨时间. 不,继续转弯--多一点--在那里! 25年前,当您的一些专业同事还在蹒跚学步时,Bram Moolenaar开始为他的Amiga编写文本编辑器. 他是Unix上vi ...

  9. CentOs 7 中vim文本编辑器的下载及使用

    一. vim文本编辑器的下载 1. 在Linux中输入vim命令,若提示command not found,则表示还未安装vim编辑器: 2. 输入命令[yum -y install vim], 即可 ...

最新文章

  1. python数字类型-详解python的数字类型变量与其方法
  2. python find
  3. 《C++ Primer Plus(第六版)》(13)(第九章 内存模型和命名空间 笔记)
  4. 服务器精益改善系列,精益生产改善的内容是什么?
  5. 家庭用计算机怎样选择设置网络位置,win7系统怎么选择网络位置
  6. R语言如何处理数据的列中存在多个元素的问题
  7. 避免将 props 的值复制给 state!
  8. (秒杀项目) 4.9 削峰限流与防刷(核心)
  9. ubuntu 安装指定版本golang
  10. leach算法的实现过程_LEACH分簇算法实现和能量控制算法实现(示例代码)
  11. 结构化程序设计与面向对象程序设计特点
  12. 桌面图标有阴影去除方法
  13. 通过httpclient发送请求的几种方式,发送文件、参数、json对象
  14. 来,带你实现基于网络通信QQ聊天室-----QQ有这么强!!!
  15. python pip什么意思_python中的pip是什么意思
  16. 奔图M9006DN复印机显示代码service error 191.10 engine error
  17. .Net 互联网技术(一)分布式ID生成方法生成演变
  18. XML入门教程(3)
  19. 【责任链模式】责任链模式原来如此简单
  20. 微信小程序实现答题样式1(显示题目)

热门文章

  1. 一。回合制游戏 加暴击 掉落 二。柜台商品管理系统
  2. 单片机设计 万年历与计算器(AT89C51)
  3. Halcon连接大恒相机
  4. Linux安装及美化Typora详细步骤
  5. Delphi操作Word,Excel替换
  6. 微信小程序PHP注册,微信小程序 教程之注册页面
  7. 基因家族特征分析 - 染色体定位分析
  8. 元引擎视频制作工具 一键生成原创视频软件
  9. 小学生5年级计算机书,小学五年级作文:眼镜、电脑、书
  10. RN导入高德地图定位的用法实例