Vim使用技巧汇总
一 写在开头
1.1 本文内容
Vim使用技巧与学习资源汇总,不定期更新。
二 Vim学习资源
1. Vimtutor
2. Vim中文帮助(http://vimcdoc.sourceforge.net/doc/)
三 Vim使用技巧
Tips 1 : 如何在写代码时将输入的TAB转换成4个空格?
将以下代码写入你的.vimrc文件中。
set ts=
set expandtab
%retab!
Tips 2 : 如何显示行号?
将以下代码写入你的.vimrc文件中。
set nu
Tips 3 : Vim中如何进行撤销和恢复撤销?
撤销:u(命令模式下,小写)
恢复撤销:Ctrl + r
Tips 4 : Vim如何打开特定文件类型关联缩进?
将下面的代码写入你的.vimrc文件中。
filetype indent on
Tips 5: Vim中的光标跳转命令有哪些?
基本移动:
h(往左) j(往下) k(往上) l(小写字母l,往右)
行间移动:
快速跳至文件末行:G(大写字母G)
快速跳至文件首行:1G(数字1加大写字母G)
跳至指定第n行:nG(数字n加大写字母G)
快速移动至光标所在行的行首:Home键或者0(数字0)或者^(即Shift + 6)
快速移动至光标所在行的行尾:End键或者$(即Shift + 4)
Tips 6: Vim中的代码折叠
折叠第5到第10行的代码,使用以下命令:
:,10fo
要想将折叠的代码打开,可以将光标移动到折叠所在行,然后使用以下命令:
注意:
zd
注意:zd是将此折叠删除!如果你不想将此折叠删除,只是想将折叠展开查看代码,然后再一次将折叠关闭,请使用下面的命令!
使用zo命令打开指定的折叠,使用zc命令关闭指定的折叠。
在VIM中设定自动折叠方式,以常用的indent方式为例。使用下面的命令,VIM会自动将所有函数大括号内的内容按缩减自动折叠
:set fdm=indent
经过一段时间的摸索,现在将我最喜欢的“VIM代码折叠套路”总结如下:
首先设置折叠方式为indent,
:set fdm=indent
使用zo命令展开折叠内容查看代码,
zo
查看完毕后,将光标移动到折叠块的开头大括号处,使用zm命令再次折叠这块代码。
zm
Tips 7: Vim中按Ctrl+S后假死了怎么办?
在使用VIM时如果不小心输入了“Ctrl+S”,你会发现VIM这时候假死了!怎么办?
按“Ctrl+Q”退出假死状态
Tips 8: Vim中的批量注释取消注释
法一:使用Ctrl+V进入visual block模式
按Ctrl+V进入visual block模式,选中要注释的行,

然后按I(大写的I)进行行首插入模式,输入//(C++)或者#(python),

按ESC退出行首插入模式,被选中的行所有行首都被添加了注释//(C++)或者#(python)

如果要取消注释,按Ctrl+V进入visual block模式,选中每行行首的注释//,注意这两个斜杆都得选中,

然后按d(小写d),这样所有注释行的行首//都会被删除

法二:使用替换功能
举例,在第1到第11行的行首添加注释//,使用下面的命令 ,这个时候使用井号(#)作为分隔符。
,11s#^#//#g


如果想取消上面所做的注释,可以使用下面的命令。
,11s#^//##g
举例,在第1到11行添加注释#,可以使用下面的命令,这个时候斜杠(/)是分隔符。
,11s/^/#/g


如果想取消上面所做的注释,可以使用下面的命令。
,11s/^#//g

Vim使用技巧汇总的更多相关文章
- VIM -小技巧汇总
一 代码自动对齐: 1 命令行模式下先输入gg 然后按=后输入大写的G,这样整个文件的代码就对齐了. 二 选中多行缩进 1.按v进入visual状态,选择多行,用>或<缩进或缩出 2. 通 ...
- [No0000191]7种提高工作效率的Vim操作-Vim使用技巧(6)
Vim一直被认为是一种非常高效的文本编辑器,但是对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性. 本文介绍7种提高你工作效率和生产力的Vim使用技巧,主要集中在对某个文件范围内的特定目标 ...
- vim 使用技巧记录
vim 使用技巧记录 1.批量注释与取消注释 命令格式:起始行号,结束行号s#^#//#g 例如: 注释代码3到15行,"//"可以是其他的"" :3,15s# ...
- Vim 常用技巧:
Vim 常用技巧: 将回车由默认的8个空格改为4个空格: 命令:set sw=4 修改tab为4空格: 命令:set ts=4 设置每一级的缩进长度: 命令:set shiftwidth=4 设置文件 ...
- vim常用命令汇总
vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...
- ###《VIM实用技巧》
###<VIM实用技巧> #@author: gr #@date: 2015-11-20 #@email: forgerui@gmail.com <VIM实用技巧>阅读笔记. ...
- 无插件Vim编程技巧
无插件Vim编程技巧 http://bbs.byr.cn/#!article/buptAUTA/59钻风 2014-03-24 09:43:46 发表于:vim 相信大家看过<简明Vim教程& ...
- 移动平台3G手机网站前端开发布局技巧汇总
移动平台3G手机网站前端开发布局技巧汇总 作者:前端开发-武方博 发布:2011-05-10 09:11 分类:移动开发 阅读:120,618 views 7条评论 您或许正在 ...
- 移动平台WEB前端开发技巧汇总(转)
最近我很关注移动前端的知识,但做为一个UI设计师和web前端工作人员没有这个工作环境接触,做为门外汉,网上系统的知识也了了,一直有种雾里看花的感觉,见到本文,我自己是奉为经典.所以我分享之后又专门打笔 ...
随机推荐
- SQL Server 数据库状态选项-用户使用
选项 1. single_user(单用户),multi_user(多用户),restricted_user(受限用户); 描述数据库的用户访问属性,它们互斥,设置其中任何一个选项就会取消对其它选项的 ...
- PowerDesigner导出SQL,注释为空时以name代替
版本 操作步骤 打开Edit Current DBMS 选中Script->Objects->Column->Add 将Value中的内容全部替换为如下 %20:COLUMN% [% ...
- 在Linux系统中同步更新我们的Github博客
原理介绍 类似于版本管理,我们把我们的hexo博客文件系统在Github上建立一个分支,通过管理分支提交最新的博客文件系统,保证我们博客框架的更新.然后我们基于最新的博客框架,撰写文章,进行Githu ...
- Thread中yield方法
先上一段代码 public class YieldExcemple { public static void main(String[] args) { Thread threada = new Th ...
- vue 路由元信息
官方文档:路由meta元信息 前言: 在设置面包屑导航还有菜单栏的时候,路由的meta字段可以自定义我们需要的信息,然后路由跳转的时候,提供我们判断条件 文档: 定义路由的时候可以配置 meta 字段 ...
- tmux编译安装
依赖libevent,ncurses libevent 2.x 官网:http://libevent.org 下载:https://github.com/libevent/libevent/relea ...
- 2017-8-2新开了一个ABP交流的QQ群(291304962 ),欢迎加入
因为ABP架构设计交流群人数一直爆满,很多想交流ABP的朋友无法加进群里, 刚新建了一个QQ群,群号291304962(ABP架构设计交流群3),欢迎对ABP感兴趣的朋友加入. 欢迎加QQ群: ABP ...
- OSGI插件(plugin)web工程建设步骤
所有资源下载(汇总) 底包的下载地址:https://pan.baidu.com/s/15JxHOHf0AyZaLKPJUkpeXA 提取码: bujz web-target.war下载地址: ht ...
- 解决import模块后提示无此模块的问题
最近在工作中发现一个奇怪的问题: 明明已经装上了,但是还提示找不到该模块,没办法,我又去site-package文件下面看了: 发现Linux下自带的python2.7里面装上了该模块(我在root用 ...
- [转帖]SAP BASIS日常需要做的工作
SAP BASIS日常需要做的工作 https://www.cnblogs.com/swordxia/p/4790684.html SAP Basis的一些日常工作包括用户权限管理.集团管理.数据库管 ...