Vim tips
1、光标移动:
(1)、NG -> 移动到第N行,或者使用:N
(2)、gg -> 移动到第一行
(3)、G -> 移动到最后一行
(4)、单词移动:
w -> 移动到下一个单词的开头
e -> 移动到下一个单词的结尾 (注:使用小写的e和w,如果认为单词由字母,数字,下划线组成,即程序变量,否则用大写的E和W,若认为单词由blank字符分隔,即程序语句)
(5)、%匹配括号移动,包括( , { , [
(6)、#和*:匹配光标当前所在单词,#表示移动到上一个匹配单词,*表示移动到下一个匹配单词
2、复合操作:
(1)、很多命令都可以采用如下格式进行复合操作:
<start postion><command><end position>
例如0y$命令意味着:
0 -> 操作的开始位置为行头
y -> 进行拷贝操作
$ -> 操作的结束位置为行尾
再如,ye则表示从当前位置拷贝到本单词的最后一个字符,y2/foo则可以用来拷贝两个"foo"之间的字符串。
3、单行操作:
(1)、0 -> 移动到行头
(2)、$ -> 移动到行尾
(3)、^ -> 移动到本行第一个非blank字符
(4)、g_ -> 移动到本行最后一个非blank字符
(5)、fa -> 移动到下一个为a的字符处,同时可以将a改为任何其他字符
(6)、t, -> 移动到逗号前的第一个字符,同时可以将','改为任何其他字符
(7)、3fa -> 查找当前行第三个出现的a
(8)、F和T -> 移动方向和f,t相反
4、块操作: Ctrl + v (写注释很有用)
行前添加内容:"Ctrl + v" 进入块操作模式 -> 移动光标选定块大小 -> "I" 进入插入模式 -> 输入内容 -> 按ESC键使每行生效
行后添加内容:"Ctrl + v"进入块操作模式 -> 移动光标选定块大小 -> “$” 移动到行尾 -> 输入内容 -> 按ESC键使每行生效
5、自动补齐: Ctrl + p 或者 Ctrl + n
在Insert模式下,输入单词的开头,按Ctrl + p 或者 Ctrl + n 自动补齐功能出现
6、分屏操作:
(1)、使用大写的O参数来垂直分屏:(小写的o为水平分屏)
vim -O file1 file2 file3...
(2)、屏幕变大: [Ctrl + w] +
(3)、屏幕变小:[Ctrl + w] -
参考:
http://coolshell.cn/articles/5426.html
http://coolshell.cn/articles/1679.html
Vim tips的更多相关文章
- Vim tips——Working with external commands
A common sequence of events when editing files is to make a change and then need to test by executin ...
- vim tips 集锦
删除文件中的空行 :g/^$/d g 表示 global,全文件 ^ 是行开始,$ 是行结束 d 表示删除该 这里只能匹配到没有白空符的空行,假如要删除有空白符的空行,则使用: :g/^\s*$/d ...
- Ubuntu下VIM的安装及其配置——Linux篇
一.Ubuntu系统默认内置: 实际上ubuntu默认没有安装老版本的vi,只装了vim.vi是vim.tiny(vim的最小化版本,不含 GUI,并且仅含有一小部分功能,并且默认与vi兼容.此软件包 ...
- Vim ide for shell development
Source : This article is part of the ongoing Vi / Vim Tips and Tricks Series. As a Linux sysadmin or ...
- 最佳vim技巧
最佳vim技巧----------------------------------------# 信息来源----------------------------------------www.vim ...
- 程序猿的编程神器 - vim
一.官方文档: 当你首次安装好 Vim 之后.能够用 :help tutor 或者 :help tutor@cn 命令.进入一个30分钟的 Vim 新手教程.你也能够下载一个 Vim Document ...
- 15个不起眼但非常强大的 Vim 命令
如果我的关于这个话题的最新帖子没有提醒到你的话,那我明确地说,我是一个 vim 的粉丝.所以在你们中的某些人向我扔石头之前,我先向你们展示一系列“鲜为人知的 Vim 命令”.我的意思是,一些你可能以前 ...
- VIM命令集
Command Action Notes vim file +54 open file and go to line 54 any : command can be run using + on co ...
- Ubuntu 16.04 Vim安装及配置【转】
转自:http://www.cnblogs.com/ace-wu/p/6273031.html 安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate ...
随机推荐
- JSChart_页面图形报表
首先在页头的"head"中加上: $(document).ready(function() { //myData与colors变量 是做演示用的,可以直接赋值给myChart就可 ...
- 重载赋值运算符 && 对象
class CMessage { private: char * m_pMessage; public: void showIt()const { cout << m_pMessage & ...
- 四、MyBatis主配置文件
//备注:该博客引自:http://limingnihao.iteye.com/blog/1060764 在定义sqlSessionFactory时需要指定MyBatis主配置文件: Xml代码 收藏 ...
- 两种设计模式(1)==>>“简单工厂”
我们以做一个计算器为例,给大家介绍简单工厂的应用: 效果: 这里我们使用 继承 ,虚方法, 简单工厂的设计模式来完成 首先,我们除了搭好窗体外,我们应该把我们的一些类准备好: 1.计算的父类Calcu ...
- 每个软件都自己把操作系统的host配置项加到内存中供频繁调用
nginx的转发,http_pass 转发到一个域名passport.ab.cn 那具体是到哪台机器上. 其实可以通过/etc/hosts文件来配置的. 可以理解,这个hosts文件是操作系统级别的, ...
- 时间复杂度&空间复杂度
时间复杂度 参考链接: http://univasity.iteye.com/blog/1164707 空间复杂度 http://blog.csdn.net/booirror/article/deta ...
- SQL数据库基础(二)
数据类型: --类似于C#中的数据类型 Datetime 范围是:1753.1.1—— 9999.12.31 Smalldatetime 1900.1.1 ——2079.6.6 操作: ...
- Vue列表渲染
gitHub地址:https://github.com/lily1010/vue_learn/tree/master/lesson09 一 for循环数组 <!DOCTYPE html> ...
- Vue基础理论
一 vue的定位 (1)Vue.js是一个构建数据驱动的 web 界面的库. (2)Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. (3)Vue.js 自身不是一 ...
- Masonry第三方代码约束
#import "RootViewController.h" #import "Masonry.h" @interface RootViewController ...