因为自己也是个linuxer

熟练运用VIM是必须的,恰好学长杰哥对此有研究,

转来给大家分享。对此表达对杰哥的敬意。

有好东西分享给大家才能相互学习是吧。

要做个Linuxer,VIM的操作是必须就跟手指头盲打键盘那么熟练。

首先说下Vim的两种最常用模式,这是对菜鸟说的:),普通模式和输入模式,在普通模式下所有的按键都是命令,在输入模式下
可以输入字符。

在刚用vi打开文档时,都是普通模式,本文就介绍如何快速记住一些最基本的操作命令。

先讲讲在普通模式下的光标移动。

当你的打字速度到达一定境界时,比如我:),我非常不喜欢把手移到小键盘或者方向键那里去,因为那个地方操作起来太慢严重影响我心情有木有,所以VIM就是为高效的人设计的,它充分认识到这一点,在VIM里上下左右风别被 j k h l 代替,

h:在最左边,当然是左移动啦!
l:同理,在最右边,右移动!
j:当刚打开一个文件,是不是一般都在开头,要往下移动啊!标准指法里右手食指在J上,用的最频繁,因此就用J来往下移咯!
k:有下移动当然得下移动,就在J旁边吧,多好记!
但是每次只移动一个,好麻烦!
如果我要往下移动五行,按五次不是要累死我,而且磨损键盘!
高效的VIM当然已经解决问题,
在hjkl前加数字,比如3j就是向下移动三行,3l即使向右三行啦!

但是虽然hjkl移动很方便,但是只能逐个字符移动,好不爽,我想一个一个单词的移动,
w 可以解决,你用w就可以很方便的每次移动单词,
怎么记住这个快捷键呢,w就是word的缩写啊,亲!
w是向右移动一个单词,想移动多个单词,和上面一样加个数字就可以来,3w向右移动三个单词。
能向右移还得向左移动啊,b可以解决这个问题,b是back的缩写,后退一个单词嘛!3b的意思你懂的。
随便这里提下,w在移动过程中是每次光标都停留在单词的首字符,想让光标在移动中停留在尾字符或者
在一个单词中想跳到单词的尾字符,用“e”,end嘛

简单的移动掌握上面几个键就可以了,当然还得知道有时候我想快速移动到一行的开头和结尾怎么办呢,
数字“0”,第0个字符的意思,就可以将光标移到一行开头处,符号“$”,就是美元的符号,移动到行尾。

移动先介绍这么几个常用的,再讲讲文本操作

对文本的操作,当要求不怎么高时,无非就是插入文字,修改文字,删除文字,或者复制剪切粘贴这么几种。

插入文字,因为是insert,快捷键就是“i”,但是用你想在一行末尾插入的时候,用i就蛋疼了,因为i是在光标
前面插入字符,所以末尾插入字符就等于在倒数第二个字符的地方插入了!这时候要用”a“,a和i的功能完全一样,
add的缩写,增加的意思,在光标的后面插入字符。
有时候,特别是敲代码的时候,我们要另起一行对吧,在上一行的任意位置按“o”,open new line ,哈哈,你已经在
新的一行插入文字咯

修改文字,change,快捷键“c”,不过在普通模式下你按一个c没反应,为啥?你还没告诉VIM你要修改的对象呢,
光标停在那里,我是修改这个单词呢,还是要修改一整行呢。
cw,w是移动一个单词的快捷键,cw的意思就是对光标当前所在出到这个单词的结尾修改,cb的意思我就不说了。
那c2b呢?,嘿嘿,从光标往前两个单词修改!
c0,c$,分别是光标到本行开头和结尾的所有文本修改。

发现奥妙了吧,移动命令和文本操作命令可以搭配起来用有木有,这正是VIM最强大的地方,各个命令可以组合使用。
其实我们可以这么考虑,在移动命令中,如果按照word里边按住shift的思维,移动是不是就等于选中?移动的轨迹就是
文本的选择对象!所以在vim里一般的命令格式为
(command)(number)(text object)
command就是对文本的操作,“c”是修改,“d”是删除,“y”是复制等,number + text object 组合起来就是命令
所要操作的文本对象啦!
比如d2h,d是删除,2h是往左两个字符,那d2h就是删除光标左边的两个字符咯!
举一反三,各种组合等你实际应用中再用吧。

