Vim 文本编辑器

  1、Vim 和 Vi:

    两者都是多模式编辑器;

    Vim 是 Vi 升级版,再兼容 Vi 所有指令的同时增加了一些新功能支持;

  特点:

     语法加亮:使用不同的颜色加亮代码;

     多级撤销:Vi 只能撤销一次操作,Vim 可以无限次撤销;

     可视化操作:可以在终端模式运行,也可以在 Xwindows 模式运行;

  2、Vim 的三种模式:

    命令模式(Command):默认模式,只能输入指令,不能输入编辑文字;

    插入模式(Insert):按 i 就会进入入插入模式,此时才可以输入文字,编辑文章, 按 Esc 回到命令模式。并且状态列 - INSERT - 或者 - 插入 - 字样。

    EX 模式:有一個冒号在那,等待输入命令;在命令模式下 :键可以進入 Ex 模式

二、Vim 插入模式和 Ex 模式

1、打开文件:

  vim 文件名

    如果文件存在则该文件会被打开;否则在第一保存时文件会被创建; 插入模式,编辑文件:

    按 A 在行尾后补;

    按 a 在当前处的下一个位置;

    按 o 在当前行的下面插入一个新行 ;

    按 O 在当前行的上面插入一个新行 ;

2、EX 模式,保存、退出 Vim:

  按 : 键可以进入 Ex,屏幕状态行上有一个:标志;

    按 w 保存文件;

    按 wq 保存退出;

    按 q!不保存退出;

三、使用命令模式

1、光标移动:

  按字符移动:方向键及 h、j、k、l 按一下移动一个字符;

  数字,方向移动:向这个方向移动 1 个字数倍个;

  按单词移动:w、b

  跳到第几行:XG,X 是行数

  Ctrl-f 向前、向下翻页

  Ctrl-b 向后、向上翻页

  G 移至文尾;gg 移至文首

2、删除内容:

   x 刪除光标所在处字符,在中文指一個中文字。

  X 刪除光标前的字符。Backspace 鍵,只能在插入模式。

  dd 刪除一整行(delete line), Xdd:删除 X 行。

  dG 刪至文档结尾。

  d1G 刪至文档头。

3、剪切、粘贴:

  cc 剪切整行,当前行内容剪切走;

  C 剪切至行尾;

  p:粘贴,把前一个剪切的内容粘贴到当前位置

4、复制:

  yy 复制所光标在行整行。Xyy 可以复制 X 行

  yw 复制一个单词。

  yG 复制到文档结尾。

  y1G 复制到文档首。

  y0 复制至行首不含光标所在处的字符。

  Y 复制至行尾,含光标所在处的字符

5、撤销、重做:

  u:撤销,vim 可以无限制撤销;

  Ctrl-r:重做上一个被撤销的改变;

6、vim 加密文档:

  vim –x 文档名 设置以后需要保存文件才能使密码生效,下次打开会提示输入密码

7、搜索查找:

  /字符 :查找指定字符

  n:向下查找

  N:向上查找

8、替换:

  :x,y s/被替换目标/替换内容/

    x,y 指定范围,x,y 指行编号;

    :1,5s /安装/anzhung 1 到 5 行上的“安装”被替换成“anzhuang ”

  %s /被替换目标/替换内容/g

    %表示全文

    g 替换所有目标,默认一行如果有多个被替换目标则只替换 1 个,加上 g 替换所 有;

    :%s /安装/anzhuang /g 文中所有“安装”替换成“anzhuang

三、可视模式

1、可视模式:

  可以突出显示字符、行或者大块文本,并对他们进行操作

2、进入可视模式:

  按 v:进入面向字符的可视模式;

  按 V:进入面向行的可视模式;

  Ctrl-v:进入面向块的可视模式

3、可视模式下的文本的编辑:

  c:剪切选中文本,和 p 组合可实现移动文本操作;

  d:删除选中文本;

  y:复制选中文本;

四、Vim 多窗口模式:

1、Vim 同时打开多个文件:

  vim –o 文件 1 文件 2

2、分屏查看文件

  Ctrl-w,s 水平方向分割窗口

  Ctrl-w,v 垂直方向分割窗口

  Ctrl-w,方向键 在不同的窗口之间移动

  Ctrl+w ,q 即 q 结束分出来的窗口;

  Ctrl+w ,o 即 only! 只显示光标所在窗口,其他窗口隐藏。;

  :sp 文档名 新开一个窗口编辑文档

