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

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

2016-04-28 Linux爱好者

(点击上方公众号,可快速关注)

来自:Specs‘ Blog-就爱PHP

链接:http://9iphp.com/linux/time-saving-tips-for-unix-vim-beginners.html

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 返回文件底部。

时间: 2024-08-15 08:36:18

Vim新手节省时间的10多个小技巧的相关文章

10个 jQuery 小技巧

10个 jQuery 小技巧 -----整理by: xiaoshuai 1. 返回顶部按钮 可以利用 animate 和 scrollTop 来实现返回顶部的动画,而不需要使用其他插件. // Back to top                                        $('a.ktop').click(function () {                          $(document.body).animate({scrollTop: 0}, 800)

人人必知的10个 jQuery 小技巧

原文地址:http://info.9iphp.com/10-jquery-tips-everyone-should-know/ 人人必知的10个 jQuery 小技巧 收集的10个 jQuery 小技巧/代码片段,可以帮你快速开发. 1. 返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而不需要使用其他插件. // Back to top $('a.top').click(function () { $(document.body).animate({sc

最实用的10个重构小技巧排行榜

LZ最近一直在研究虚拟机源码,可惜目前还只是稍微有一点点头绪,无法与各位分享,庞大的JAVA虚拟机源码果然不是一朝一夕能搞定的,LZ汗颜. 本次我们抛开JAVA虚拟机源码这些相对底层的东西,LZ来与各位探讨一下几个代码重构的小技巧,这些内容部分来自于书籍当中,部分来自于LZ维护项目当中的一些实践经验.如果猿友们曾经用过这种手法,也不妨参与到文章的留言当中,将你的小心得.小体会共享与他人,也可以拿来冲击LZ自己定义的排行榜,LZ不甚欢迎. 重构的手法有很多种,相对而言,一篇文章的涵盖量自然是无法提

Python 开发者节省时间的 10 个小技巧

Python 是一个美丽的语言,可以激发用户对它的爱.所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python. Python有很多吸引程序员的功能 ,它易学,面向对象,字节码编译,免费且开源.还有运行时检查.完整快速的支持,可以执行各种任务的扩展. 高效的Python 在这篇文章,我想强调一些 Python 可以节约时间并最大限度地提高生产力的方面.在做准备时,我咨询了几个 Pythonists,他们最节省时间的技巧是什么?答案在这里… 1.

Python 开发者节省时间的 10 个方法

Python 是一个美丽的语言,可以激发用户对它的爱.所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python. Python有很多吸引程序员的功能 ,它易学,面向对象,字节码编译,免费且开源.还有运行时检查.完整快速的支持,可以执行各种任务的扩展. 高效的Python 在这篇文章,我想强调一些 Python 可以节约时间并最大限度地提高生产力的方面.在做准备时,我咨询了几个 Pythonists,他们最节省时间的技巧是什么?答案在这里...

查询 Python 开发者节省时间的 10 个方法

Python 是一个美丽的语言,可以激发用户对它的爱.所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python. Python有很多吸引程序员的功能 ,它易学,面向对象,字节码编译,免费且开源.还有运行时检查.完整快速的支持,可以执行各种任务的扩展. 高效的Python 在这篇文章,我想强调一些 Python 可以节约时间并最大限度地提高生产力的方面.在做准备时,我咨询了几个 Pythonists,他们最节省时间的技巧是什么?答案在这里… 1.

10个编程小技巧,教你写出高质量代码!

你会写代码吗你会写高质量代码吗你知道怎么写高质量代码吗不要一上来就开始写代码想清楚,再动手今天,分享10个写代码的小技巧教你写出高质量代码↓↓↓ 1.重构思维模式 不要一上来就开始写代码,要掌握尽量多的重构方法,重构思维方式,掌握重构并不一定是要对原来代码的重构,而是让自己在操作之前就想好该怎么去进行. 2.搞清需求再动手 看到需求之后,肯定多多少少会有一些问题,或是理解上的错误,或是功能实现上的问题,这时,必须要交流清楚,否则,后续将会有更多问题. 3.文档也要写 可能不少人觉得文档没人看,写

人人必知的10个jQuery小技巧

1.返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而不需要使用其他插件. // Back to top // Back to top $('a.top').click(function () { $(document.body).animate({scrollTop: 0}, 800); return false; }); <!-- Create an anchor tag --> <a class="top" href=&q

能够让你装逼的10个Python小技巧

列表推导式 你有一个list: bag = [1, 2, 3, 4, 5] 现在你想让所有元素翻倍,让它看起来是这个样子: [2, 4, 6, 8, 10] 大多初学者,根据之前语言的经验会大概这样来做 bag = [1, 2, 3, 4, 5] for i in range(len(bag)): bag[i] = bag[i] * 2 但是有更好的方法: bag = [elem * 2 for elem in bag] 很简洁对不对?这叫做Python的列表推导式 . 遍历列表 还是上面的列表