现在比如我有一个单词,love,不小心写成了loce,要把c改成v,如果我们用命令“c”的话,我们需要先定位到e,然后
c1h,改一个字符用得着这么麻烦嘛?当然不用,把光标移动到”c”上,输入rv即可!r是replace,也是替换对吧,他的功能就是
替换一个字符,在r后面跟着的v就是新文本。很方便对不,~~~……
对应删除d,要删除一个字符,用x就可以了! x就是小学老师给我们打的大叉叉么,嘿嘿。

有时候我们不小心手贱,安了一个x,想撤销怎么办?
vim当然已经给我们考虑好了,你按“u”,u即是undo,就跟word一样,多次按u就是撤销多次哦~

插入修改删除我们都会了,下面我们来讲怎么剪切复制粘贴呢?
这时候我们要用到“p”命令,p就是place嘛,放置的意思。
前面我们说了删除命令“d”和“x”,其实删除就是剪切嘛,这些被删除的文本会被放到缓冲区中,
”p“命令会将缓冲区的中文本加入到当前光标的后面,如果我们用了d3j删除了3行,对于多行的文本,
p会放置在当前光标的下一新行。
对于x,有个妙用,还是用love这个单词吧,如果我输入成了loev,那我只要把光标移动到“e”上,然后xp就搞定了!
呵呵,x先把当前字符给删除了,这时候光标在“v”,然后我们用p把“e”放到“v”后面,就完成两个字符的对掉啦。
剪切粘贴你也会了,复制怎么办呢,用”y“,比如yw,复制了一个单词,到想要放置的地方,p就好啦。

还得介绍几个非常规的组合。
cc,c更改,两个c算啥?两个c代表更改一整行
dd,删除一整行,
yy,复制一整行

VIM 是对命令的大小写敏感的,上面介绍的全是最基本的小写指令,下面来看看那大写命令的快捷之处!

想到本行的开头插入吗?用“I”
想到本行的末尾插入吗?用“A“
想在本行的上一行新开一行写代码吗?用“O”
想把剪切后者复制的文本放在光标之前吗?用“P“
想在移动过程中撇开那些烦人的标点嘛?用“W”,“B”,“E”

C是c$的缩写,即是从当前光标到本行末尾的所有文本更改
D是d$的简写

现在我有两行句子:

I love you ,please
come back.

上述两个句子应该在同一行对吧,我不用吧光标移动到第二行,然后按i进入插入模式,然后再来个退格键。
我只需吧光标移到第一句,用一个”J“就搞定了~

在英文中每个句子的开头第一个字母要大写对吧,万一我当时没大写然后我要改呢,传统做法,把光标移动上去,
然后rA,文艺青年,把光标移动到上面,用“~”搞定,这个符号在“1”的左边,按住shift键。

再介绍一个有用的命令,“.”,就是句号,vim会记住你上次操作是什么,然后用“.”就可以重复执行上次命令!

学完上述这些基本操作,就可以在黑乎乎的屏幕上装逼一把啦~!
当然vim的功能远远超过这些。

转载于:https://www.cnblogs.com/web-lover/archive/2012/01/21/2615950.html

