一 写在开头
1.1 本文内容
本文内容为vim快速入门——vimtutor。

二 第一讲
2.1 移动光标(命令模式下)
上 - k
下 - j
左 - h
右 - l

2.2 进入和退出vim
进入vim - vim
退出并丢弃对文件的所有更改 - q!

2.3 删除
删除光标所在的字符 - x(小写)

2.4 插入模式
从命令模式进入插入模式 - i

2.5 添加文本
将光标移至所在行末尾字符的后一个位置并进入插入模式 - A

2.6 编辑文本
打开文件用于编辑 - vim filename
保存文件更改并退出 - wq

三 第二讲
3.1 从当前光标处删除至一个单词的末尾 - dw

3.2 从当前光标处删除至行末 - d$

3.3 命令和对象
许多改变文本的命令都由一个操作符和一个动作构成。
使用删除操作符 d 的删除命令的格式如下:

d motion

其中:
d - 删除操作符。
motion - 操作符的操作对象(在下面列出)。

一个简短的动作列表:
w - 从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符。
e - 从当前光标当前位置直到单词末尾,包括最后一个字符。
$ - 从当前光标当前位置直到当前行末。

因此输入 de 会从当前光标位置删除到单词末尾。

3.4 在动作前输入数字n会使命令重复执行n次
使光标向前移动两个单词 - 2w
使光标向前移动到第三个单词的末尾 - 3e
输入0(数字0)移动光标到行首 - 0

3.5 使用操作符时输入数字n使命令重复执行n次
d number(数字) motion
比如输入d2w以删除两个相邻的单词

3.6 删除当前光标所在的一整行 - dd

3.7 撤销修改
撤销最后执行的命令 - u(小写)
撤销对整行的修改 - U(大写)

四 第三讲
4.1 置入命令p
删除光标当前所在行并将该行保存至vim的寄存器中 - dd
将最后一次删除的内容置入光标之后的位置 - p

4.2 替换光标所在位置的字符 - 输入r和一个字符(输入的字符用于替换原字符)

4.3 更改文本直到一个单词的末尾 - ce

4.4 使用c命令更改更多
更改类操作符的工作方式跟删除类是一致的。操作格式是:
c [number] motion
动作参数(motion)也是一样的,比如 w 代表单词,$代表行末等等。

五 第四讲
5.1 定位及文件状态
显示当前编辑文件中当前光标所在行位置及文件状态信息 - ctrl + g(按住ctrl不变然后按g)
使光标直接跳转到文件最后一行 - G
使光标直接跳转到文件第一行 - gg
使光标直接跳转到文件制定行 - nG(n为行号)

5.2 搜索类命令
在当前文件中查找字符串 - /hello(hello为你要搜索的字符串)
要查找同上一次的字符串 - n
要向相反的方向查找上一次的字符串 - N
要想逆向查找字符 - ?hello(hello为你要搜索的字符串,即将/换成?)

5.3 查找配对的括号(包括)、]、}) - %(百分号)

5.4 替换命令
:s/thee/three - 该命令将会将光标所在行的第一个thee替换为three
:s/thee/three/g - 该命令将会将光标所在行的所有匹配的thee替换为three
:#,#s/thee/three/g - 该命令将会将行#(第一个#)和行#(第二个#)中所有匹配的thee替换为three
:%s/thee/three/g - 该命令会对整个文件中所有匹配的thee替换为three
:%s/thee/three/gc - 该命令会找到整个文件中所有匹配的thee,并对每个找到的thee提示是否进行替换为three的操作

六 第五讲
6.1 在vim中执行外部命令 - :!ls(ls为命令名)

6.2 将对文件的改动保存到文件中 - :w filename

6.3 选择性保存命令v
第一步:按v进入可视模式,选择要复制的内容
第二部:按:,屏幕底部出现:'<,'>,此时输入w filename即可将选中的内容复制到文件filename中去

6.4 向当前文件中插入另外的文件内容 - :r filename

七 第六讲
7.1 打开类命令
在光标当前行所在的下一行打开新一行并进入插入模式 - o(小写o)
在光标当前行所在的上一行打开新一行并进入插入模式 - O(大写O)

7.2
在光标之后插入文本 - a(小写a)
在光标所在行的行末尾插入文本 - A(大写A)

7.3 输入R可以连续替换多个字符

7.4 使用操作符y来复制文本,使用p来粘贴文本
注意:你还可以把y当做操作符使用,比如使用yw来复制一个单词

7.5 设置类命令的选项
:set ic - 搜索字符串时忽略大小写
:set noic - 禁用忽略大小写
:set hls - 高亮搜索结果(或者使用:set hlsearch)

八 第七讲

