Vim使用技巧:vimtutor
一 写在开头
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的更多相关文章
- Vim使用技巧汇总
一 写在开头 1.1 本文内容 Vim使用技巧与学习资源汇总. 二 Vim学习资源 1. Vimtutor 2. Vim中文帮助(http://vimcdoc.sourceforge.net/doc/ ...
- vim 使用技巧记录
vim 使用技巧记录 1.批量注释与取消注释 命令格式:起始行号,结束行号s#^#//#g 例如: 注释代码3到15行,"//"可以是其他的"" :3,15s# ...
- Vim 常用技巧:
Vim 常用技巧: 将回车由默认的8个空格改为4个空格: 命令:set sw=4 修改tab为4空格: 命令:set ts=4 设置每一级的缩进长度: 命令:set shiftwidth=4 设置文件 ...
- 最好的vim教程莫过于vimtutor
最好的vim教程莫过于vimtutor 直接运行vimtutor即可
- ###《VIM实用技巧》
###<VIM实用技巧> #@author: gr #@date: 2015-11-20 #@email: forgerui@gmail.com <VIM实用技巧>阅读笔记. ...
- 无插件Vim编程技巧
无插件Vim编程技巧 http://bbs.byr.cn/#!article/buptAUTA/59钻风 2014-03-24 09:43:46 发表于:vim 相信大家看过<简明Vim教程& ...
- vim实用技巧总结
1. 单个文件内实用mark来帮助跳转以及一些宏操作.(注意:mark不能用于多文件之间的跳转)mch 设置宏,保存到ch标记(不是ch寄存器)'ch 跳转到标记的行首`ch 跳转到标记的字符处另:为 ...
- 无插件VIM编程技巧(网摘)
无插件VIM编程技巧 原文出处:[陈皓 coolshell] 相信大家看过<简明Vim教程>也玩了<Vim大冒险>的游戏了,相信大家对Vim都有一个好的入门了.我在这里把我日常 ...
- vim常用技巧
# vim常用技巧 ## 行操作------------------------------ 行首 0- 行尾 $- 第一个非空字符 ^ ## 列编辑模式----------------------- ...
随机推荐
- qt 打包发布 获取dll
发布前,获取所有qt dll包命令 生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径: C:\QtPros\hellomw\它的项目生成目录是C:\QtPros\build-hellom ...
- 5.5Python数据处理篇之Sympy系列(五)---解方程
目录 目录 前言 (一)求解多元一次方程-solve() 1.说明: 2.源代码: 3.输出: (二)解线性方程组-linsolve() 1.说明: 2.源代码: 3.输出: (三)解非线性方程组-n ...
- ThinkPHP中使用聚合查询去重求和
我使用的是TP5.1 首先去model类里面设置failed条件: 想要的效果: 数据库展示: 代码: eturn self::alias('gr') ->join('gs_staff gs', ...
- 研究好vif 和vshow
另外从源头上处理的???,怎么自己排查出错误??必须 ??https://www.jb51.net/article/124116.htm
- 位(Bit)与字节(Byte)
字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit) 一个字的字长为16 一个字节的字长是8 bps ...
- CentOS 6.5 minimal 安装配置VMware tools
1.登录到系统,切换到root账户 2.配置网络 minimal版本默认不启动网络,所以要自己配置. 配置过程很简单,编辑配置文件 vi /etc/sysconfig/network-script/i ...
- python3 time模块
import time '''查看系统时间拿到的是一个数字(时间戳)从1970-01-01 00:00:00开始计算,以秒为单位'''print(time.time()) 执行结果:155650817 ...
- 多线程学习笔记-深入理解ThreadPoolExecutor
java多线程中,线程池的最上层接口是Executor,ExecutorService实现了Executor,是真正的管理线程池的接口,ThreadPoolExecutor间接继承了ExecutorS ...
- ubuntu安装docker-ce
Docker Community Edition (CE)/Docker社区版非常适合希望开始使用Docker并尝试使用基于容器的应用程序的开发人员和小型团队.Docker CE有2个版本:stabl ...
- __init__和__new__的区别
根据官方文档: __init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值. __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法. 也 ...