五、配置 vim

1、配置 vim:

  set(se) 配置项目(项目简写)

2、查看相关配置项目:

  set all

3、常用配置项目:

  number /nonumber (nu/nonu):显示或者隐藏行号;

  set ignorecase (se ic/se noic):搜索文件时是否不区分大小写

4、查看 Vim 帮助:

   :help 进入帮助

  :q 退出帮助

Vim和Vi的常用命令的更多相关文章

  1. linux vi编辑常用命令

      linux vi编辑常用命令 来源:互联网 作者:佚名 时间:07-10 21:31:14 [大 中 小] linux vi编辑常用命令,需要的朋友可以参考下   vi编辑器中有三种状态模式 1. ...

  2. 【Linux 操作系统】vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  3. 安卓程序代写 网上程序代写[原]vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  4. VI编辑器常用命令

    Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能. ...

  5. Linux 操作系统下 VI 编辑器常用命令详细介绍

    一.Vi 简介 vi是unix世界中最通用的全屏编辑器,linux中是用的是vi的加强版vim,vim同vi完全兼容,vi就是"visual interface"的缩写.它可以执行 ...

  6. vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  7. Linux vi 编辑器 常用命令行

    1.vi 模式   a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了.   b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下'i,I,o,O,a, ...

  8. vim编辑器介绍及其常用命令

    vim简单的介绍 Vim 编辑器是一个模式编辑器 . 这意味着在不同状态下编辑器有不同的行为模式 . 两个基本的模式是 Normal 模式和 Insert 模式 ,还有可视模式. 在 Normal 模 ...

  9. vi的常用命令

    https://zhidao.baidu.com/question/332242228.html vi的基本操作 a) 进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面: $ v ...

随机推荐

  1. 第二篇:SpringBoot2.0整合ActiveMQ

    本篇开始将具体介绍SpringBoot如何整合其它项目. 如何创建SpringBoot项目 访问https://start.spring.io/. 依次选择构建工具Maven Project.语言ja ...

  2. Mysql、MongoDB对比和使用场景

    MongoDB: 更高的写入负载 默认情况下,MongoDB更侧重高数据写入性能,而非事务安全,MongoDB很适合业务系统中有大量“低价值”数据的场景.但是应当避免在高事务安全性的系统中使用Mong ...

  3. 精读JavaScript模式(四),数组,对象与函数的几种创建方式

    一.前言 放了个元旦,休息了三天,加上春运抢票一系列事情的冲击,我感觉我的心已经飞了.确实应该收收心,之前计划的学习任务也严重脱节了:我恨不得打死我自己. 在上篇博客中,笔记记录到了关于构造函数方面的 ...

  4. mysql中的data下的数据文件(.FRM、.MYD、.MYI)恢复为数据

    记一次mysql中的data文件操作经历 想拿到一个项目的最新的数据,做功能升级使用,备份一份数据同时也作为本地测试数据,文件有些大,我直接通过远程的phpmyadmin程序导出,不能愉快的玩耍,直接 ...

  5. Java设计模式学习记录-GoF设计模式概述

    前言 最近要开始学习设计模式了,以前是偶尔会看看设计模式的书或是在网上翻到了某种设计模式,就顺便看看,也没有仔细的学习过.前段时间看完了JVM的知识,然后就想着JVM那么费劲的东西都看完了,说明自己学 ...

  6. Vue动态新增对象属性

    Vue.set( target, key, value ) 参数: {Object | Array} target {string | number} key {any} value 返回值:设置的值 ...

  7. NULL 和 0

    Question: What is the difference from NULL and "0"? Example: return NULL; return 0; Answer ...

  8. System.arraycopy 怎么使用的?

    前言:看 ArrayList 的源码,发现 remove 方法主要依赖了 System.arraycopy() 方法实现的.所以需要了解一下这个方法如何使用.转载请注明出处:https://www.c ...

  9. php中mysql和mysqli的总结

    首先php—mysql 是 php 操作 mysql 资料库最原始的的拓展 而php—mysqli,字母i代表的 Improvement ,提更了相对进阶的功能. 推荐学习和使用mysqli mysq ...

  10. Python 练习:使用 # 号输出长方形

    使用 # 号输出一个长方形,用户可以指定宽和高 height = int(input("please input height: "))width = int(input(&quo ...