VIM命令快速记忆(转自杰哥)相关推荐

  1. 关于linux的vi命令快速记忆方法

    linux的vi命令是linux操作最基本的文本工具,主要采用快捷方式,本文说说如何快速记忆. 一.    三个工作状态 1.        命令状态 任何时候ESC键,都可以进入命令状态. 2.   ...

  2. 想忘记都困难的Linux命令快速记忆法!

    Linux发展这么多年了,命令是越积累越多,外加每个命令都有许多参数,就算是一般的精通者恐怕也不敢说自己能全部掌握!更更何况是熟练运用,就别提刚刚接触Linux的小白了. 这么多复杂的命令要是我们干背 ...

  3. linux - tar压缩解压缩使用,快速记忆方法

    linux常用的指令中,属压缩/解压缩最容易记混.分享一个快速记忆方法,使用最常用.且功能也比较全的 tar命令. 1. tar 基本参数 -v :显示操作过程(大多数情况都会加上) -f :指定压缩 ...

  4. Linux 常用命令及快速记忆方法

    Linux 常用命令及快速记忆方法 所有的命令都是英语的简写,那么对于记忆来说,我们只要知道是哪些单词的简写就可以轻而易举地记住啦 最基础的: ls.cd.pwd.mkdir.rm.rmdir.mv. ...

  5. 常用的vim命令总结

    vim就不多介绍了,很好用很强大.在windows下可以用gvim,配置一下_vimrc文件,再配合cscope和ctag等工具,就是一个功能强大的IDE. 常用的命令在这里总结下,以后忘了可以看看, ...

  6. java 执行linux命令行_10个高效Linux技巧及Vim命令对比

    专注于Java领域优质技术,欢迎关注 作者:vimtutor 来自:Vim教程网 Vim的很多命令和功能与Linux系统的命令和功能及其相似,可以说是一脉相承.Vim教程网(https://vimjc ...

  7. vi/vim命令怎么在Linux系统中使用

    本篇文章为大家展示了vi/vim命令怎么在Linux系统中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获. 1.vi和vim的区别: 就是在进入一般命令模式 ...

  8. 10个高效Linux技巧及Vim命令对比

    写在前面:今天没来得及唱歌~一个多星期没更新了,今天记录下我自己用得比较多的Linux命令行快捷键,小伙伴们别嘲笑我哈~不知道为啥,每次发文就有好几个小伙伴取消关注离开之前,可以告诉我为什么吗~~ V ...

  9. linux vi 复制一个单词_vi或vim的快速操作技巧你知道吗?

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解vi和vim有哪些快捷键. 2. vi或v ...

最新文章

  1. html缩进两个空格,HTML缩进标准,制表符还是两个空格?
  2. Linux中光盘使用的文件类型,linux下mount命令使用详解---linux挂载光盘等文件系统...
  3. Material组件之MaterialApp、Scaffold、AppBar学习笔记
  4. 【NLP之情感分析】华为云NLP算法专家:全面解读文本情感分析任务
  5. 夜间灯光数据dn值_NPPVIIRS年度夜间灯光数据的合成方法与验证
  6. 福禄克OTDR测试为什么要加补偿光纤?
  7. 游戏IP手册:游戏IP的内涵元素
  8. 开源、私有化部署,这款知识管理系统还有多少惊喜是我们不知道的
  9. 谷歌学术文献信息爬取及文献下载
  10. Win10免费升级win11方法
  11. (二)八卦起点作家转会纵横-------- 比较全(包括JJ,起点ceo.邪月MM的发言的发言)...
  12. PON光通道损耗的计算
  13. cad审图软件lisp_CAD审图标记下载_CAD审图标记官方下载_CAD审图标记v4-华军软件园...
  14. 解构瑞幸小鹿茶:两大战场、一套逻辑、一个梦想
  15. 专访Dan Kohn:阡陌交迭,云原生布局开源生态构建及深度应用
  16. 用SQL获取月份的工作日
  17. 技术人员如何做晋升答辩
  18. ffmpeg录制桌面(自己用gdi抓图)
  19. 个人英雄主义黄昏将至,6 大现状聊透开源这一年
  20. 京东数科:无偿驰援 多款智能产品服务防控第一线

热门文章

  1. vscode 格式化某一段代码_VSCode格式化代码功能失效的bug解决方法
  2. django 设置媒体url_Django设置网站地图sitemap
  3. 最新android webview,Android 关于WebView全方面的使用(项目应用篇)
  4. mysql去重保留最后一个_MySQL-去重留一
  5. java vagrant_vagrant 做一个java web开发环境
  6. 关于csgo的观看录像fps低_中国CSGO神秘天才欲初登赛场!却因这件事被无数人所质疑!!...
  7. html缩进两个空格,HTML缩进标准,制表符还是两个空格?
  8. endnote能自动翻译吗_人工智能能翻译古文吗?跟小编点评专业翻译PK人工智能翻译...
  9. 广播风暴及STP生成树协议
  10. FT(Fourier Transform)在滤波上的应用