本文章原创首发于公众号:编程三分钟

vim 替换、撤销、缩进、查找

上一次我们掌握了移动、跳转、定位、操作(删除、复制、粘贴),基本使用vim脱离鼠标完全是可以做到的了。速记如下:

移动: h,l,j,k,w,b

跳转:G nG f/F+字母

定位:G代表尽头, $代表行尾,^代表行首,w代表下一个单词,b上一个单词,e当前单词末尾

操作:y d p

知识点

  • 字符替换
  • 缩进与调整文本位置(居左、居中、居右)
  • 字符查找

字符的替换及撤销

查找和替换是编辑器中最常用的功能之一,在普通编辑器当中查找替换时,你可能需要先移动鼠标在菜单中点击查找的功能,输入查找内容,再点击确认查找。而在vim中,所有的操作只需要敲击几下键盘就行了,手不用离开键盘区域,速度自然会快很多很多。

替换和撤销(Undo)

替换和Undo命令都是针对普通模式下的操作,这次用到三个字母,r/R,c/C,u/U

r+<待替换字母>    将游标所在的一个字母替换为其他字母(如下#替换成i)

当然了,一个一个替换甚是麻烦,不妨使用R连续替换

R    连续替换,直到按下Esc

cw   删除一个单词,并进入插入模式

C   删除从游标处开始到当前行尾,并进入插入模式

u    撤销一次操作(如下,粘贴了Internet单词三次,按u三次,撤销粘贴操作)

U(大写)    无论当前行修改了多少次,撤销当前行的所有修改

Ctrl+r    redo,即撤销undo的操作(如下,删除一个单词,写入123,之后交替u和Ctrl+r,可以观察到重复撤销123输入,再恢复123输入)

快速缩进

快速缩进在编辑代码时极其有用,快速调整代码缩进非常的爽,缩进操作均在普通模式下有效

使用命令进行快速调整缩进操作

>> 整行将向右缩进

<< 整行向左回退

设置缩进字符数

命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 (可以简写成sw,下面我都用简写)

获取目前的设定值

:set shiftwidth?

设置缩进为n个字符

:set shiftwidth=n

输入 ESC 回到普通模式,再次尝试 >> 看缩进量是否变化

调整文本位置

命令行模式下输入:le(left)命令使本行内容靠左

:le

命令行模式下输入:ce(center)命令使本行内容居中

:ce

命令行模式下输入:ri(right)命令使本行文本靠右

:ri

查找

快速查找

普通模式下输入 / 然后键入需要查找的字符串 按回车后就会进行查找。 输入nN 可以继续查找。 n是查找下一个内容,N查找上一个内容。

?/ 功能相同,只不过?是向上而 / 是向下查找。 :noh退出查找模式

高级查找

普通模式下输入\*寻找游标所在处的单词

普通模式下输入\#同上,但 \#是向前(上)找,\*则是向后(下)找

以上查找n,N 的继续查找命令依然可以用

小结

这一节学习了替换,撤销操作及快速查找,其中替换和文档内快速查找的功能十分实用,希望能够熟练掌握。

速记如下:

替换:r+<待替换字母>,R

删除并插入:cwC

撤销:uUctrl+r

调整文本位置::le:ce:ri

查找:\文本?文本nN

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找的更多相关文章

  1. Vim高手,从来不用鼠标

    Vim脱离鼠标第一步 平时不可缺少的会用到vim,但是避免不了鼠标,事实上,省略鼠标是完全可以的,没有想像中那么难,看我短短几行带大家一起省略鼠标. 对了,vim有三种模式,基本模式就是用来输入命令的 ...

  2. 为什么黑客都不用鼠标?你听说过Linux吗?

    为什么黑客都不用鼠标?你听说过Linux吗? 微软和它的朋友们的如意算盘. 下面来看看微软的收入是怎么来的.首先,Windows系列操作系统,一个就是 800+RMB,每次升级又是几乎同样的价钱.Wi ...

  3. 解决vi/vim中粘贴会在行首多很多缩进和空格的问题

    解决vi/vim中粘贴会在行首多很多缩进和空格的问题 secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器.所以当你的服务器上的vim设置为autoindent的话,在i模式下,那 ...

  4. Vim使用技巧:特定文件类型关联缩进

    Vim如何打开特定文件类型关联自动缩进呢?答案:将filetype indent on写入你的.vimrc文件中

  5. vim不用鼠标复制粘贴

    第一种方法(只能复制行): 在当前行3yy(表示复制3行,多行同理),然后鼠标移到需要粘贴的位置,按p,即可粘贴 第二种方法(无限制): 按v进入visual模式,移动光标(推荐使用hjkl,用熟后比 ...

  6. vim基本命令之剪切复制粘贴替换

    首先是剪切(删除): 剪切其实也就顺带删除了所选择的内容,所以既可以当剪切命令用,也可以当删除命令使用. 1 首先,可以在命令模式下输入v进入自由选取模式,选择需要剪切的文字后,按下d就可以进行剪切了 ...

  7. 【vim】缩写 :ab [缩写] [要替换的文字]

    一个很可能是最令人印象深刻的窍门是你可以在 Vim 中定义缩写,它可以实时地把你输入的东西替换为另外的东西.语法格式如下: :ab [缩写] [要替换的文字] 一个通用的例子是: :ab asap a ...

  8. Vim进阶技术:搜索和替换

    行内搜索 行内搜索,也就是在当前行内进行搜索和移动,通常都与编辑命令一起使用. fx -- 移动到下一个字符x的位置,光标停留在x字符上面 tx -- 移动到下一个字符x的位置,光标停留在x前一个字符 ...

  9. VIM中空格和TAB的替换

    在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:set ts=4  (注:ts是tabstop的缩写,设TAB宽4个空格)set expandtab 对于已保存的文件,可以使用 ...

随机推荐

  1. 基础算法和数据结构高频题 II

    DFS的两种理解方式:1. 按照实际执行顺序模拟 (适合枚举型DFS,下节课内容)2. 按照DFS的定义宏观理解 (适合分治型DFS,本节课内容) 1 Convert BST to Greater T ...

  2. 原生应用使用cordova并与h5应用分离

    个人原创地址:https://www.jianshu.com/p/1ad536e76640 1.需求与使用场景   打开一个新页面,要求能够加载本地zip格式的h5应用,该应用使用了某些原生能力:能够 ...

  3. 【iOS】Xcode 插件安装后无效

    今天把 Xcode 升级到 7.3.1,发现插件安装后无效…… 原因:苹果要求加入UUID证书从而保证插件的稳定性. 解决方法: 1. 查看Xcode的UUID 在终端输入以下命令: defaults ...

  4. 初次见面C#排坑记录

    排一次开发C#遇到的坑,同时说一下自己对C#中文件夹构建方式的体会. 一个开发Java的人留下了痛苦的泪水,变量命名规则不一样,连括号打的都不一样,

  5. win10应用商店卸载后重装教程

    方法一 先进这个链接   http://go.microsoft.com/fwlink/?LinkId=619547  下载一个记事本文件,并且把它保存到你的“下载” 里面. 管理员身份打开Power ...

  6. 把Jar包加入windows系统服务

    之前在服务器上不一个Java服务时候,总是开着一堆黑框框,非常不雅,重点是极其容易误关,所以把可执行Jar文件加入Windows系统服务,看起来是个非常不错的选择!(实际上也确实是非常不错的选择) ! ...

  7. 逆向破解之160个CrackMe —— 004-005

    CrackMe —— 004 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  8. Elasticsearch实战 | 必要的时候,还得空间换时间!

    1.应用场景 实时数据流通过kafka后,根据业务需求,一部分直接借助kafka-connector入Elasticsearch不同的索引中. 另外一部分,则需要先做聚类.分类处理,将聚合出的分类结果 ...

  9. Netty学习(九)-Netty编解码技术之Marshalling

    前面我们讲过protobuf的使用,主流的编解码框架其实还有很多种: ①JBoss的Marshalling包 ②google的Protobuf ③基于Protobuf的Kyro ④Apache的Thr ...

  10. 低版本IE兼容 H5+CSS3 方案

    [主要是针对ie6 7 8对支持和让老浏览器支持html5+css3的一些js脚本] html5shiv.js  // 让IE8及耕地版本的IE识别section,article,nav等html5元 ...