移动:

  h 或 向左箭头键(←)    #光标向左移劢一个字符
  j 或 下箭头键(↓)      #光标向下移劢一个字符
  k 或 向上箭头键(↑)      #光标向上移劢一个字符
  l 或 向右箭头键(→)      #光标向右移劢一个字符

  0  #数字0,移动到本行最开始一个字符处

  $  #移动到本行最后一个字符处

  gg  #移动到第一行

  G  #移动到最后一行

  NG或:N  #移动到第N行

  w  #到下一个单词的开头

  W  #移动到下一个单词的开头,但会跳过某些标点

  e  #到下一个单词的结尾,第一次操作到当前单词结尾

  b  #到前一个单词的开头,第一次操作到当前单词开头

  *      #向前(文件结尾)搜索光标所在的单词

  #      #向后(文件开头)搜索光标所在单词

  %  #向前(文件结尾)搜索光标所在的符号,包括(,{,[。需要先把光标移动到括号上

  fc  #移动光标到同一行的下一个c字符处,c可以为其他字母、数字或者标点符号

  Fc  #移动光标到同一行的上一个c字符处,c可以是其他字母、数字或标点符号

  tc  #移动光标到同一行的下一个c字符前,c可以是其他字母、数字或标点符号

  Tc  #移动光标到同一行的上一个c字符前,c可以是其他字母、数字或标点符号

  Ctrl+f  #屏幕向下移动一页,相当于[page down]

  Ctrl+b  #屏幕向下移动一页,相当于[page up]

  

 

搜索与替换:

  /word   #向光标乊下寻找一个名称为 word 癿字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!

  ?word   #向光标之上寻找一个字符串名称为 word 的字符串。

  n   #这个 n 是英文按键。代表『重复前一个搜寻的动作』。丼例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!

  N   #这个 N 是英文按键。与n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。

  :n1,n2s/word1/word2/g   #n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则: 『:100,200s/vbird/VBIRD/g』。

  :1,$s/word1/word2/gc  # 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在区代前显示提示字符给用户确认(confirm) 是否需要取代。

  :%s/word1/word2/g  #将整篇文章的word1取代为word2。%代表整篇文章

  r  #替换光标所在的字符

  R  #替换直到按esc退出

插入:

  i  #在光标前插入

  I  #在当前行第一个非空字符前插入;

  a  #在光标后插入;

  A  #在当前行最后一个非空字符后插入;

  o  #在下面新建一行插入;

  O  #在上面新建一行插入;

  s  #删除光标所在字符并进入插入模式

  S  #删除光标所在行并进入插入模式

删除(剪切)动作 d:

  dd  #删除(剪切)光标所在的那一整行,并将内容复制到剪贴板。

  d1G或dgg #删除(剪切)光标所在行到第一行的所有数据

  dNG  #删除(剪切)光标所在行到第N行的所有数据

  dG  #删除(剪切)光标所在行到最后一行的所有数据

  d$或D  #删除(剪切)光标所在处到该行最后一个字符的所有数据

  d0  #删除(剪切)光标所在处到该行第一个字符的所有数据

  dw  #删除(剪切)光标所在处到当前单词的最后一个字符的所有数据

  dtc  #删除所有的内容,直到遇到字符c。c可以是字母、数字或标点符号

  x,X  #在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)

复制动作 y:

  yy或Y  #复制光标所在的那一整行,并将内容复制到剪贴板。

  yNG  #复制光标所在行到第N行的所有数据

  yG  #复制光标所在行到最后一行的所有数据

  y$  #复制光标所在处到该行最后一个字符的所有数据

  y0  #复制光标所在处到该行第一个字符的所有数据

  yw  #复制光标所在字母到该字母所在单词结尾的部分

  yiw  #复制光标所在单词,即使光标不在单词的第一个字母

  

 

改写动作 c:

  cw  #改写光标处到当前单词末尾的所有字符

  c$或C  #改写光标处到当前行末尾的所有字符

  cb  #改写光标处到当前单词开头的所有字符