Vim使用技巧:vimtutor的更多相关文章

  1. Vim使用技巧汇总

    一 写在开头 1.1 本文内容 Vim使用技巧与学习资源汇总. 二 Vim学习资源 1. Vimtutor 2. Vim中文帮助(http://vimcdoc.sourceforge.net/doc/ ...

  2. vim 使用技巧记录

    vim 使用技巧记录 1.批量注释与取消注释 命令格式:起始行号,结束行号s#^#//#g 例如: 注释代码3到15行,"//"可以是其他的"" :3,15s# ...

  3. Vim 常用技巧:

    Vim 常用技巧: 将回车由默认的8个空格改为4个空格: 命令:set sw=4 修改tab为4空格: 命令:set ts=4 设置每一级的缩进长度: 命令:set shiftwidth=4 设置文件 ...

  4. 最好的vim教程莫过于vimtutor

    最好的vim教程莫过于vimtutor 直接运行vimtutor即可

  5. ###《VIM实用技巧》

    ###<VIM实用技巧> #@author: gr #@date: 2015-11-20 #@email: forgerui@gmail.com <VIM实用技巧>阅读笔记. ...

  6. 无插件Vim编程技巧

    无插件Vim编程技巧 http://bbs.byr.cn/#!article/buptAUTA/59钻风 2014-03-24 09:43:46 发表于:vim  相信大家看过<简明Vim教程& ...

  7. vim实用技巧总结

    1. 单个文件内实用mark来帮助跳转以及一些宏操作.(注意:mark不能用于多文件之间的跳转)mch 设置宏,保存到ch标记(不是ch寄存器)'ch 跳转到标记的行首`ch 跳转到标记的字符处另:为 ...

  8. 无插件VIM编程技巧(网摘)

    无插件VIM编程技巧 原文出处:[陈皓 coolshell] 相信大家看过<简明Vim教程>也玩了<Vim大冒险>的游戏了,相信大家对Vim都有一个好的入门了.我在这里把我日常 ...

  9. vim常用技巧

    # vim常用技巧 ## 行操作------------------------------ 行首 0- 行尾 $- 第一个非空字符 ^ ## 列编辑模式----------------------- ...

随机推荐

  1. windows下查看端口被占用及处理

    一.通过命令行查找端口被谁占用 1.window+R组合键,调出命令窗口 2.输入命令:netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口 3.查看被占用端口对应的PID,输入 ...

  2. LeetCode算法题-N-ary Tree Postorder Traversal(Java实现)

    这是悦乐书的第269次更新,第283篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第136题(顺位题号是590).给定一个n-ary树,返回其节点值的后序遍历.例如,给定 ...

  3. 通过指令码来判断Java代码的执行顺序(++问题与return和finally的问题)

    问题 在<深入理解Java虚拟机>一书中遇到了如下代码: public int method() { int i; try { i = 1; return i; } catch (Exce ...

  4. C#基础知识之泛型

    泛型在c#中有很重要的位置,对于写出高可读性,高性能的代码有着关键的作用. 其实官方文档说明的很详细,我这边算是做个记录吧 一.什么是泛型? 泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) ...

  5. Cloudera Manager(CDH5)内部结构、功能包括配置文件、目录位置等

    1. 相关目录 /var/log/cloudera-scm-installer : 安装日志目录./var/log/* : 相关日志文件(相关服务的及CM的)./usr/share/cmf/ : 程序 ...

  6. 如何将Bitcoin比特币区块链数据导入关系数据库

    在接触了比特币和区块链后,我一直有一个想法,就是把所有比特币的区块链数据放入到关系数据库(比如SQL Server)中,然后当成一个数据仓库,做做比特币交易数据的各种分析.想法已经很久了,但是一直没有 ...

  7. java 面试题整理(不定期更新)

    一.Java基础 1.Java面向对象的三个特征与含义 三大特征是:封装.继承和多态. 封装是指将某事物的属性和行为包装到对象中,这个对象只对外公布需要公开的属性和行为,而这个公布也是可以有选择性的公 ...

  8. Spring Security Oauth2 的配置

    使用oauth2保护你的应用,可以分为简易的分为三个步骤 配置资源服务器 配置认证服务器 配置spring security 前两点是oauth2的主体内容,但前面我已经描述过了,spring sec ...

  9. keepalived--小白博客

    一.HA集群中的相关术语 1.节点(node) 运行HA进程的一个独立主机,称为节点,节点是HA的核心组成部分,每个节点上运行着操作系统和高可用软件服务,在高可用集群中,节点有主次之分,分别称之为主节 ...

  10. 03-JavaScript之数据类型

    JavaScript之数据类型 1.介绍 JavaScript数据类型分为两类:原始类型(primitive type)和对象类型(object type) 2.原始类型 数字 - number.字符 ...