【转载】世界上最牛的编辑器: Vim 3 (原创动图演示所有例子!)
这篇文章非常好,发表在慕课网上,为了常常温习,因此收集到我的博客上了。如果作者感觉不合适,随时通知我删除。首发地址 http://www.imooc.com/article/13275
阅读收获
- 见识下最炫酷的编辑器是什么样的.
- 顺手可以学习下.
目录
键盘方法论: 在键盘面前,你就是钢琴手!
最牛编辑器: Vim. 第一节
最牛编辑器: Vim. 第二节
最牛编辑器: Vim. 第三节
上面三节课大家都要学会, 都是干货, 我把自己常用的Vim 操作都列出来了. 没有一个是用不上的.
Vim 自身的功能虽然有限,但是还是有很多插件可以供使用的. 下面的几个插件非常好用(Fuzzy finder, rails … , 具体见 .vimrc
文件)
针对多个文件进行 查找和替换
使用插件: Greplace
Gsearch -F '要替换的字符串' . -R --include=*rb
这里的-F
,-R --include=*rb
这些参数,跟grep
中的一样。- 在返回的结果中,把该替换的替换。
Greplace
然后选择y/a/n
来决定是否替换。- 最后, 输入
wa
保存所有文件的改动。
自动补全
凡是在 Vim 缓冲区中(近期打开过的文件)的代码,都可以补全。
- 从上到下选择候选词:
ctrl + n
- 从下到上选择候选词:
ctrl + p
多重复制与粘贴
现在在 Windows, Mac 和 Linux下的复制操作,都不支持多种复制。 很奇怪。
Vim中支持。 使用YRShow 插件。
在我的个人配置中, ,
+ a
即可。原始命令: :YRShow
。 在弹出的“复制历史列表”中, 上下移动, 找到合适的后直接按回车即可。
设置背景 是亮还是暗
切换背景色(很多默认的linux 其实vim很难看的)
:set background=dark
深色背景色:set background=light
亮色北京色
代码配色
每个人心中的代码配色都不同。 你的呢?
:colorscheme <主题名>
主题名包括: desert
, deepblue
, vividchalk
等等。 (不少需要到网上下载)
分割屏幕
让一个27寸显示器显示多个窗口是很酷的事儿(虽然我个人很少用)
- 竖屏分割:
vs
(vertical split缩写) - 横屏分割:
sp
(split缩写) - 来回跳换:
ctrl + w + w
(跳到下一个小窗口), 或者ctrl + w + <j/k/h/l>
(跳到某个方向的小窗口)
注释多行
这里使用了插件: nerd-commentor. 我为它配置了自己的快捷键。
- 选中多行 (
shift + v
) ,cb
(逗号 c b 三个键要快速按)取消注释: 使用传统的替换即可。
为多行代码格式化
多行选中后, 按 =
即可。 (注意:不是100%好用。 因为有的代码本身就是不完整的)
快速跳到当前光标所属文件(如果可能的话)
在 Rails的 路由或者 视图文件中,很好用。gf
即可。 (gf = go to file)
- 在 View 中, 快速跳到一个 partial.
- 在
config/routes.rb
中跳到controller, 如下图所示。
Rails插件
Rails插件允许我们快速的在各种文件中跳来跳去(相信Vim 也有 Django, Spring, angular, 这样的插件, 有兴趣的朋友可以看看。)
- 跳转到 controller:
ctrl + c
- 跳转到 model :
ctrl + m
- 跳转到 view : 先移动到对应的action, 再
ctrl + v
显示/隐藏行数
:set number
显示行数:set nonumber
取消行数
折叠/取消折叠过长的行
:set wrap
折叠:set nowrap
取消折叠
粘贴模式
Vim 正常模式下的粘贴,会导致粘贴的代码一行接一行的缩进。 如果要取消这种缩进的话,就要进入到 “粘贴模式”. (记得在这个模式下,无法使用 ctrl + t
命令来快速打开文件。 )
:set paste
进入到粘贴模式:set nopaste
取消粘贴模式
代码左移/右移 与 重复上一次操作。
在我们格式化代码时会用到。 极度好用。
记住:你写的任何代码都要人肉加上良好的格式化。 能为你个人减少大量错误。
- 左移: 选多行后,
<
(shift + ,
) - 右移: 选多行后,
>
(shift + .
) - 重复上次操作:
.
写在最后
上面介绍的所有vim技巧,都是我回忆出来的, 是我在过去7年中一直在用的技巧. 各位同学需要每一样都要掌握.
【转载】世界上最牛的编辑器: Vim 3 (原创动图演示所有例子!)相关推荐
- 【译】数据显示:中国的程序员是世界上最牛的程序员?
2019独角兽企业重金招聘Python工程师标准>>> 写在前面:一直觉得中国的程序员想法多,肯钻研肯学习,但却不知道原来中国的程序员是世界上最牛的程序员.说来可能不信,但根据Hac ...
- 不要迷恋哥,哥不只是传说(再【转】世界上最牛的程序员)
原文链接网址:[转]世界上最牛的程序员 话说偶当年还在大学求学的时候,以为最牛的就是教程序设计和数据结构的的那两个谢顶老头,直到偶看到了下面的神奇的传说(粗体部分). MIT BBS上说微软电话面试的 ...
- python代码编辑器-世界上最好的Python编辑器是什么?
原标题:世界上最好的Python编辑器是什么? 世界上最好的 Python 编辑器或 IDE 是什么?炫酷的界面.流畅的体验,我们投 PyCharm 一票,那么你呢?本文介绍了 PyCharm.Jup ...
- 世界上最牛的100张照片
<script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.sele ...
- 世界上最牛的电脑天才 ,其能力和水平不服都不行!
郭盛华(GuoShengHua),男,汉族,1989年,生于广东肇庆,他创办了世界上最厉害的网络安全组织东方联盟,发布过很多知名软件作品和技术研报,他对计算机科学领域的革命性贡献可以说是巨大的.郭盛华 ...
- 【Linux】软件包管理器yum和编辑器vim(部分动图演示)
工具的本质也是指令 文章目录 一.Linux 软件包管理器 yum 1.什么是软件包 2.第一个软件rzsz 3.yum的扩展 二.Linux编辑器-vim使用 1.vim的基本概念 2.vim的基本 ...
- 世界上最牛的网络设备,价格低廉,其貌不扬......
夜深人静,电视和电脑都已经关机休息,但是我还在默默工作,我安静地趴在你家中的某个地方,7*24小时不眠不休,任劳任怨,目的只有一个,能让你舒服地躺在床上,畅快地刷手机! 没错,这就是我,大家司空见惯的 ...
- 国产程序员--世界上最牛逼的程序员!
国产程序员就是这么牛逼 0. 如果软件正在占领全世界,为什么程序员得不到尊重? 遍身罗绮者,不是养蚕人. 1. 中国大陆的盗版Windows系统都是怎么做出来的? 复制.粘贴. 2. 中国梦和美国梦的 ...
- 【转】世界上最牛的程序员
MIT BBS上说微软电话面试的一道题就是"Who do you think is the best coder, andwhy?". 我觉得挺有意思的,也来凑个热闹.排名不分先后 ...
- Docker是世界上最牛逼的CaaS!
Docker是世界领先的CaaS(Container-as-a-Service平台).Docker是目前集装箱生态系统中最主要的工具.容器是一种将软件与二进制文件以及使软件在共享操作系统时,独立运行所 ...
最新文章
- 关于ajax跨域请求(cross Domain)
- 预计2024年全球医疗AI市场超100亿美元
- Android 获取SD卡的图片资源
- 报道称:Check Point正在洽谈收购CyberArk
- 修改自增主键初始化_数据库自增ID用完了会怎么样?
- 太突然!多所高校永久关闭
- 监控系统之weblogic,apache,tuxedo的监控项的整理
- Python----进程之间共享数据(全局变量)
- MyEclipse安装插件的几种方法
- hdu1002——A + B Problem II
- svm 10折交叉验证 matlab,怎么用10折交叉验证程序?
- Unity 粒子特效相对位置和大小的调整
- java 文字串叠字检查_Java 正则表达式详细实例解析
- 封装系统时删除pagefile.sys及hiberfil.sys文件
- 群晖NAS使用Docker安装迅雷离线下载出现the active key is not valid.
- 记一次锐捷网络虚拟化(VSU)故障处理
- matlab m序列扩频,基于matlab的移位寄存器法m序列的产生
- Fiddler原理+雷电模拟器进行APP抓包
- 遍历指定jar包中class文件名并输出到文件中
- ECMAScript 2016(ES7) 的新特性总结
热门文章
- 基于JSP的图书管理系统
- python生日快乐代码简单_Python编程代码:当你的亲人朋友生日时,给他运行这个程序,生日快乐弹窗!...
- linux运行bak,linux 备份学习
- cadence元件编号更新_OrCAD教程:如何对元件进行替换与更新
- 微信小程序-获取QQ音乐直链
- 平面设计中的网格系统pdf_哪些设计师必看平面设计书籍,写给设计师
- 新书推荐 |《点石成金:访客至上的Web和移动可用性设计秘笈(原书第3版)》...
- 王道考研操作系统笔记(第五章)附:王道考研408所有PPT和思维导图
- C语言程序设计题解pdf,C语言程序设计题解与上机指导.pdf
- LINUX移植——LED驱动移植