不知道有多少VIM新手和我当年(去年)一样,信誓旦旦的以为只有i可以插入

唉,现在想想都觉得可笑,都是Windows下的编辑器用多了的结果

鼠标一点,妈妈再也不用担心我的文本插入了……悲剧!

好了,让我们抛弃过去吧,从现在起奋斗,也许不算太晚

这是俺写的《轻快的VIM系列》第二节,每一节都会不断更新,加入更多技巧在里面

VIM新手们加油,咱一起总结,一起努力练习……

基础

字符位置插入

i            在光标之前插入
a 在光标之后追加

你看,其实刚开始用这两个就足够了,这就是最基础的

为什么这么说呢?因为你可以依靠上一节中的移动命令来达到任意位置,然后再大力插入

不要忘了,VIM中最重要的技巧之一就是命令间的配合使用

进阶

行位置插入

A            在一行的结尾处追加
I 在一行的开头处插入
o 在光标所在位置的下一行打开新行插入
O 在光标所在位置的上一行打开新行插入

当然,如果你认为先移动光标然后插入或追加慢了,那么就应该用上面这种方法

它们是以行做单位

在这里我还是需要提醒一下,命令前加数字代表执行次数

tips1:10I*<Esc>先输入10,然后输入i,接着输入*号,最后按<Esc>

     这样就可以在一行开头输入十个*

    

tips2:同样,5o###<Esc>先输入5,然后输入o,接着输入###,最后按<Esc>

     这样就可以在下列5行中每一行开头插入###

    

看,这样一来,再需要输入重复文本的时候就变得方便了对不对,你可以自己试着扩展思维……

但我依然会不厌其烦的提醒你,命令的组合也是最重要的技巧之一

合并行

有时候你也许会想合并两行

    

J            合并两行

    

你只需要把光标移动到首行,然后按3次J即可, 或者3J.

VIM 插入的更多相关文章

  1. linux vim 插入行号

    1 在文本中插入行号 最近有朋友提到某编辑器有一个可以插入行号的插件,问Vim有没有办法可以在文章中插入行号.%$^&*#8~#$@#!--让我们看一下有多少种方式可以在vim中插入行号或数字 ...

  2. 把vim插入状态的光标改为竖线

    和终端有关系,如果是Konsole的终端,把下面两行加到.vimrc文件里就可以 let &t_SI = "\<Esc>]50;CursorShape=1\x7" ...

  3. vim 插入时间戳的方法

    这里主要说明用内置函数 strftime 来插入,而不用 :r!date 或类似方法. 用命令 "=strftime('%c')<Ret>p ,或<C-r>=strf ...

  4. 解决Vim插入模式下backspace按键无法删除字符的问题【转】

    本文转载自:https://blog.csdn.net/zxy987872674/article/details/64124959 最近使用某个服务器编辑文件时,快捷键i进入插入模式后,下方不出现in ...

  5. Vim 插入递增列

    <C-a> ++1 <C-x> --1     安装Plugin 'terryma/vim-multiple-cursors'后 <C-v> 选所有数字 <C ...

  6. vim 插入行号

    :let i=1000000|g/^/s//\=i.' '/|let i=i+1

  7. vim之插入

    进入vim插入模式,我们熟知的有: 字符位置插入: i      在光标之前插入 a     在光标之后追加 行位置插入: A  在一行的结尾处追加 I   在一行的开头处插入 o  在光标所在位置的 ...

  8. vim 文字插入

    我们知道VIM中,普通的复制和粘贴都是YY和PP.那么怎么将vim以外的文件插入到vim编辑器中呢!这是个问题: 首先我们要选中想要插入的文字,如: 然后进入vim插入模式:SHIFT + Inser ...

  9. 8. vim编辑器高级应用

    1. vim主要模式介绍 命令模式.命令行模式.编辑模式 字符操作:i 当前插入, I行首插入, a当前字符之后插入,A行首插入, ESC退出当前模式 2. vim命令模式 3. vim插入模式 4. ...

随机推荐

  1. 经典SQL回顾之晋级篇

    上篇博文在说SQL基础的时候,有一个地方有点误导大家,文中说到SQL 中的substring()和C#中的substring()相同,这有点歧义.基本原理虽然相同,但是有一点很不一样,就是C#中索引是 ...

  2. 创建一个简单的 MDM server(1)

    前提:已获得 APNS 证书 ,已完毕 MDM 配置描写叙述文件的制作.请參考< MDM 证书申请流程 >一文和<配置MDM Provisioning Profile>. 环境 ...

  3. WPF路由事件三:自定义路由事件

    与依赖项属性类似,WPF也为路由事件提供了WPF事件系统这一组成.为一个类型添加一个路由事件的方式与为类型添加依赖项属性的方法类似,添加一个自定义路由事件的步骤: 一.声明路由事件变量并注册:定义只读 ...

  4. mysql编译安装后各种常见错误集锦

    1.ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', sys ...

  5. 事件总线demo

    经过几天的努力拜读大牛高手文章,终于对事件总线有所了解,特此记录下来,以免忘记 1.定义相关的接口: A  事件接口 public interface IDomainEvent { DateTime ...

  6. C++(1)C++类四个默认函数---构造函数、析构函数、拷贝函数、赋值函数

    C++构造函数和析构函数 默认构造函数指不带参数或者所有参数都有缺省值的构造函数!!! (1)构造函数.析构函数与赋值函数 构造函数.析构函数与赋值函数是每个类最基本的函数.它们太普通以致让人容易麻痹 ...

  7. TensorFlow基础笔记(11) max_pool2D函数

    # def max_pool2d(inputs, # kernel_size, # stride=2, # padding='VALID', # data_format=DATA_FORMAT_NHW ...

  8. 很开心! 纪念一下 ^_^ 考勤系统(weX5+echarts3.0+Baas )

  9. e677. 模糊化图像

    This example demonstrates a 3x3 kernel that blurs an image. Kernel kernel = new Kernel(3, 3, new flo ...

  10. R语言绘图边框

    在R语言中, 绘图边框一共有3个区域: device region : figure region : plot region   : 在描述不同区域大小的时候,有对应的不同参数: din : 返回d ...