1、简介

$vim [filename]

vim有三种操作模式,分别称为编辑模式、插入模式和命令模式

2、编辑模式

vim编辑模式的主要用途是在被编辑的文件中移动光标的位置。一旦光标移动到所要的位置,就可以进行剪切和粘贴正文,删除正文和插入新的正文。

3、跳转

k 上移

j 下移

h 左移

l 右移

ctrl + f 在文件中前移一页【page down】

ctrl + b 在文件中后移一页【page up】

更大范围的移动:

* 当光标停留在一个单词上,*键会在文件内搜索该单词,并跳转到下一处

# 当光标停留在一个单词上 ,#在文件内搜索该单词,该跳转到上一处

(/) 移动到 前 / 后 句的开始

{/} 移动到 当前 / 下一个段落开始

g_ 到本行最后一个不是blank 字符的位置

fa 到下一个a的字符处,你也可以fs到下一个为s的字符

t, 到逗号前的第一个字符。逗号可以变成其他字符

3fa 在当前行查找第三个出现的a

F/T 和 f 和 t 一样,只不过是相反方向

gg 将光标定位到文件第一行起始位置

G 将光标定位的文件最后一行

NG或Ngg 将光标定位到第 N 行的起始位置

【上面的笔记忽略吧,相当于一本字典】

第一阶段:存活

x -> 删除当前光标所在的一个字符

:wq -> 存盘 + 退出 (:w 存盘,:q 退出) :w后可以跟文件名

dd -> 删除当前行,并把删除的行存到剪切板里

p -> 粘贴剪切板


推荐:

· hjkl 使用这四个作为移动光标的按键

· :help 显示相关命令的帮助。你也可以就输入 :help 而不拼接命令,退出help的时候要使用 :q -----------------------------------------------------------------------------------

第二阶段:感觉良好

1、各种插入模式

·a -> 在光标后插入

·o -> 在当前行后插入一个新行

·O(大写O) -> 在当前行前插入一个新行

·cw -> 替换从光标所在位置后到一个单词结尾的字符

2、简单的移动光标

·0(数字0) -> 数字零,到行头

·^ -> 到本行第一个不是blank字符的位置(所谓的blank就是空格,tab,回车,换行)

·$ -> 到本行行尾

·g_ -> 到本行最后一个不为blank字符的位置

·/pattern -> 搜索pattern的字符串(如果搜索出多个匹配,可以按 n 键到下一个)

3、复制和粘贴(p/P都是可以的,p表示当前位置之后,P表示当前位置之前)

·p -> 粘贴

·yy -> 复制当前行

4、Undo、Redo

·u -> 撤销上一步

·ctrl + r -> 撤销上一步的撤销

5、打开、保存、退出、改变文件

·:e <path/to/file> -> 打开一个文件

·:w -> 存盘

·:saveas <path/to/file> -> 另存为<path/to/file>

·:x, ZZ或:wq -> 保存并退出

·:q! -> 退出不保存; :qa!强行退出所有的正在编辑的文件,就算别的文件有所更改。

·:bn 和 :bp -> 你可以同时打开打开很多文件,使用这两个命令切换下一个或上一个文件

第三阶段,更好,更强,更快

1、更好

·. -> (小数点)重复上一次

·N -> 重复某个命令N次

栗子

2dd -> 删除2行

3p -> 粘贴3次

2、更强

【接下来这个可以极大的提高工作效率】

· NG -> 到第N行 (其实可以直接使用:N,然后到达第几行)

· gg -> 到达第一行 相当于1G 或 :1

· G -> 到达最后一行

· 按单词移动

w -> 到下一个单词的开头

e -> 到下一个单词的结尾

