Vim主要分为两种模式一种是Insert模式,该模式下可以像其它文本编辑器一样正常输入字符;另一种是Normal模式,该模式下Vim监听用户的按键可以对文本进行快速修改。

想要从Insert模式切换到Normal模式只需按下ESC键即可。

想要从Normal模式切换到Insert模式,有很多方法。
最直接的是按下I键,效果是:在当前光标处插入文本。
如果按下A键,效果是:在下一光标处追加文本。

以下均是在Normal模式下的部分快捷键说明:

光标的快速移动
  • h,j,k,l:左,下,上,右
  • w:光标移动至下一单词首位
  • b:光标移动至当前单词首位,如果光标已经在当前单词首位,就移动到前一单词首位
  • e:光标移动至当前单词末位
  • gg:光标移动至文本首行
  • Shift+g:光标移动至文本尾行
  • 27+Shift+g:光标移动至文本第27行
插入行
  • o:在当前光标的下方插入新一行
  • Shift+o: 在当前光标的上方插入新一行
删除与还原
  • x:删除光标后的一个字符
  • Shift+x:删除光标前的一个字符
  • dd:删除光标所在整行,同时被删除内容存于剪贴板上
  • de:删除光标后的单词内容,同时被删除内容存于剪贴板上
  • dw:删除光标后的单词内容以及之后的空格,同时被删除内容存于剪贴板上
  • u:还原上一个操作(不限于删除)
剪切、复制与粘贴
  • 选定文本块:使用v进入可视模式;移动光标键选定内容
  • y:复制选定块
  • yy:复制光标所在整行
  • d:剪切选定块
  • dd:剪切光标所在整行
  • p:粘贴文本
查找与替换
  • f+o:在当前行的光标之后查找字母o
  • F+b:在当前行的光标之前查找字母b
  • :/word:全文查找word。 按下:实际上是进入了Vim的命令模式。查找操作支持正则表达式。
  • r+p:将光标之后的字符替换为字母p
  • :s/word/replace:光标所在行的第一个word替换为replace。
  • :%s/from/to/:全文查找from并替换为to。
  • :1,50s/from/to/:在第1行和第50行之间(含)进行搜索和替换。:45s/from/to/表示仅仅在第45行进行搜索和替换。而1,$行号范围和%是等价的。
  • :%s/from/to/g:全文查找from并替换为to,包含选项g的替换范围更广。??
  • :%s/from/to/gc:全文查找from并替换为to,替换时询问。可以选择y/n/a/q/l/^E/^Y:y表示同意当前替换;n表示不同意当前替换;a表示替换当前和后面的并且不再确认;q表示立即结束替换操作;l表示把当前的替换后结束替换操作;^E向上滚屏^Y向下滚屏,用来帮助查看前后内容以决定进行操作。
执行Shell命令

:!ls就等同于在Shell终端执行ls命令。

Vim快捷键整理的更多相关文章

  1. vim快捷键整理(转载)

    一.移动光标 1.左移h.右移l.下移j.上移k2.向下翻页ctrl + f,向上翻页ctrl + b3.向下翻半页ctrl + d,向上翻半页ctrl + u4.移动到行尾$,移动到行首0(数字), ...

  2. [vim]VIM快捷键整理

    转自:http://blog.csdn.net/ceven2010/article/details/7406341#comments 一.移动光标 1.左移h.右移l.下移j.上移k 2.向下翻页ct ...

  3. Vim 快捷键整理

    一.移动光标 1.左移h.右移l.下移j.上移k 2.向下翻页ctrl + f,向上翻页ctrl + b 3.向下翻半页ctrl + d,向上翻半页ctrl + u 4.移动到行尾$,移动到行首0(数 ...

  4. Vim 快捷键整理【转】

    转自:http://blog.csdn.net/ceven2010/article/details/7406341 一.移动光标 1.左移h.右移l.下移j.上移k 2.向下翻页ctrl + f,向上 ...

  5. [转]vim 快捷键整理

    Linux中vim编辑器的功能非常强大,许多常用快捷键用起来非常方便,这里将我学vim入门时学的一些常用的快捷键分享给大家一下,希望可以帮助你们.  原文地址:http://blog.csdn.net ...

  6. eclipse最有用快捷键整理

    在网上搜eclipse快捷键,可以搜出一大堆,大多罗列了n多的快捷键,估计大部分人看了以后都会头大的,我也头大,不过我一一尝试了一遍,整理出了eclipse最常用最有用,写代码必须用到的一些快捷键,大 ...

  7. Mac 快捷键整理

    Mac 快捷键整理 文本编辑 适用于文本编辑器,浏览器等 跳到页首 cmd + ↑ 类似windows下的 ctrl + home 跳到页尾 cmd + ↓ 类似windows下的 ctrl + en ...

  8. eclipse最有用快捷键整理(转)

    eclipse最有用快捷键整理 可以通过菜单栏中Window–>Preferences–>General–>Keys来修改快捷键绑定. 编辑 Ctrl+1 快速修复(最经典的快捷键, ...

  9. Linux vim快捷键

    1  替换    r  替换  先按r再按要替换的内容 2  按yy复制当前行  按p是粘贴 3 # add at 18-10-25 #-------------------------------- ...

随机推荐

  1. NIO使用Reactor模式遇到的问题

    关于Reactor模式,不再多做介绍,推荐Doug Lea大神的教程:Java 可扩展的IO 本来在Reactor的构造方法中完成一系列操作是没有问题的: public class Reactor i ...

  2. 渗透脚本快速生成工具Intersect

    渗透脚本快速生成工具Intersect   当渗透人员获取目标系统的执行权限,往往需要编写相应的脚本,实现更多的渗透操作.Kali Linux提供一款Python脚本快速生成工具Intersect.该 ...

  3. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  4. luogu P1353 [USACO08JAN]跑步Running

    题目描述 The cows are trying to become better athletes, so Bessie is running on a track for exactly N (1 ...

  5. 【SAM】codevs3160-最长公共子串

    [题目大意] 求两个字符串的最长公共子串. [思路] 对第一个字符串建立后缀自动机,第二个字符串去匹配.cnt记录当前最长公共子串的长度,而ret记录答案. p代表位置指针,初始在rt位置. 对于第二 ...

  6. Problem B: 年龄问题

    #include<stdio.h> int xx(int n,int m,int k) { int a; ) { a=k; } else { a=xx(n-,m,k)+m; } retur ...

  7. 应用 TransactionScope 报:此操作对该状态的事务无效 的错误

    如果在事务过程跨了数据库服务器(即使在同一台服务器上,两个不同的数据库实例也算跨数据库服务器),而使用 TransactionScope 却报:此操作对该状态的事务无效 的错误 是因为没有启用每台服务 ...

  8. THttpClientSocket token验证

    THttpClientSocket uses SynCrtSock非WINHTTP.DLL里面的控件,可以用于手机端. function Client(const SQL: RawUTF8): Raw ...

  9. Java9 modules (Jigsaw)模块化迁移

    要点 通过模块化的方式开发应用程序,实现更好的设计,如关注点分离和封装性. 通过Java平台模块化系统(JPMS),开发者可以定义他们的应用程序模块,决定其他模块如何调用他们的模块,以及他们的模块如何 ...

  10. XML-RPC 实现C++和C#交互

    我们通常会面对这样的问题:整合不同平台或不同类库,这些类库可能来自不同的语言,甚至不同的操作系统. 如何解决这类棘手的问题呢? 一.方案介绍 解决不同语言交互的方法有不少,对我了解的windows系统 ...