本人是一个vim的狂热粉丝,越是使用vim,越是认为琐碎内容太多,时不时地出现一些自己没有见过的使用方法、命令。

因此准备在博客上用空余时间在阅读《学习vi和vim编辑器》的基础上总结一下自己的收获与思考。知其根本并活学活用方能高效地使用工具。

vim的普通模式和插入模式

vim与一般的编辑器有一个非常大的不同点就是vim有多种模式,最经常使用的就是普通模式和插入模式了。

刚刚打开vim时,会进入普通模式。在普通模式下,键盘上的键都是一些“快捷键”。这样,vim就能够不使用CtrlAltShift 等键的情况下拥有大量的快捷键。这能够极大的提高编辑速度,可是也加大了学习的难度。

正是由于这种模式。才使得vim变得非常有趣。

在普通模式下。左、下、上、右各自是h,j,k,l 键。vim中。大写和小写是敏感的,比方小写的j 指光标向下移动,而大写的J 则是合并行。

假设想要插入的话。能够将光标移动到指定的位置,输入i 或者a 以在光标前插入或者光标后插入,此时进入插入模式。输入完成后。按Esc 键回到普通模式。

vim的快捷键安排

vim的快捷键并不是是随便安排的。而是有一定的内涵。

在使用vim的经验中,我自己总结出几点规律。

一 依照英文单词

比方i 应该是insert 的首字母,而a 则是append

二 依照大写和小写规律

个人感觉,一般小写相应于字符的操作,而大写相应于行的操作。

如:i 代表在光标前插入,而I 则代表在行首插入。

相同。a 表示在光标后插入,而A 则表示在行尾插入。

三 依照手指移动习惯

比方普通模式下的方向控制。右手食指在标准的输入姿势下是放在J键上的,正好相应于最经常使用的向下移动的操作,而向左移动就是最左边的H键,向右就是最右边的L键。于是,向上仅仅能是K键了。

在这样合理的安排下,使用普通模式的方向控制要比使用键盘上的方向键快捷的多。假设使用方向键。手指不得不移开键盘,找到非常远的方向键。

而vim中手指根本不用离开键盘。全部的操作都非常方便。习惯了vim之后。反而会不习惯使用方向键。

总之,我感觉越是使用vim,越是能体会到其设计之合理,在慢慢的学习使用vim的过程中,会逐渐地习惯并爱上它,再使用其他的编辑器甚至是IDE的时候。也会有些许的不习惯了。

vim随想笔记(1)的更多相关文章

  1. vim 使用笔记

    vim命令笔记 a 插入 insert 插入 :%!xxd 以16进制方式进行编辑 :%!xxd -r 从16进制还原

  2. vim实用笔记

    vim实用笔记   真是不知不觉过了一年,前段时间忙着考试什么的,没再写笔记写博客,考完又懒懒地玩了几天.这几天其实都在读别人的博客,感受一下大神的工作和生活感悟,感受一下过来人的经历和经验,对自己总 ...

  3. Vim 系列笔记一

    Vim 系列笔记一 Vim 简介 什么是VIM ? Vim 是从 Vi 发展出来的一个编辑器,是 Vi 的升级版.而 vi 则是 Unix .类Unix(Linux)系统中自带的编辑器. Vim/Vi ...

  4. 【转】Vim使用笔记

    http://www.cnblogs.com/jiqingwu/archive/2012/06/14/vim_notes.html 曾经使用了两年多的Vim,手册也翻过一遍.虽然现在不怎么用vim了, ...

  5. vim 学习笔记系列(前言)

    今天上午的时候,看到大神在用vim编程,画面直观,速度很快,操作只需要用命令符就可以实施. 所以可以推断vim的命令符是复杂的,那么学习过程中记忆会很漫长,很痛苦,但是如果记住了这些命令符,并可以熟练 ...

  6. vim学习笔记(一)—— vim安装方法

    一.完全卸载vim的方法 sudo apt-get remove --purge vim (--purge 是完全删除,会连配置文件一起删除) 二.Vim前言——————“世界上只有三种编辑器,EMA ...

  7. vim使用笔记

    vim的配置文件.vimrc  一般有2个位置 1是在/目录下 2是在-目录下 如果在-目录下有了配置文件 那么将不去读取/目录下面的配置文件 如果你不知道现在使用的vim 使用的是哪个目录下面的配置 ...

  8. Linux下Vi/Vim使用笔记

    启动和关闭vim vi 打开 Vi/Vim 打开 Vi/Vim 并加载文件 <file> vi <file> vim编辑器的三种模式:一般模式.编辑模式和命令行模式在一般模式中 ...

  9. VIM学习笔记

    参考: http://linux.chinaunix.net/techdoc/beginner/2009/12/20/1150108.shtml VIM命令大全 光标控制命令 命令           ...

随机推荐

  1. MySql 1248 - Every derived table must have its own alias

    执行一个sql语句,报错:1248 - Every derived table must have its own alias 提示说每一个衍生出来的表,必须要有自己的别名 执行子查询的时候,外层查询 ...

  2. 由DB2分页想到的,关于JDBC ResultSet 处理大数据量

    最近在处理DB2 ,查询中,发现如下问题.如果一个查询 count(*),有几十万行,分页如何实现 select row_number() over (order by fid desc ) as r ...

  3. 【译】x86程序员手册31- 第9章 异常和中断

    Chapter 9 Exceptions and Interrupts 第9章 异常和中断 Interrupts and exceptions are special kinds of control ...

  4. STA之Concepts (2)

    3 Skew between signals Skew is the difference in timing between two or more signals, maybe data, clo ...

  5. HDU_2844_(多重背包)

    Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  6. Java基础(六)--枚举Enum

    枚举: 刚开始项目中没怎么用过,只知道能够实现作为项目中类似定义Constant的功能,然后知道枚举实现的单例模式几乎是最优雅的,所以, 想要深入完整的了解一下 1.基本特性: Enum.values ...

  7. 07Java Server Pages

    Java Server Pages JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分. JSP全称Java Server Pages,是一种动态网页开发技术.它 ...

  8. Appium 的xpath定位

    Appium 的xpath定位 1.如果元素text是唯一的,可以通过text文本定位 //*[@text=’text文本属性’] # 定位text driver.find_element_by_xp ...

  9. returnValue of Chrome

    说实话,我一看到这个returnValue就有点反感,感觉这个就是IE式的老套的用法,因为项目中有用到就了解了下,以下主要是一些我的理解和发现吧. PS:returnValue是window的属性,s ...

  10. pipreqs(找当前项目依赖的包)

    pipreqs pipreqs可以帮你找到当前项目的所有组件及其版本.就是当别人给你一个程序的时候,你要在自己电脑上运行起来,就需要安装程序所依赖的组件,总不能自己一个一个找吧. # 安装 pip3 ...