(注释:

> 如果你认为单词是由默认方式,那就用小写的w和e。默认下一个单词由字母,数字和下划线组成的

> 如果你认为单词是有blank字符分隔符,那么就是使用大写 W 和 E



【最强移动光标】:

· % -> 匹配括号移动,包含(,{,[

· * 和 # -> 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

3、更快

·你一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令联动,很多命令都可以根据如下:



例如:0y$命令意味着

·0 -> 先到行头

·y -> 从这里开始拷贝

·$ -> 拷贝到本行最后一个字符

也可以试试ye,从当前位置拷贝到本单词的最后一个字符

也可以试试输入y2/foo来拷贝2个‘foo’之间的字符串

·d(删除)

·v(可视化的选择)

·gU(变大写)

·gu(变小写)

·等等

(标注:可视化选择-> 先按v,然后移动光标,你应该看到文本被选择,然后,可以使用d,y,)

第四阶段:vim超能力

1、【在当前行上移动光标:0 ^ $ f F t T , ; 】

0 -> 到行头

^ -> 到本行的第一个非blank字符

$ -> 到行尾

g_ -> 到本行最后一个不是blank字符的位置

fa -> 到下一个为a的字符处,你也可以fs到下一个为s的字符

t, -> 到逗号前的第一个字符。逗号可以变成其他字符

T, -> 到逗号后的第一个字符。

3fa -> 查找第三个出现的a

F 和 T -> 和f和t一样,只不过是相反方向

dt -> 删除所有内容 !!!!!!!!!!!! 慎用

2、区域选择a

36.Vim笔记的更多相关文章

  1. vim笔记2

    用vim 快两年了 看过教程也不少,总的来说还是得自己多练习,当自己觉得有需要的时候,再添加功能.这里分享个看过的最好的教程,出自贴吧的某个朋友,写的很好 零 学会盲打 壹 配置文件先从最简开始,在 ...

  2. Vim笔记

    复制多行: v 可视化,选择多行,然后yy复制.

  3. vim 笔记

    1.替换 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :%s/vivian/sky/(等同于 : ...

  4. java核心技术36讲笔记

    Java-Basic 谈谈final. finally. finalize有什么不同? 典型回答: final可以用来修饰类.方法.变量,分别有不同的意义, final修饰的class代表不可以继承扩 ...

  5. vim 学习笔记系列(前言)

    今天上午的时候,看到大神在用vim编程,画面直观,速度很快,操作只需要用命令符就可以实施. 所以可以推断vim的命令符是复杂的,那么学习过程中记忆会很漫长,很痛苦,但是如果记住了这些命令符,并可以熟练 ...

  6. 18、Apache服务器

    --   web 服务器   survey.netcraft.net     --此网站会有每月份的世界上网站使用的WEB服务器的使用率统计   www.apache.org     apache a ...

  7. MySQL简介及安装

    一.DBA工作内容及课程体系 二.MySQL课程体系介绍 三.DBA的职业素养 四.MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 04 MySQL发展 ...

  8. 源码编译配置lnmp部署zabbix

    环境说明: [root@wcy ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@wcy ~]# uname -a Linux ...

  9. PHP基础知识学习总结

    从今天开始过一遍PHP的基础知识   加油  地址:http://www.runoob.com/php/php-mail.html   该看:PHP发送电子邮件 2017年5月23日23:38:30 ...

  10. Centos6.5 下安装配置Apache+PHP+Mysql环境

    1.准备工作 # yum -y update && yum -y install vim make cmake gcc gcc-c++ bison bison-devel ncurse ...

随机推荐

  1. c++练习267题 火柴棒等式

    *267题 原题传送门:http://oj.tfls.net/p/267 题解: #include<bits/stdc++.h>using namespace std;int c,m;in ...

  2. javaweb常用的配置文件

    1.applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans ...

  3. python使用pysimplegui简单制作一个exe程序

    一.安装打包程序 控制台输入: pip install pysimplegui-exemaker -- 安装exe制作库 pip install PySimpleGUI -- 安装图形化界面编辑库 二 ...

  4. pgsql计算占比

    SELECT len/sum(len)over(partition by road_id) param from road_jcpd_section

  5. MAC怎么获取文件路径 MAC获取文件路径的四种方法

    MAC怎么获取文件路径介绍 方法一:最简单的方法  右键文件或者文件夹,选择显示简介 2在弹出来的窗口中找到位置,即为路径,在mac 10.10之前的系统是正常的路径,10.10开始是小箭头代替/显示 ...

  6. pyqt5离线安装教程

    目前总结的安装pyqt5,需要的离线安装包,除了每一个包要跟系统版本适配之外,还要考虑包跟包之间的适配.pyqt5跟它开头的一些包要保持是同一个版本,至少有2个小数点的位数是一样的才行,qt5跟它开头 ...

  7. 【Java】自定义mybatis

    处理 sql in 多条件搜索时 单引号双引号问题 StringBuilder pidNoZeroIds = new StringBuilder(); Integer numTmp = 0; for ...

  8. qt creator 常量中有换行符(转)

    这篇文章写于QT5.6的诞生,它是QT5的第一个长期支持版.这也是QT5已成熟的里程碑. 我搭建的环境是:Win10+VS2015+QT5.6+QtCreator 在安装VS2015的时候,若是用Qt ...

  9. Ubuntu 20.04 :“a start job is running for hold until boot process finishes”

    A start job is running for Hold until boot process finishes up (xxx min xxx s/no limit) ubuntu20.04开 ...

  10. 冒泡排序快速排序C语言

    //冒泡排序 void BubbleSort(ElemType A[], int n) { int i, j, temp; int flag=1; for (i = 1; i <= n - 1& ...