一、概述

VI

Visual interface 可视化接口,类似于Windows中的记事本

VI->VIM

操作模式:

(1)Command mode 命令模式

(2)Insert mode 输入模式

(3)Last line mode 底行模式(尾行、末行)

二、基本

vim [文件名]

进入Vim编辑器,若文件不存在则自动创建并打开

进入默认处于命令模式,等待用户输入命令

键入 i  进入Insert模式

ESC 键退出Insert模式

使用:wq 再按enter键保存退出

三、Vim的命令格式

vim + 文件名:打开文件,光标定位到最后一行

vim +3 文件名:打开文件,光标定位到第3行

vim +/xxx 文件名 :打开文件,光标定位到xxx第一次出现的行,可以通过  n  键,在几次出现xxx的地方进行切换

vim aa bb cc :同时创建并编辑多个文件,在底行模式可以通过键入 :n 向下切换编辑文件(aa->bb->cc的向下顺序), :N 或者 :prev 向上切换编辑文件(cc->bb->aa的向上顺序)

四、底行模式常用指令

:w 保存修改

:q 退出文件

:! 强制执行

:wq 保存修改直接退出

:q! 放弃修改的内容强制退出

:ls 列出编辑器中打开的所有文件

:n 切换一个文件

:N 切换一个文件

:15 把光标快速定位到第15行,15可替换为任意合法数字

/xxx 从光标位置向后搜索xxx这个字符串,匹配第一次出现位置并把光标定位至该位置

?xxx 从光标位置向前搜索xxx这个字符串,匹配第一次出现位置并把光标定位至该位置

五、命令模式下常用指令

h 光标左移动

j

k

l(L)

Ctrl+F 向下翻页(front)

Ctrl+B 向上翻页(back)

Ctrl+D 向下半翻页(down)

Ctrl+U 向上半翻页(up)

dd 删除光标所在行

o 在光标所在行的下方插入一行并进入输入模式

yy 复制光标所在行

p (小写)在光标所在行的下方粘贴

P (大写)在光标所在行的上方粘贴

Linux学习笔记(十二)VIM编辑器的更多相关文章

  1. linux学习笔记--vi与vim编辑器

    vi编辑器全名为Visual Interface,即为可视化接口,类似于Windows中的记事本 vim相当于是vi的一个升级版本,包含vi的一切操作命令,vim相对于vi做了哪些提升: 1.vim支 ...

  2. deepin linux 学习笔记(二)——文本编辑器

    目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...

  3. python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

  4. Go语言学习笔记十二: 范围(Range)

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

  5. Linux学习笔记(二)——文件/目录/VIM

    文件和目录管理 及 VI编辑器的使用 文件和目录管理,刚开始学这块的时候感觉内容很多很杂,但是学完进行总结后,发现其实很有条理的而且没什么难度,只是熟练掌握这些常用的命令就行了.至于Vim编辑器,不得 ...

  6. java jvm学习笔记十二(访问控制器的栈校验机制)

    欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 本节源码:http://download.csdn.net/detail/yfqnihao/4863854 这一节,我们 ...

  7. Linux学习笔记之二

    vim编辑器 :三种工作模式 vim /tmp/xueying.txt 命令模式 a.i.o/esc     \  :wq  保存并退出 /              \ 输入模式           ...

  8. (C/C++学习笔记) 十二. 指针

    十二. 指针 ● 基本概念 位系统下为4字节(8位十六进制数),在64位系统下为8字节(16位十六进制数) 进制表示的, 内存地址不占用内存空间 指针本身是一种数据类型, 它可以指向int, char ...

  9. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  10. Linux学习笔记之十二————vim编辑器的分屏操作

    一.分屏操作: sp: 上下分屏,后可跟文件名 vsp: 左右分屏,后可跟文件名 Ctr+w+w: 在多个窗口切换 二.启动分屏: 1.使用大写O参数进行垂直分屏 $ vim -On file1 fi ...

随机推荐

  1. 完全解读 margin 标签

    你真的了解margin吗?你知道margin有什么特性吗?你知道什么是垂直外边距合并?margin在块元素.内联元素中的区别?什么时候该用 padding而不是margin?你知道负margin吗?你 ...

  2. springboot项目自定义注解实现的多数据源切换

    一.主要依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spri ...

  3. kotlin基本数据类型

    通过idea创建kotlin项目: 创建kotlin文件 package com.czhappy.chapter01 var aBoolean:Boolean = true var anInt:Int ...

  4. CentOS系统安装配置JDK

    我们可以通过xftp工具将jdk文件上传至CentOS系统指定文件夹中 一.安装jdk 进入jdk存放目录,将jdk解压至install文件夹中: tar -zxf jdk-8u151-linux-x ...

  5. PHP判断是不是爬虫的方法

    PHP判断是不是爬虫的方法这个一般用于防止爬虫 和 seo优化(因为爬虫都是按照第一次打开显示的页面 有些ajax 等需要点击才能显示的就爬不到啦)<pre><?php// 判断是否 ...

  6. 终端、虚拟终端、shell、控制台、tty的区别

    终端与控制台的区别? 最近开始接触Linux,终端.虚拟终端.shell.控制台.tty等概念让我很混乱,有必要认识清楚. 今天看到有人问终端和控制台的区别,而且这个问题比较有普遍性,因此想抽出一点时 ...

  7. MAVEN(二)

    1.本地仓库?Maven到底有哪些仓库?它们什么关系? Maven仓库: 本地仓库路径配置: 包查找路径:本地——>私服——>中央仓库,然后将查找到的jar同步到私服——>本地仓库 ...

  8. 基于聚类K-Means方法实现图像分割

    ”“”K-Means to realize Image segmentation “”“ import numpy as np import PIL.Image as image from sklea ...

  9. Jupyter修改工作目录(Anaconda环境)

    Anaconda安装时未添加环境变量 1.打开Anaconda Prompt 输入jupyter notebook --generate-config (base) C:\Users\Sroxi> ...

  10. 1264: 祈雨(Java)

    WUSTOJ 1264: 祈雨 Description 在持续了X天的干旱之后,ACM俱乐部决定由LCM去请求雨大师XH祈雨,CMS则准备工具收集雨水,由于ACM俱乐部中有一个逆天的存在,BobLee ...