所有的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. SAP IDOC 通过采购订单输出消息生成销售订单

    题记: 在网络上看到一篇类似的公众号文章,叫<通过IDoc逐步指导PO&SO集成>,个人觉得整个配置过程中还是少了一些重点配置,也少了说明整个功能的核心逻辑,那么,趁着这个机会,就 ...

  2. urllib模块使用笔记

    文中所有python代码均使用的是python2.7实现,与python3并不兼容. UrlLib模块 urllib模块是适用于一个简单的网络数据获取和处理(不能处理有关验证和cookie等功能),官 ...

  3. MYSQL之事务篇

    目录 事务概述 事务隔离级别 Read Uncommitted Read Committed Repeatable Read Serializable 事务概述 在引入事务之前我们先考虑银行转账的操作 ...

  4. 如何获取Html的height和width属性(网页宽、高)

    1.页面如图所示 2.Html代码 <div style="color:green;" id="html_info"></div> 3. ...

  5. Python数据结构性能分析

    1.目标 告诉大家Python列表和字典操作的 大O 性能.然后我们将做一些基于时间的实验来说明每个数据结构的花销和使用这些数据结构的好处 2.实操 在列表的操作有一个非常常见的编程任务就是是增加一个 ...

  6. 使用hutool进行二维码制作

    2.在IDEA中使用代码块生成二维码

  7. 关于Mysql修改帐号密码的多种方法

    方法一: 登录Mysql进行修改(mysql的小黑框) 命令: set password for 用户名(一般为root) @localhost=password('新密码'); 方法二: 登录MyS ...

  8. 如何优雅规避NPE

    项目中尤其是在持久层,难免会有大量的针对集合,对象,字符串的操作,为了程序的健壮性,我们不得不进行判空,像下面箭头式编码吗? if(null!=person){ ... if(null!=addres ...

  9. 什么是StatefulSet

    简单说来,StatefulSet其实就是一种升级版的Deployment,大体工作原理如下 1.为每个Pod名字按顺序编号,按顺序启动 # kubectl get po -o wide -l app= ...

  10. 【LeetCode】6. Z 字形变换

    题目 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L   C   ...