编辑-->输入:

    i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式;

输入-->编辑:

    ESC

编辑-->末行:

    :

末行-->编辑:

    ESC, ESC
注:输入模式和末行模式之间不能直接切换

一、打开文件

    vim +# :打开文件,并定位于第#行
vim +:打开文件,定位至最后一行
vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
注:默认处于编辑模式

二、关闭文件

1、末行模式关闭文件

    :q  退出
:wq 保存并退出
:q! 不保存并退出
:w 保存
:w! 强行保存
:wq --> :x

2、编辑模式下退出

ZZ: 保存并退出

三、移动光标(编辑模式)

1、逐字符移动:

    h: 左
l: 右
j: 下
k: 上
#h: 移动#个字符

2、以单词为单位移动

    w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
#w: 移动#个单词

3、行内跳转:

    0: 绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾

4、行间跳转

    #G:跳转至第#行
gg: 第一行
G:最后一行

5、末行模式

    .: 表示当前行
$: 最后一行
#:第#行
+#: 向下的#行

四、翻屏

    Ctrl+f: 向下翻一屏

Ctrl+b: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏

五、删除单个字符

    x: 删除光标所在处的单个字符
#x: 删除光标所在处及向后的共#个字符

六、删除命令: d

d命令跟跳转命令组合使用

    #dw, #de, #db

dd: 删除当前光标所在行
#dd: 删除包括当前光标所在行在内的#行;

七、粘贴命令 p

    p: 如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面
P: 如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面

八、复制命令 y

    用法同d命令

九、修改:先删除内容,再转换为输入模式

    c: 用法同d命令

十、替换:

    r:单字符替换
#r: 光标后#个字符全部替换
R: 替换模式

十一、撤消编辑操作 u

    u:撤消前一次的编辑操作
#u: 直接撤消最近#次编辑操作
连续u命令可撤消此前的n次编辑操作
撤消最近一次撤消操作:Ctrl+r

十二、重复前一次编辑操作

    .:编辑模式重复前一次编辑操作

十三、可视化模式

    v: 按字符选取
V:按矩形选取

十四、查找

    /PATTERN
?PATTERN
n 下一个
N 上一个

十五、查找并替换

在末行模式下使用s命令

    headline,footlines#PATTERN#string#g
1,$:表示全文
%:表示全文

十六、使用vim编辑多个文件

    vim FILE1 FILE2 FILE3
:next 切换至下一个文件
:prev 切换至前一个文件
:last 切换至最后一个文件
:first 切换至第一个文件
:q退出当前文件
:qa 全部退出

十七、分屏显示一个文件

    Ctrl+w, s: 水平拆分窗口
Ctrl+w, v: 垂直拆分窗口

在窗口间切换光标:

    Ctrl+w, ARROW(h,j,k,l或方向键) 
:qa 关闭所有窗口

十八、分窗口编辑多个文件

    vim -o : 水平分割显示
vim -O : 垂直分割显示

十九、将当前文件中部分内容另存为另外一个文件

末行模式下使用w命令

    :ADDR1,ADDR2w /path/to/somewhere

二十、将另外一个文件的内容填充在当前文件中

    :r /path/to/somefile
附加到当前文件光标后

二十一、跟shell交互

    :! COMMAND

二十二、高级话题

1、显示或取消显示行号

    :set nu
:set nonu
mu = number

2、显示忽略或区分字符大小写

    :set ic
:set noic
ic = ignorecase

3、设定自动缩进

    :set ai
:set noai
ai = autoindent

4、查找到的文本高亮显示或取消

    :set hlsearch
:set nohlsearch

5、语法高亮

    :syntax on
:syntax off

