Vim 新手节省时间的 10 多个小技巧

Vim 是很多开发者的首选编辑器,通过设置正确的命令和快捷方式,它可以帮你更快的完成工作。这篇文章我们为 Vim 新手提供一些快捷键等方面的小技巧,帮你提升工作效率。

1. 配置 .vimrc

当我最初使用 vim 的时候,我浪费了好多时间来缩进代码,我不知道通过修改 Vim 的 .vimrc 配置文件来实现代码缩进、语法高亮、显示行号等功能。

在你的 Home 目录下创建一个 .vimrc 文件,添加下面的代码来设置行号、代码缩进等。

set number             # 显示行号
set autoindent         # 自动缩进
set nowrap             # 不换行

2. 不关闭终端退出编辑器

使用 Vim 编辑器保存并退出编辑状态是一件轻而易举的事,你只需记住按 ESC 键切换到正常模式,然后输入冒号(:),之后输入 wq 即可实现保存并退出。

:wq

如果不想保存,则按 ESC 键切换到正常模式,然后输入冒号(:),之后输入 q! 即可。

:q!

3. 删除一行或多行

通过退格键(Backspace)来删除一行代码显然是太麻烦了。可以通过切换到正常模式(编辑模式下按 ESC 键)来进行操作:

dd : (输入两次 d,下同)删除当前行;5dd :删除当前行开始的5行;
dG :(先输入d,然后按 shift 键输入 g)删除当前行至最后一行的所以行。

4. 复制粘贴一块代码

你可能经常需要复制一行或一大块代码,使用 Vim 快捷键来实现此功能是非常简单的:

按 Esc 切换到正常模式;
把光标移到你需要复制的代码行首;
按 V 选择整行,可移动光标选择多行;
按 d 剪切或按 y 复制选择的代码;
移动光标到你需要粘贴的位置,按 p 粘贴代码到光标后的位置,或按 P 粘贴到光标前。

5. 撤销与重做

在使用 Vim 或其他编辑器的时候,你可能经常需要对某些修改进行撤销或重做。在 Vim 中,你可以切换到正常模式,按 u 来撤销操作,按 Ctrl+r 来重做。

6. 代码注释

代码注释:

按 Ctrl+v 切换到可视化模式;
移动光标(j 或 k)选中需要注释的行的开头;
按大写 I,然后输入注释符,如 #;
最后按 Esc。

取消注释:

按 Ctrl+v 切换到可视化模式;
按 j 或 k 选择要删除的注释符;
按 d 或 x 删除注释符

如果使用 // 符号注释,则取消注释时需进行两遍操作。

7. 搜索

搜索在很多时候都是一个非常重要的功能。在文件中搜索一个特定的词,可以切换到正常模式,然后输入斜线( / ),之后跟上要搜索的词,回车即可。

/word-to-be-searched

按 n 显示下一个搜索结果,按 N 显示上一个搜索结果。

8. 把外部文件读入 Vim

我开始使用 Vim 的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。切换到正常模式,然后按 :read。使用此快捷键你不需要手动打开文件来复制内容。

:read readme.md

9. 把命令的结果读入 Vim

有时候你需要把某个命令的结果复制到 Vim 中,这在 Vim 也非常简单。切换到正常模式,然后输入 :read !command 即可把 command 的结果输入到 vim 中。

:read !ls -l

10. 切换到上次修改的位置

想知道你在文件中做的最后一次修改是在什么位置?切换到正常模式,输入 g; 来即可切换到上次修改的位置。

11. 移动到文件顶部或底部

当需要移动到文件顶部或底部时,通过 j 或 k 来一行行的移动显得有点麻烦。Vim 提供了一个快捷键可直接实现此功能。切换到正常模式,输入 gg 返回文件顶部,输入 G 返回文件底部。

文章来源:http://9iphp.com/linux/time-saving-tips-for-unix-vim-beginners.html?utm_source=tuicool&utm_medium=referral

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2016-02-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏移动端开发

告诉你 iOS9.0 之后的Bitcode到底是什么!!

 用Xcode 7 beta 3在真机(iOS 8.3)上运行一下工程,结果发现工程编译不过。看了下问题,报的是以下错误: ld: ‘/Users/**/Fr...

41380
来自专栏DT乱“码”

微信小程序开发指引

官方文档教程1:http://bcoder.cn/wxopen/ 官方文档教程2:http://bing.aliaii.com/wxopen/  本文档将带你一...

557100
来自专栏糊涂一二事

微信小程序文件上传下载应用场景

微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架、组件以及 API,在这个平台上面的想象空间很大。基于微信小程序轻便、快捷的特点,使用腾讯云简...

7.2K20
来自专栏IT民工生存指南

从0开始Vue.js 和 Webpack 4 [1]

19250
来自专栏vue学习

小程序 — wepy中使用有赞的vant-weapp组件

75920
来自专栏无原型不设计

【Mockplus使用技巧】怎样在Mockplus中锁定背景

在设计时,我们会发现,有时候,作为背景的图片或者容器(比如面板组件),因为面积比较大,或时不时地影响到它上面的组件的操作。 这个时候,我们可以锁定这个图片或...

29360
来自专栏前端安全

前端调试入门

这里的控制台特指PC端浏览器进入开发者模式之后新打开的操作界面。常见的控制台有Chrome的控制台,Firefox的firebug。这些都能帮助我们调试前端问题...

971330
来自专栏linjinhe的专栏

Linux动态链接

曾经不止一次遇到过这样的情况:从机器A拷贝一个二进制文件到另一台机器B,两台机器的操作系统版本一样,可是在机器A能正常运行,在机器B却提示错误。最常见的就是提示...

32480
来自专栏ionic3+

ionic3使用带图标带事件的toast

这个时候,如果想扩展这些功能,一是修改源码,二是自己实现,然而这两种方法都比较麻烦,比较好的解决方案是利用现有的开源代码,搜索ionic的相关组件寥寥无几,这个...

10520
来自专栏编程坑太多

eclipse 集成阿里的p3c插件

34530

扫码关注云+社区

领取腾讯云代金券