gedit  a.txt  是一个图形界面的文本编辑器。  需要安装图形界面才会有。

nano a.txt  也是一样的

vi  是一种文本界面的编辑器。

vim  是 vimsual interface IMproved 的简称。 可以执行 输出、删除、查找、替换、块操作等众多文本操作。而且用户可以跟进需求自定制。

vim 命令模式: 再这个模式下,可以输入命令 进行文件的存储、移动光标、删除字符、撤销命令、和重复命令等操作,还可以设置vim的编辑环境。

[root@python ~]# vim a.txt       打开文件

最下面一行 有一些。文件的基本信息。 以及 光标位置等。

移动光标: 上 k 、下 j 、左 h 、右 l   不过一般都是使用, 箭头键来移动,比较舒服。

  end  光标移动到,行尾。 home 光标移动到,行首。

  PgDn   PgUp  向下、向上翻页。

  gg 光标移动到本文件的开头。

  G 光标移动到最后一行的开头。

  w  光标移动一个单词的距离。 单词以空格、换行符区分。

  ZZ  保存退出。(存盘)

操作: 粘贴复制:

  复制一行 yy  复制n行 nyy  (复制光标当前行,或者当前行向下数的n行。)

  粘贴p   (粘贴时,粘贴到光标当前位置,的下面一行开始粘贴)。    P  粘贴到当前行的上面一行。

删除:

  x  从光标当前位置,向后一个一个的删除。

  X 从光标当前位置,向前一个一个的删除。

  dd 直接删除一行。  ndd 删除多行。(也是从光标位置向下数的。)

  dw 直接删除一个单词。(从光标当前位置向后,直到遇到空格。 所以删除时 光标一定要在单词的第一个字符上。否则可能就删一半。)

撤销:

  u  撤销。 按一次就返回一次上一次操作的状态。

查找:

  /xxx      斜杠 /  后跟想要查找的字符串,就行了。 (需要注意如果查找的字符是特殊符号,需要转义符进行转义)

vim 插入模式: 可以删除字符、插入字符。 可以在这个模式下对,文件的内容进行 编辑 修改等等。

  a 光标之后插入,              o 光标当前行,向下另起一行插入,   i 光标当前位置之前插入

  A 光标当前行的行尾插入。  O 光标当前行,向上另起一行插入, I 光标当前行的行首(第一个非空字符之前插入。)

vim 末行模式:可以进行保存文件,退出vim、 查找和替换等操作

在命令模式下输入命令 “ :”  就可进入末行模式,在末行模式下,可进行保存文件,退出VIM, 进行查找和替换等操作。

:q 退出

:q!  强制退出不保存

:w  保存

:wq 保存退出

替换:

语法格式  :s/old/new     or    :s%/old/new

:s/old/new   只替换光标所在行的第一个 old string  替换成 new string

:s/old/new/g    将光标所在行的所有的 old string  替换成 new string

:s%/old/new  将本文所有的 old sting 替换成 new string  (默认替换每一行中出现的第一个 old。需要全部替换要加上一个 代表全局替换的  g 的标志)

:1,2s/old/new  替换1 到 2行中的  old string 为  new string

:.,2s/old/new   光标所在行到第二行的所有的 old string  替换成 new string

:2,$s/old/new/g  替换2到最后一行中的 old string 替换成 new string

其他命令:

vim  也是支持同时打开多个文件的。

比如:    vim a b c    同时打开 a  b  c  三个文件。

在操作三个文件时,界面只会展示一个文件出来,  要进行切换的话需要   :n   就是下一个,  :N 就是上一个

:set nu   显示行号

:set nonu   取消行号

:! command  可以在vim编辑器中执行一条命令(command)。  比如  :! ls /root   就可以显示root文件夹下有哪些文件。

替换模式

替换模式和插入模式差不多的。  不同的点就是 输入的内容,会直接替换掉光标当前位置的内容。

在家目录里面有一个 .viminfo 的隐藏文件夹。 这个文件夹是记录了 vim操作的一些历史操作记录。

如果想要个人定制:

[root@python ~]# vim .vimrc    # 创建一个  vimrc 的隐藏文件。 其中可以写一些个人定制的东西

比如我想要 每次打开一个文件时,都会有行号的显示。  那么就只需要在这个文件中输入  set nu 就可以

有一点需要注意的就是, 这个个性化的定制只是属于某个用户的。  在 root 用户下设置了,其他用户是不能使用的。 要想用只能在 各自的 家目录里面去进行配置一个这个文件。