下述几个标签换成对应的结束符号也可以,比如'('换成')','['换成']'

  ci', di', yi' #修改、剪切或复制'之间的内容。

  ca', da', ya'  #修改、剪切或复制'之间的内容,包含'。

  ci", di", yi"  #修改、剪切或复制"之间的内容。

  ca", da", ya"  #修改、剪切或复制"之间的内容,包含"。

  ci(, di(, yi(  #修改、剪切或复制()之间的内容,。

  ca(, da(, ya(  #修改、剪切或复制()之间的内容,包含()。

  ci[, di[, yi[  #修改、剪切或复制[]之间的内容。

  ca[, da[, ya[  #修改、剪切或复制[]之间的内容,包含[]。

  ci{, di{, yi{  #修改、剪切或复制{}之间的内容。

  ca{, da{, ya{  #修改、剪切或复制{}之间的内容,包含{}。

  ci<, di<, yi<  #修改、剪切或复制<>之间的内容。

  ca<, da<, ya<  #修改、剪切或复制<>之间的内容,包含<>。

粘贴:

  p,P  #P在光标之前粘贴,P在光标之后粘贴, 如果寄存器中是一行,则p在光标所在行下插入寄存器的行,P在光标所在行上方插入寄存器中的行

缩进:

  << 向左缩进一个shiftwidth

  >> 向右缩进一个shiftwidth

  ==:  #两个==,自动缩进光标所在行。其实是=+任意字符。

  [V]+[=]:  #先用V选中要缩进的行(其实用ctrl+v或v也可以),然后按=就可以自动给缩进。所以[V]+[=]和==是等价的。

  [gg]+[V]+[G]+[=]:  #gg到第一行,V选中第一行,G到最后一行(即选中全文),=自动给缩进。这几个命令是全文自动缩进

排版:

  J  #拼接当前行和下一行

命令行模式:

  :setnu  #显示行号,设置之后,会在第一行的前缀显示改行的行号

  :set nonu  #与set nu相反,为取消行号

  :w  #将编辑的数据写入硬盘文件中

  :w!  #将编辑的数据写入硬盘文件中

  :q  #离开vi

  :wq  #保存后离开,若为“:wq!"则为强制保存后离开

  ZZ  #这是大写的Z。若文件没有改动,则不保存离开,若文件已经被改动过,则保存后离开。

块选择:

  v:  #字符选择,会将光标经过的地方反白选择

  V:  #行选择,会将光标经过的行反白选择

  [Ctrl]+v:  #块选择,可以用长方形的方式选择数据

  y  #将反白的地方复制起来

  d  #将反白的地方删除

自动补全:

  [Ctrl]+p或者[Ctrl]+n  

批量操作:

  批量注释:

  首先定位到要注释的行首并按Ctrl + V(windows:Ctrl + P)进入块模式。然后按J或者K选中要注释的所有行。最后按大写I进入行首插入模式输入注释符号"//"或者"#",按ESC键退出。这样选中的所有行的行首就都被插入了注释符。

  批量取消注释:

  Ctrl + V进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个,选好之后按d即可删除注释

参考资料:

  1.《鸟哥的linux私房菜》

  2. http://blog.csdn.net/donahue_ldz/article/details/17139361

  3. http://coolshell.cn/articles/5426.html

  4. http://blog.csdn.net/xiajun07061225/article/details/8488210

  5.https://www.ibm.com/developerworks/cn/linux/l-cn-tip-vim/

【vim】vim常用命令的更多相关文章

  1. vim最常用命令

    vi/vim常用命令汇总 vi/vim概述 vi/vim是Linux和Unix下的一款非常强大的编辑器,vim是vi的增强 版,命令更加多种和复杂,但是最常用的也就是那几个. vi有三种模式 命令行模 ...

  2. Linux下Vim工具常用命令

    原文地址: http://www.cnblogs.com/lizhenghn/p/3675011.html 在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚 ...

  3. VIM一些常用命令,方法,配置

    配置文件地址 github 工具只是为了更好的工具,选择一种,坚持使用学习记忆,熬过瓶颈期就可以了. 现在我基本大的项目是IDE+vim 插件,写小代码是VIM. 常用的操作,便捷的方法 1.如何选中 ...

  4. Vim的常用命令笔记

    [简介] Vim是vi编辑器的改进版.vi是类UNIX系统里最常用的编辑器. [模式] 在shell中直接打vim filename就会进入普通模式.按i键进入编辑模式,此时Vim底部显示INSERT ...

  5. Linux环境下vi/vim编辑器常用命令

    使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...

  6. vim 编辑器常用命令

    vi 常用命令行 1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I,o ...

  7. 10 分钟上手 Vim,常用命令大盘点

    传闻有 180 万的程序员不知道如何退出 Vim 编辑器,真的有这么困难吗?下面给大家整理了一份 Vim 常用命令,让你 10 分钟快速上手 Vim,溜得飞起! 以下命令请在普通模式执行 1.移动光标 ...

  8. vim操作常用命令总结

    这里记录下linux在vim编辑器中的常用命令 vi 的三种模式: 一般模式:以vi打开一个文件时,就是一般模式:可以移动光标,删除字符或删除整行,可以复制.粘贴等操作 编辑模式:在一般模式按下 i ...

  9. linux应用之vim的常用命令

    vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V 从光标当前行开始,光标 ...

  10. Linux vi/vim编辑器常用命令与用法总结

    (一)vi/vim是什么?Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便. ...

随机推荐

  1. DotNetty学习笔记

    DotNetty项目本身的示例很容易运行起来,但是具体到真实的应用场景,还是需要进一步理解DotNetty的通道处理细节,这样才能够在实际项目应用中处理具体的问题. 简单的场景下会有以下几个问题,第一 ...

  2. 20155230 2016-2017-2《Java程序设计》第二周学习总结

    20155230 2016-2017-2 <Java程序设计>第er周学习总结 教材学习内容总结 JAVA编程风格 1.命名变量时不可以使用数字及特殊字符作为开头. 2.变量名称不可以与J ...

  3. 20155302 2016-2017-2 《Java程序设计》 第1周学习总结

    20155302 2016-2017-2 <Java程序设计> 第1周学习总结 教材学习内容总结 浏览全书提出问题 chapter1:怎么保证现在系统在用最高版本的JRE呢?在哪里查看及升 ...

  4. javaWeb项目-文件下载的消息头和编码问题

    一.问题: 做web项目经常提到的一个需求就是页面的文件下载,那么下载的时候在后台为什么要设置响应消息头?为什么这样设置? 二.解决: 1.例子 //设置响应的消息头response.setConte ...

  5. Flutter系列博文链接

    Flutter系列博文链接 ↓: Flutter基础篇: Flutter基础篇(1)-- 跨平台开发框架和工具集锦 Flutter基础篇(2)-- 老司机用一篇博客带你快速熟悉Dart语法 Flutt ...

  6. Python和Pycharm的安装

    目录 安装Python 安装Pycharm IDE 破解Pycharm 用Pycharm创建Python工程 安装Python 去Python官网下载Python软件,网址:https://www.p ...

  7. centos下JDK安装及环境变量配置

    由于centos安装自带openjdk,需要将其卸载后安装自己的jdk 卸载centos自带jdk 1.查找java :rpm -qa | grep java 2.卸载时提示权限不够,进入root目录 ...

  8. 大O算法

    大O计法:根据执行次数计算#sum = (1+n)*n/2://执行了一次,即为O(1)#for(i=0;i<n;i++);//执行了n次,即为O(n)#算法的时间复杂度:T(n) = O(f( ...

  9. [转载]文件系统缓存dirty_ratio与dirty_background_ra

    原文地址:文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别作者:vincent 这两天在调优数据库性能的过程中需要降低操作系统文件Cache对数据库性能的影 ...

  10. IncDec序列:差分+贪心

    IncDec序列 题目描述: 给定一个长度为 n 的数列 a1,a2,…,an,每次可以选择一个区间[l,r],使下标在这个区间内的数都加一或者都减一. 求至少需要多少次操作才能使数列中的所有数都一样 ...