vim指令的更多相关文章

  1. 我总结的18个非常好用的vim指令

    在Linux下最有名的程序编辑器非vim莫属了. 在一般模式下, 1.dd——删除光标所在行 2./word ——全文搜索指定单词 3.G ——将光标移动到文件的最后一行,移动到第99行,就是99G ...

  2. Linux系统中的vi/vim指令【详解】

    vi是Unix世界里极为普遍的全屏幕文本编辑器,vim是它的改进版本Vi IMproved的简称.几乎可以说任何一台Unix机器都会提供这套软件. 只要简单的在Shell下执行vi就可以进入 vi 的 ...

  3. vim 指令学习

    移动行: 命令:3 move 4 光标移动 H : 左移 J :下移 K :上移 L : 右移 : 移到行首 $ :移到行尾 :n :定位到某一行 查找指令: fx :行内向后查找x Fx :行内向前 ...

  4. Vim 指令一览表

    vim 程序编辑器 移动光标的方法 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 l 或 向右箭头键( ...

  5. vim指令常用

    慢慢尝试使用vim,不断学习使用新的快捷键,将常用快捷键但经常容易忘的写下来, 1. 复制黏贴 命令行模式下按住v选中,y表示复制,d表示剪切,p为复制.

  6. vim指令,快捷键汇总

    Vim 命令.操作.快捷键全集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vi ...

  7. Linux vim指令学习

    每天查看一遍vim文档 Linux系统下命令:$ vimtutor 1.可视模式([v] 或者 [Ctrl + v])下的[U]把选中的文本变为大写 .[u]把选中的文本变为小写. 2.[数字] + ...

  8. Vim指令备忘

    从网上找来的记忆图,适合于刚上手的童鞋形象记忆. 接下来的是个人在使用过程中容易忘记的命令,特此备份查看. n<space> 会向右移动这一行的n 个字元 n<Enter> 向 ...

  9. vim编辑指令(转)

    跳跃指令 类似于游览器中的<前进><后退>按钮  CTRL-] -> 跟着link/tag转入 (follow link/tag)  CTRL-o -> 回到上一次 ...

随机推荐

  1. shell笔记-常用

    shell提取文件名: http://blog.csdn.net/u011544778/article/details/50773053 一.使用${} 1.${var##*/}该命令的作用是去掉变量 ...

  2. C# 多线程及同步简介示例

           60年代,在OS中能拥有资源和独立运行的基本单位是进程,然而随着计算机技术的发展,进程出现了很多弊端,一是由于进程是资源拥有者,创建.撤消与切换存在较大的时空开销,因此需要引入轻型进程: ...

  3. Vue文件中引入img 路径写法

    把图片路径写在data里面,然后渲染模板的两种方式 方案1.在data使用require将图片进入,写法如下 logo: require('../asset/admin/logo.png')  在模板 ...

  4. 修改构造器默认prototype后,新实例的constructor指向问题和解决办法

    Chrome中调试 源码: 构造器  function Dog(){this.tail=true} 构造新实例 var benji= new Dog(); var rusty=new Dog(); 新 ...

  5. mongo中的模糊查询

    以下是一个mongo查询的综合应用,即介绍一个生产中实际应用的模糊查询,当然其实也很简单,主要用到mongo中的模糊查询和$or查询,以及并的关系,下面是一个mongo中的一条记录 { "_ ...

  6. 封装自己的dapper lambda扩展-设计篇

    前言 昨天开源了业务业余时间自己封装的dapper lambda扩展,同时写了篇博文<编写自己的dapper lambda扩展-使用篇>简单的介绍了下其使用,今天将分享下它的设计思路 链式 ...

  7. Python学习第四篇——列表访问与判定

    avilable_foods=["soup","beaf","noddle","pepper"] request_foo ...

  8. 软件工程练习:模块化,单元测试,回归测试,TDD

    这是<构建之法>实战教学的一部分.适合作为同学们的第二个程序作业. 第一个程序作业: 请看 “概论” 一章的练习,或者老师的题目,例如这个. 作业要求: 软件工程的作业越来越有意思了, 我 ...

  9. Imbalanced Array CodeForces - 817D (思维+单调栈)

    You are given an array a consisting of n elements. The imbalance value of some subsegment of this ar ...

  10. python中类方法,实例方法,静态方法的作用和区别

      Python中至少有三种比较常见的方法类型,即实例方法,类方法.静态方法.它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文. 首先,这三种方法都定义在类中.下面我先简单说一下怎么 ...