Vim常见操作汇总
1.跳到文本的最后一行:按“G”,即“shift+g”
2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”。
3.跳到第一行的第一个字符:先按两次“g”,
4.跳转到当前行的第一个字符:在当前行按“0”。
一、字符的替换及撤销(Undo操作)
1.替换和撤销(Undo)命令
替换和Undo命令都是针对普通模式下的操作
| 命令 | 说明 |
|---|---|
r+<待替换字母> |
将游标所在字母替换为指定字母 |
R |
连续替换,直到按下Esc |
cc |
替换整行,即删除游标所在行,并进入插入模式 |
cw |
替换一个单词,即删除一个单词,并进入插入模式 |
C(大写) |
替换游标以后至行末 |
~ |
反转游标所在字母大小写 |
u{n} |
撤销一次或n次操作 |
U(大写) |
撤销当前行的所有修改 |
Ctrl+r |
redo,即撤销undo的操作 |
打开文件进行编辑:
$ vim practice_2
# 输入以下文本
www.shiyanlou.com
然后依次进行如下操作
- 输入
11G,跳转到11行 - 输入fa跳转到第一个
a字符 - 输入
r,并且输入b,a字符被b字符替换(实用) - 输入
R替换字符,输入新字符串,输入完按ESC回到普通模式(实用) - 输入
cc替换整行字符,输入新字符串,输入完按ESC回到普通模式 - 输入
cw替换一个英文字(word),输入完按ESC回到普通模式(实用) - 输入
~,翻转游标所在字符的大小写 - 输入
C替换至行尾,即游标所在处以后的字都会被替换,输入完按ESC回到普通模式 - 输入
u撤销上一次的操作

二、快速缩进
1.使用命令进行快速调整缩进操作
这一小节学习如何在vim中进行快速缩进,缩进操作均在普通模式下有效
打开文件进行编辑
$ vim protocols
- 普通模式下输入
15G,跳转到15行 - 普通模式下输入
>>整行将向右缩进(使用,用于格式化代码超爽) - 普通模式下输入
<<整行向左回退 - 普通模式下输入
:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数
2.shiftwidth命令
shiftwidth命令是指上一节>>命令产生的缩进(可以简写成sw) 普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 获取目前的设定值
:set shiftwidth?
设置缩进为10个字符
:set shiftwidth=10
输入ESC回到普通模式,再次尝试>>看缩进量是否变化
3.调整文本位置
命令行模式下输入:ce(center)命令使本行内容居中
:ce
命令行模式下输入:ri(right)命令使本行文本靠右
:ri
命令行模式下输入:le(left)命令使本行内容靠左
:le

三、查找
1.快速查找
普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。 ?与/功能相同,只不过?是向上而/是向下查找。 进入查找之后,输入n和N可以继续查找 n表示继续查找,N反向查找
2.快速查找练习
使用vim打开文件进行编辑
$ vim protocols
- 普通模式下输入
/icmp查找字符串icmp - 普通模式下输入
n查找下一个icmp - 普通模式下输入
?tcp向上查找字符串tcp - 普通模式下输入
N查找上一个出现的tcp
3.高级查找
- 普通模式下输入
\*寻找游标所在处的单词 - 普通模式下输入
\#同上,但\*是向前(上)找,#则是向后(下)找 - 普通模式下输入
g\*同\*,但部分符合该单词即可 - 普通模式下输入
g\#同\#,但部分符合该单词即可
以上查找n,N 的继续查找命令依然可以用
四、总结
这一节学习了替换,撤销操作及快速查找,其中替换和文档内快速查找的功能十分实用。
http://www.cnblogs.com/yangxiao99/p/4715311.html
Vim常见操作汇总的更多相关文章
- vim编辑器操作汇总
VIM - Vi IMproved 7.4 编辑器操作汇总 vim [参数] [文件 ..] 编辑指定的文件 或: vim [参数] - 从标准输入(stdi ...
- JS 数组常见操作汇总,数组去重、降维、排序、多数组合并实现思路整理
壹 ❀ 引 JavaScript开发中数组加工极为常见,其次在面试中被问及的概率也特别高,一直想整理一篇关于数组常见操作的文章,本文也算了却心愿了. 说在前面,文中的实现并非最佳,实现虽然有很多种,但 ...
- C#路径/文件/目录/I/O常见操作汇总
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
- C#路径/文件/目录/I/O常见操作汇总<转载>
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
- 【转】C#路径/文件/目录/I/O常见操作汇总
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
- Vim 常见操作
1.复制所有内容 按照此顺序敲即可:gg(光标定位到文件头) V(选中该行) G(选中该行开始到最后一行结尾) y(复制选中内容) 2.粘贴所有内容 正常模式下,敲p即可,如果遇到粘贴内容不全,需要 ...
- mysql常见操作汇总
1.Mysql服务突然启不来了,报错: 在分析时发现MySQL Server 5.0\data下面有个名称为用户名,扩展名为.err的文件: 150725 20:01:19 [Note] 自己的安装目 ...
- Oracle常见操作汇总(转)
前言:Oracle学习也有十几天了,但是呢,接下来还要学习许多其他的东西,并不能提步不前,所以在此总结了以下Oracle中常用的命令和语句,没有语法都是实例,以便以后工作的时候随时翻看,毕竟是自己的东 ...
- mysql常见操作汇总 专题
mysql中in多个字段 1. 基本用法 SELECT * FROM USER WHERE , , ); 2. 多个字段同时使用 SELECT * FROM USER WHERE (, ),(, ), ...
随机推荐
- java 通过sftp服务器上传下载删除文件
最近做了一个sftp服务器文件下载的功能,mark一下: 首先是一个SftpClientUtil 类,封装了对sftp服务器文件上传.下载.删除的方法 import java.io.File; imp ...
- ecshop中getAll ,getOne ,getRow的区别
ecshop的数据库抽象层其实就是在模仿adodb $GLOBALS['db']->getAll($sql);//以二维关联数组返回所有数据 $GLOBALS['db']->getOne( ...
- Qt4.8在Windows下的三种编程环境搭建
Qt4.8在Windows下的三种编程环境搭建 Qt的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台:X11版,适合于使用了X系统的各种Linux和Unix ...
- Drupal 7 电子邮件的发送设置 SMTP, Mail System, Mime Mail
尽管Drupal自带发送email功能,可是非常多server须要SMTP验证.这个时候就须要安装 SMTP 模块. 激活 SMTP 模块 进入配置 admin/config/system/smtp ...
- WebKit介绍和总结(一)
一 . WebKit 简单介绍 Webkit 是一个开放源码的浏览器引擎 (web browser engine) ,最初的代码来自 KDE 的 KHTML 和 KJS( 均开放源码 ) . 苹果公司 ...
- RMQ之ST算法
#include <stdio.h> #include <string.h> ; int a[N]; ]; inline int min(const int &a, c ...
- 关于mysql主从复制的概述与分类(转)
一.概述: 按照MySQL的同步复制特点,大体上可以分为三种类别: 1.异步复制: 2.半同步复制: 3.完全同步的复制: -------------------------------------- ...
- Python3.4 邮件(包含附件与中国)
import smtplib import os from email.mime.text import MIMEText from email.mime.multipart import MIMEM ...
- key 串口
/******************************************************************** 函数功能:往串口发送一字节数据(可通过超级终端或者串口调试助 ...
- Android 游戏开发 View框架
按键盘的上下键矩形就会上下移动: 通过实例化Handler对象并重写handkeMessage方法实现了一个消息接收器.然后再线程中通过sendMessage方法发送更新界面的消息,接收器收到更新界面 ...