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- 行尾 $- 第一个非空字符 ^ ## 列编辑模式----------------------- ...
随机推荐
- jQuery中toggle与slideToggle以及fadeToggle之间的不同
toggle()方法: 定义和用法 切换元素的可见状态.如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法: $(selector).toggle(speed,callback ...
- Think_in_java_4th(并发学习一)
Java的并发是在顺序语言的基础上提供对线程的支持的. 并发能够更加有效的执行我们的代码,也就是更加合理的应用CPU资源. 并发程序往往CPU和内存使用率,要高于同等的非并发程序. 下面就用Think ...
- Windows server 2012 R2 部署WSUS补丁服务
一.WSUS 安装要求 1.硬件要求: 对于多达 13000 个客户端的服务器,建议使用以下硬件:* 4 Core E5-2609 2.1GHz 的处理器* 8 GB 的 RAM 2.软件要求: 要使 ...
- LeetCode算法题-Keyboard Row(Java实现)
这是悦乐书的第245次更新,第258篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第112题(顺位题号是500).给定一个单词列表,返回可以在美国键盘的一行上使用字母表键 ...
- c# 小数四舍五入,向上取整,向下取整,见角进元保留多个小数位数
/// <summary> /// 实现数据的四舍五入法 /// </summary> /// <param name="v">要进行处理的数据 ...
- w3m 使用总结
安装 sudo apt install w3m终端 w3m www.baidu.com 即可打开w3m是个开放源代码的命令行下面的网页浏览器.一般的linux系统都会自带这个工具,可以通过它在命令行下 ...
- 模拟vue的tag属性,在react里实现自定义Link
我封装了一个简单的实现react里自定义Link的方法,方便大家使用. 因为普通组件没有metch.location.history等属性.只有在<Router>里面的<compon ...
- .Net Core应用框架Util介绍(四)
上篇介绍了Util Angular Demo的目录结构和运行机制,本文介绍Util封装Angular的基本手法及背后的动机. Angular应用由Ts和Html两部分构成,本文介绍第一部分. Angu ...
- flask(一)之路由和视图
01-介绍 Flask 是一个 Python 实现的 Web 开发微框架,同时具有很强的扩展能力. 02-第一个flask程序 # 初始化 from flask import Flask, url_f ...
- OpenStack-Nova(4)
一. Nova概述 使用OpenStack Compute来托管和管理云计算系统.OpenStack Compute是基础架构即服务(IaaS)系统的主要部分.主要模块在Python中实现. Open ...