所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器不一定存在,vim是vi的升级版,具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。vim 里面加入了很多额外的功能,例如支持正规表示法的搜寻结构、多文件编辑、区块复制等。

    Vim有三种模式:命令模式、编辑模式、底线命令模式
命令模式:vim 文档 进入一般命令模式,这个时候,编辑文档的功能主要靠键盘上的命令寓意来进行
编辑模式:命令模式中 i,o,a,r 进入编辑模式,编辑模式当一般的输入使用,除了esc外
底线命令模式:一般模式按 : / ? 进入
 
    一般模式常用命令:
[page Down] :屏幕向下移动一页
[page Up] :屏幕想上移动一页
数字0 :移至这一行最前面字符处
符号$ : 移至这一行最后面字符处
字母G: 移动至整个文件的最后一行
nG :移动到文件的n行
字母gg:移动至档案的第一行
n<Enter> :n为数字,光标向下移动n 行
/word : 向光标之下寻找一个名称为word的字符串
?word 光标之上查找一个名称为word的字符串
x : 向后删除一个字符
X: 向前删除一个字符
dd :删除游标所在的那一整行
ndd :删除游标所在的向下n行
字母 yy 复制游标所在的那一行/nyy 复制向下几行
字母 p、P 粘贴,p向下粘贴,P向上粘贴
字母 u:复原上一个动作
crtl+r 或者 小数点 重复上一个动作
n1,n2s/word1/word2/g 在n1行和n2行之间寻找word1字符串并取代为word2
1,$s/word1/word2/g 在第一行到最后一行之间寻找word1字符串并取代为word2
1,$s/word1/word2/gc 在第一行到最后一行之间寻找word1字符串并取代为word2,并在每次都确认
   
  进入编辑模式常用命令:

命令模式常用命令:

其他命令:
改变文件编码:iconv -f 原本编码 -t 新编码 filename [-o newfile]
代码反白选择: crtl + v
多窗口编辑:底线命令模式 输入 :SP 文件名 ,不输入文件名代表打开本文件,crtl + w + 向上/ crtl + w +向下 切换窗口

Linux 学习记录三(Vim 文书编辑器).的更多相关文章

  1. Linux 学习记录 三(Vim 文书编辑器).

            所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器不一定存在,vim是vi的升级版,具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计.vim 里 ...

  2. linux学习笔记:vim程序编辑器—vim的使用

    注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...

  3. Linux学习记录(三)

    1.Linux的软件安装 1.1.jdk安装 注意:rpm与软件相关命令 相当于window下的软件助手 管理软件 步骤: 1)查看当前Linux系统是否已经安装java 输入 rpm -qa | g ...

  4. linux学习心得之vim/Cvim篇

    linux学习心得之vim/Cvim篇 在linux 下,vim 时一种最常见的编辑器,很多linux的发行版就自带了.我的是CentOS 6.3. 基本上Vim共分为3种模式,分别是一般模式,编辑模 ...

  5. JavaScript学习记录三

    title: JavaScript学习记录三 toc: true date: 2018-09-14 23:51:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  6. 3.VUE前端框架学习记录三:Vue组件化编码1

    VUE前端框架学习记录三:Vue组件化编码1文字信息没办法描述清楚,主要看编码Demo里面,有附带完整的代码下载地址,有需要的同学到脑图里面自取.脑图地址http://naotu.baidu.com/ ...

  7. Linux学习Day5:Vim编辑器、配置网卡、配置Yum软件仓库

    今天首先学习Vim编辑器的使用,通过它可以对Linux系统的文件进行编写和修改.在Linux系统中一切都是文件,所以熟练掌握Vim编辑器的使用十分重要.最后通过配置主机网卡的实验,来加深Vim编辑器中 ...

  8. Linux学习笔记之VIM编辑器

    此处根据需要,只罗列一些常用的指令和用法 五.VIM程序编辑器 Vi与vim Vi打开文件没有高亮注释,vim有,且vim是vi的高级版本 Vim默认打开文件为命令模式 i               ...

  9. leveldb 学习记录(三) MemTable 与 Immutable Memtable

    前文: leveldb 学习记录(一) skiplist leveldb 学习记录(二) Slice 存储格式: leveldb数据在内存中以 Memtable存储(核心结构是skiplist 已介绍 ...

随机推荐

  1. Android开发之OkHttp介绍

    要论时下最火的网络请求框架,当属OkHttp了.自从Android4.4开始,google已经开始将源码中的HttpURLConnection替换为OkHttp,而在Android6.0之后的SDK中 ...

  2. FAQ: Oracle Flex ASM 12c / 12.1 (Doc ID 1573137.1)

    FAQ: Oracle Flex ASM 12c / 12.1 (Doc ID 1573137.1) APPLIES TO: Oracle Database - Enterprise Edition ...

  3. 关于在Arduino下STM32编程——RTC函数解析

    注意:相关RTC基础知识这里不提! 该库头文件引用: #include <RTClock.h>   该库所在Arduino位置: 初始化RTC相关时钟 Arduino版的库里初始化配置PW ...

  4. java1.8 ConcurrentHashMap 详细理解

    基于 jdk1.8 Java并发包中提供的一个线程安全且高效的HashMap实现,可以完全替代HashTable,在并发编程的场景中使用频率非常之高.可能大多人只是知道它使用了多个锁代替HashTab ...

  5. 【algo&ds】6.图及其存储结构、遍历

    1.什么是图 图表示"多对多"的关系 包含 一组顶点:通常用 V(Vertex)表示顶点集合 一组边:通常用 E(Edge)表示边的集合 边是顶点对:(v,w)∈ E,其中 v,w ...

  6. Java描述设计模式(13):迭代器模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.迭代器模式 1.基础概念 迭代器模式又叫游标模式,是对象的行为模式.迭代器模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象. 2 ...

  7. git push 时用户的配置

    Pycharm临时配置git提交的账户:git 修改当前的project的用户名的命令为:git config user.name 你的目标用户名**;git 修改当前的project提交邮箱的命令为 ...

  8. PlayJava Day021

    容器: Collection接口:定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式 List:存储数据有序且可重复 ----> ArrayList Set:存储数据无序且不可 ...

  9. python-pyppeteer模块使用汇总

    一.简单代码示例 import asyncio from pyppeteer import launch async def main(): browser = await launch() page ...

  10. Can not find the tag library descriptor for “http://java.sun.com/jstl/core"

    此文原博文地址:https://blog.csdn.net/kolamemo/article/details/51407467 按照查到的资料,JSTL taglib需要jstl.jar来支持.在1. ...