VIM 介绍的更多相关文章

  1. vim介绍/vim颜色显示和移动光标/ vim一般模式下移动光标/ vim一般模式下复制、剪切和粘贴

    5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制.剪切和粘贴 vim   是vi的升级版本 vim 带有颜色显示 安装vim : y ...

  2. vim介绍、颜色显示和移动光标、一般模式下移动光标及复制、剪切和粘贴

    第4周第4次课(4月12日) 课程内容: 5.1 vim介绍5.2 vim颜色显示和移动光标5.3 vim一般模式下移动光标5.4 vim一般模式下复制.剪切和粘贴 5.1 vim介绍 centos7 ...

  3. Linux centosVMware Vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、vim一般模式下复制、剪切和粘贴

    一.Vim介绍 vim 是一款功能强大的文本编辑器,是vi的升级版,带有颜色显示, 默认有三种模式:一般模式, 命令模式,  编辑模式   安装Vim [root@davery ~]# vim /et ...

  4. vim 介绍安装 复制 剪切 粘贴

    1. vim 产生:对于linux 文件的编辑,最初是vi,然后对于其功能的扩展,就产生了vim vim 的安装 yum install vim 2.光标的移动 用得最多的就是方向键上的 上下左右,和 ...

  5. Ubuntu下VIM的安装及其配置——Linux篇

    一.Ubuntu系统默认内置: 实际上ubuntu默认没有安装老版本的vi,只装了vim.vi是vim.tiny(vim的最小化版本,不含 GUI,并且仅含有一小部分功能,并且默认与vi兼容.此软件包 ...

  6. Vim的使用方法

    导读 Vim是从vi发展出来的一个文本编辑器.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器. 一.vi.vim介绍 ...

  7. vim 学习笔记

    vim介绍:一款编辑器,另外一般linux系统会自带,所以一般linux下日志.配置文件等 纯文本文件的修改编辑等通过vim操作 学会的好处:1 方便操作linux下日志.配置文件等纯文本文件 2 功 ...

  8. vim编辑器命令

    Vim介绍 vim(vimsual)是Linux/Unix系列OS中通用的全屏编辑器. vim分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作为命令来处理,如:q代表退出,而编辑 ...

  9. Ubuntu 16.04 Vim安装及配置【转】

    转自:http://www.cnblogs.com/ace-wu/p/6273031.html 安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate ...

随机推荐

  1. ZurmoCRM 可执行代码高危风险报告及修复

    鉴于目前ZumroCRM已经云端化,其开源版本的代码基本没有人维护,也没有地方提交bug清单.但相信国内有一些用户在使用这个开源的版本,下面报告一个ZumoCRM的重大风险点. 风险描述: 当用户登录 ...

  2. shell脚本中${...}函数的用法总结

    ${...}在字符串中有非常多的用法: 1.${var} 限定变量. 如果一个变量名A是另一个变量名AB的前部分,那么,如果要在AB相连时,要得到A的值,就必须使用${var}限定. 如果变量名不会产 ...

  3. jquery.qrcode.js生成二维码(前端生成二维码)

    官网地址:http://jeromeetienne.github.io/jquery-qrcode/ 第一步引入插件: <script type='text/javascript' src='h ...

  4. Codeforces 1205C Palindromic Paths (交互题、DP)

    题目链接 http://codeforces.com/contest/1205/problem/C 题解 菜鸡永远做着变巨的梦 然而依然连div1BC题都不会做 要是那天去打cf怕是又要1题滚粗了.. ...

  5. Java基础_死锁、线程组、定时器Timer

    一.死锁问题: 死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放.由于线程被无限期地阻塞,因此程序不可能正常终止. 比如,线程一需要第一把所,此时锁处于空闲状态,给了 ...

  6. CodeForces 519D A and B and Interesting Substrings ——(奥义字符串)

    题意:给出26个字母每个字母的价值,问字符串中有多少个满足以下条件的子串: 1.子串的第一个和最后一个相同 2.子串除了头和尾的其他字符的价值加起来和尾0 这题普通方法应该是O(n^2),但是在1e5 ...

  7. golang——写文件和读文件

    之前聊过,操作文件——读写文件,直接调用接口即可. 如果是一直写入操作,写入操作一直进行的,免不了会有,有时一大批数据过来,有时没有一条数据. 鉴于此场景,选择用select....channel 的 ...

  8. 在windows系统搭建Flutter开发环境

    开发环境搭建(Windows) 系统要求 设置FLutter镜像(非必须) 获取Flutter SDK Android开发环境设置 安装Flutter插件 系统要求 在Windows上要安装并运行Fl ...

  9. 性能优化 | JVM与性能优化知识点综合整理

    JVM JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器.它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序. java编译 ...

  10. C++ STL——异常

    目录 一 C++异常机制概述 二 栈解旋(unwinding) 三 异常接口的声明 四 异常类型和异常变量的生命周期 五 C++标准异常库 六 异常的继承 注:原创不易,转载请务必注明原作者和出处,感 ...