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

nano a.txt  也是一样的

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

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

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

  1. [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操作的一些历史操作记录。

如果想要个人定制:

  1. [root@python ~]# vim .vimrc # 创建一个 vimrc 的隐藏文件。 其中可以写一些个人定制的东西
  2.  
  3. 比如我想要 每次打开一个文件时,都会有行号的显示。 那么就只需要在这个文件中输入 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. 路由器配置——OSPF协议(2)

    一.实验目的:使用OSPF协议达到全网互通的效果 二.拓扑图 三.具体步骤配置 (1)R1路由器配置 Router>enableRouter#configure terminalEnter co ...

  2. django-配置相关

    1 自己配置一个静态文件夹 settings.py中 # 用户上传的文件配置 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'me ...

  3. 预处理、const、static与sizeof-用#define实现宏并求最大值和最小值

    1:实现代码: #define MAX(x,y) (((x)>(y)) ? (x):(y)) #define MIN(x,y) (((x)>(y)) ? (x):(y)) 需要注意的几点: ...

  4. postgresql获取表最后更新时间(通过触发器将时间写入另外一张表)

    通过触发器方式获取表最后更新时间,并将时间信息写入到另外一张表 一.创建测试表和表记录更新时间表 CREATE TABLE weather( city varchar(80), temp_lo int ...

  5. QT 多线程程序设计 -互斥

    QT通过三种形式提供了对线程的支持.它们分别是,一.平台无关的线程类,二.线程安全的事件投递,三.跨线程的信号-槽连接.这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线程编 ...

  6. [log4j]Error:The method getLogger(String) in the type Logger is not applicable for the arguments

    原因:本该导入import org.apache.log4j.Logger; 结果成了import java.util.logging.Logger; 如果硬把private static Logge ...

  7. 把文档中的数据取出并插入到excel中

    from xlrd import open_workbookfrom xlutils.copy import copy jsonfile=r'C:\Users\Administrator\Deskto ...

  8. react-native关闭所有黄色警告

    写RN经常会遇到黄色警告,很无奈,很多很多的黄色警告都是由组件自己导致的,建议在index.js 内的 AppRegistry.registerComponent('shareFile', () =& ...

  9. UML分类

    类型                       静态图                     行为图                用例图                  交互图         ...

  10. 纯CSS,table的thead固定,tbody显示滚动条

    以下代码,仅在谷歌下测试过 首先是html的table的代码: <table class="tablediv" id="myTable" border=& ...