你是否曾经烦恼,每次编辑vim文件,想要跳到一行结尾,需要按多次右键,每次想找到某个字符的位置,都得用肉眼去观察,每次想跳到文件结尾,都要按多次向下键。现在,你不必担心这些繁杂的过程,因为我们完全可以利用vim的快捷键使得我们操作vim如行云流水般顺利。现在,我来介绍几个非常有用的(我们知道vim快捷键有很多,并不是所有的我们都必须记住,几个关键的足够用了。)

一、定位行

  • 'gg':跳到文件第一行开始
  • 'G':跳到文件最后一行开始
  • ':2':跳到文件第2行开始

二、定位一行的开始和结束

  • '$':定位到一行的结尾
  • '^':定位到一行的开始

三、搜索

  • '/better':搜索'better'字符串
  • 'n':搜索下一个
  • 'N':搜索上一个
  • 'set ignorecase':忽略大小写的搜索
  • 'set noignorecase':不忽略大小写的搜索

四、删除(delete)

  • 'dd':删除一行
  • 'dw':删除一个字符
  • 'D':删除至一行的结尾

五、替换(replace)

  • 'r':替换该字符
  • 'R':进入替换模式

六、添加一行

  • 'o':在当前行下面添加一行
  • 'O':在当前行上面添加一行

七、word

  • 'w':一个单词一个单词往后跳
  • 'e':跳到该单词结尾
  • '2e':跳到下一个单词结尾

八、比较common又实用的命令

  • 'i':切换到编辑模式
  • 'x':删除该字符
  • ':help w':查看'w'命令的用法
  • 'u':撤销上一步操作

另外,再附上非常有用的练习vim命令的在线工具:http://vimgenius.com/

加油,希望对你们有帮助,有任何建议请留言,谢谢!

超级有用的Vim命令的更多相关文章

  1. 一些不起眼但非常有用的 Vim 命令

    保存文件并退出 说起来有些惭愧,我也是最近才学到这个命令

  2. 15个不起眼但非常强大的 Vim 命令

    如果我的关于这个话题的最新帖子没有提醒到你的话,那我明确地说,我是一个 vim 的粉丝.所以在你们中的某些人向我扔石头之前,我先向你们展示一系列“鲜为人知的 Vim 命令”.我的意思是,一些你可能以前 ...

  3. 最有用的Linux命令行使用技巧集锦

    最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...

  4. Docker容器中找不到vim命令

    docker容器中,有的并未安装vi和vim,输入命令vim,会提示vim: command not found(如下图).此时我们就要安装vi命令 执行命令:apt-get update apt-g ...

  5. 33个超级有用必须要收藏的PHP代码样例

    作为一个正常的程序员,会好几种语言是十分正常的,相信大部分程序员也都会编写几句PHP程序,如果是WEB程序员,PHP一定是必备的,即使你没用开发过大型软件项目,也一定多少了解它的语法. 在PHP的流行 ...

  6. Linux vim命令

    介绍 vim命令和vi的操作基本一致,vim命令的参数很多,我在这里列出了一些平时需要用的一些参数,vim主要有两个界面一个是esc的操作界面还有一个是输入i的编辑界面. 移动光标 0 (零):将光标 ...

  7. 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类

    今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...

  8. 你不一定知道的几个很有用的 Git 命令

    这里给大家分享一些很有用的 Git 命令,其中很多用法你可能都不知道,无论你是工作在团队环境中或在您的个人项目中,这些命令将对你帮助很大,让你可以更加高效的进行项目开发,更轻松愉快的工作和生活. 您可 ...

  9. 超级有用的9个PHP代码片段

    在开发网站.app或博客时,代码片段可以真正地为你节省时间.今天,我们就来分享一下我收集的一些超级有用的PHP代码片段.一起来看一看吧! 1.创建数据URI 数据URI在嵌入图像到HTML / CSS ...

随机推荐

  1. table插件

    //动态添加一行function addRow(){ var firstrow=document.getElementById('firstrow'); var firstCopy=firstrow. ...

  2. Linux入门(4)——Ubuntu16.04安装MATLAB2016b

    通常有三个安装文件: Matlab 2016b Linux64 Crack.rar R2016b_glnxa64_dvd1.iso R2016b_glnxa64_dvd2.iso sudo apt i ...

  3. Python基础3切片,字符串的方法

    切片:截取字符串某一段字符,并不改变原字符串.结构:[起始位置:终止位置:步长]  但不包括终止位置.所谓:顾头不顾尾 索引:序列中每个元素都是有编号的,都是从0开始编号的.使用负数索引时,Pytho ...

  4. Git相关操作三

    1.显示当前分支: git branch 输入上述命令可以显示出分支,*所在的分支为当前分支. 2.新建分支: git branch new_branch new_branch为新建分支的名称,注意该 ...

  5. TinyOS编程思想和Nesc基础语法

    TinyOS操作系统由nesc语言写成,从程序员角度看,它的基本作用就是提供了一组API接口以及一些编程规则. 具体来说,基于nesc语言的TinyOS编程行为具有以下特点: a.兼容C语言:使用ne ...

  6. 微信小程序左滑删除功能

    效果图如下: wxml代码: <view class="container"> <view class="touch-item {{item.isTou ...

  7. 【Salvation】——登录注册存储数据&验证用户

    写在前面:登录注册功能是在纯Unity3D环境内实现的,用到UGUI绘制界面技术,数据库的部分是后面拓展加进来的,这里数据存储是指存在XML用户文件中. 注册用户名和密码 zc() 用户名和密码登录 ...

  8. angular高级篇之transclude使用详解

    angular指令的transclude属性是一个让初学者比较难以理解的地方,transclude可以设置为false(默认),true或者对象三种值,如果不设该属性就默认为false,也就是说你不需 ...

  9. 最长回文子串---Manacher算法

    百度:Manacher算法 代码 #include <iostream> #include <string> #include <cstring> #include ...

  10. CodeForces - 556C Case of Matryoshkas

    //////////////////////////////////////////////////////////////////////////////////////////////////// ...