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的更多相关文章

  1. 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 ...

  2. vim tips 集锦

    删除文件中的空行 :g/^$/d g 表示 global,全文件 ^ 是行开始,$ 是行结束 d 表示删除该 这里只能匹配到没有白空符的空行,假如要删除有空白符的空行,则使用: :g/^\s*$/d ...

  3. Ubuntu下VIM的安装及其配置——Linux篇

    一.Ubuntu系统默认内置: 实际上ubuntu默认没有安装老版本的vi,只装了vim.vi是vim.tiny(vim的最小化版本,不含 GUI,并且仅含有一小部分功能,并且默认与vi兼容.此软件包 ...

  4. Vim ide for shell development

    Source : This article is part of the ongoing Vi / Vim Tips and Tricks Series. As a Linux sysadmin or ...

  5. 最佳vim技巧

    最佳vim技巧----------------------------------------# 信息来源----------------------------------------www.vim ...

  6. 程序猿的编程神器 - vim

    一.官方文档: 当你首次安装好 Vim 之后.能够用 :help tutor 或者 :help tutor@cn 命令.进入一个30分钟的 Vim 新手教程.你也能够下载一个 Vim Document ...

  7. 15个不起眼但非常强大的 Vim 命令

    如果我的关于这个话题的最新帖子没有提醒到你的话,那我明确地说,我是一个 vim 的粉丝.所以在你们中的某些人向我扔石头之前,我先向你们展示一系列“鲜为人知的 Vim 命令”.我的意思是,一些你可能以前 ...

  8. VIM命令集

    Command Action Notes vim file +54 open file and go to line 54 any : command can be run using + on co ...

  9. Ubuntu 16.04 Vim安装及配置【转】

    转自:http://www.cnblogs.com/ace-wu/p/6273031.html 安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate ...

随机推荐

  1. u-boot移植总结(一)start.S分析

    本次移植u-boot-2010.09是基于S3C2440的FL440板子,板子自带NANDFLASH而没有NORFLASH,所以在U-BOOT启动的过程中必须实现从NANDFLASH到SDRAM的重定 ...

  2. UGUI之布局的使用

    unity的LayoutGroup分为三种, Horizontal Layout Group(水平布局):对象填充总个父物体,水平会填充 Vertical Layout Group(垂直布局):垂直( ...

  3. C语言回滚(二)--循环打印

    //1.用循环打印 /* FFEFEDFEDCFEDCBFEDCBA */ #include <stdio.h> #include<stdlib.h> int main(){ ...

  4. 最全面的jdbcUtils,总有一种适合你

    附加jar包,TxQueryRunner.java文件,dbconfig.properties配置文件(点击链接下载): http://files.cnblogs.com/files/xiaoming ...

  5. mac下eclipse的svn(即svn插件)怎么切换账号?

    以mac os x为例(Unix/Linux类似) 打开命令行窗口,即用户的根目录(用户的home目录) cd ~ 即可进入home目录. 执行命令 ls -al 会列出home目录下的所有文件及文件 ...

  6. IOS缓存机制详解

    资料均来自互联网,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 人魔七七:http://www.cnblogs.com/qiqibo/ 为什么要有缓存 应用需要 ...

  7. ASP.NET本质论第一章网站应用程序学习笔记2

    1.初步走进ASP.NET 上篇笔记我们讲述了服务器监听问题,这篇我们就要讲述具体的请求处理了,ASP.NET所涉及的类大多数定义在System.Web程序集中. 在.NET中,程序集管理的最小逻辑单 ...

  8. Vue入门演示

    工作中用了很久vue,但是都是我们这边前端经理封装好的组件,想要看到底部的原理还要从层层代码里面剥离出来,逻辑太复杂,还不如自己一点点整理一下,一步一步走下去. github地址:https://gi ...

  9. Atitit.HTTP 代理原理及实现 正向代理与反向代理attilax总结

    Atitit.HTTP 代理原理及实现 正向代理与反向代理attilax总结 1. 普通代理1 1.1.1. 普通代理2 2. 隧道代理3 3. 反向代理 4 4. 正向代理也可以使用apache实现 ...

  10. 独立博客开张!有关读书、GTD和IT方面的内容将发布在新网站上

    2015年自己建个独立博客http://www.shenlongbin.com,以后与读书.GTD和IT技术有关的主题都放在个人博客中,2015年计划基本制定,请移步到这里. 感谢博客园提供了如此优秀 ...