进入vim的命令:      

     vim filename :打开或新建文件,并将光标置于第一行首  

     vim +n filename :打开文件,并将光标置于第n行首  

     vim + filename :打开文件,并将光标置于最后一行首  

     vim +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处  

     vim -r filename :在上次正用vim编辑时发生系统崩溃,恢复filename  

     vim filename….filename :打开多个文件,依次编辑  

 Vim配置:  

     all:列出所有选项设置情况  

     term:设置终端类型  

     ignorance:在搜索中忽略大小写  

     list:显示制表位(Ctrl+I)和行尾标志($)  

     number:显示行号  

     report:显示由面向行的命令修改过的数目  

     terse:显示简短的警告信息  

     warn:在转到别的文件时若没保存当前文件则显示NO write信息  

     nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符  

     nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始  

     mesg:允许vi显示其他用户用write写到自己终端上的信息  

     :set number / set nonumber :显示/不显示行号  

     :set ruler /set noruler:显示/不显示标尺  

     :set hlsearch 高亮显示查找到的单词  

     :set nohlsearch 关闭高亮显示  

     :syntax on        #语法高亮  

     :set nu        #显示行号  

     :set tabstop=4    #设置tab大小  

     :set softtabstop=4  

     :set autoindent    #自动缩进  

     :set cindent    #C语言格式里面的自动缩进  

 移动光标:  

     上:k nk:向上移动n行  

     下:j nj:向下移动n行  

     左:h nh:向左移动n列  

     右:l nl:向右移动n列  

     space:光标右移一个字符  

     Backspace:光标左移一个字符  

     Enter :光标下移一行  

     w或W :光标右移一个字至字首  

     b或B :光标左移一个字至字首  

     e或E :光标右移一个字至字尾  

     ) :光标移至句尾  

     ( :光标移至句首  

     }:光标移至段落开头  

     {:光标移至段落结尾  

     n$:光标移至第n行尾  

     H :光标移至屏幕顶行  

     M :光标移至屏幕中间行  

     L :光标移至屏幕最后行  

     0:(注意是数字零)光标移至当前行首  

     ^:移动光标到行首第一个非空字符上去  

     $:光标移至当前行尾  

     gg可以移到第一行  

     G移到最后一行  

     f<a>:移动光标到当前行的字符a上  

     F:相反  

     %:移动到与制匹配的括号上去(),{},[],<>等。  

     nG:移动到第n行上  

     G:到最后一行  

 屏幕翻滚类命令:  

     Ctrl+u:向文件首翻半屏  

     Ctrl+d:向文件尾翻半屏  

     Ctrl+f:向文件尾翻一屏  

     Ctrl+b:向文件首翻一屏  

     nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部  

 插入文本类命令:

     i :在光标前  

     I :在当前行首  

     a:光标后  

     A:在当前行尾  

     o:在当前行之下新开一行  

     O:在当前行之上新开一行  

     r:替换当前字符  

     R:替换当前字符及其后的字符,直至按ESC键  

     s:从当前光标位置处开始,以输入的文本替代指定数目的字符  

     S:删除指定数目的行,并以所输入文本代替之  

     ncw或nCW:修改指定数目的字  

     nCC:修改指定数目的行  

 删除命令:

     x或X:删除一个字符,x删除光标后的,而X删除光标前的  

     dw:删除一个单词  

     dnw:删除n个单词  

     dne:也可,只是删除到单词尾  

 do:删至行首  

     d$:删至行尾  

     dd:删除一行  

     ndd:删除当前行及其后n-1行  

     dnl:向右删除n个字母  

     dnh:向左删除n个字母  

     dnj:向下删除n行  

     dnk:向上删除n行  

     cnw[word]:将n个word改变为word  

     C$:改变到行尾  

     cc:改变整行  

     shift+j:删除行尾的换行符,下一行接上来了.  

 复制粘贴:  

     p:粘贴用x或d删除的文本  

     ynw:复制n个单词  

     yy:复制一行  

     ynl:复制n个字符  

     y$:复制当前光标至行尾处  

     nyy:拷贝n行  

 撤销:  

     u: 撤销前一次的操作  

     shif+u(U):撤销对该行的所有操作。  

 搜索及替换命令 :  

     /pattern:从光标开始处向文件尾搜索pattern  

     ?pattern:从光标开始处向文件首搜索pattern  

     n:在同一方向重复上一次搜索命令  

     N:在反方向上重复上一次搜索命令  

     cw【newword】:替换为newword  

     n: 继续查找  

     .:执行替换  

     :s/p1/p2/g:将当前行中所有p1均用p2替代,g表示执行用c表示需要确认  

     :n1,n2 s/p1/p2/g:将第n1至n2行中所有p1均用p2替代  

     :g/p1/s//p2/g:将文件中所有p1均用p2替换  

     :1,$ s/string1/string2/g:在全文中将string1替换为string2  

 书签:  

     m[a-z]:在文中做标记,标记号可为a-z的26个字母  

     `a:移动到标记a处  

 visual 模式:  

     v:进入visual 模式  

     V:进入行的visual 模式  

     ctrl+v:进如块操作模式用o和O改变选择的边的大小  

     在所有行插入相同的内容如include<,操作方法如下:  

     将光标移到开始插入的位置,按CTRL+V进入VISUAL模式,选择好模块后按I(shift+i),后插入要插入的文本,按[ESC]完成  

 行方式命令:  

     :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下  

     :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下  

     :n1,n2 d :将n1行到n2行之间的内容删除  

     :n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之  

             若不指定n1,n2,则表示将整个文件内容作为command的输入  

 宏:  

     q[a-z]:开始记录但前开始的操作为宏,名称可为【a-z】,然后用q终止录制宏  

     reg:显示当前定义的所有的宏,用@[a-z]来在当前光标处执行宏[a-z]  

 窗口操作:  

     :split:分割一个窗口  

     :split file.c :为另一个文件file.c分隔窗口  

     :nsplit file.c: 为另一个文件file.c分隔窗口,并指定其行数  

     ctrl+w在窗口中切换  

     :close:关闭当前窗口  

 文件及其他:  

     :q:退出vi  

     :q!:不保存文件并退出vi  

     :e filename:打开文件filename进行编辑  

     :e! :放弃修改文件内容,重新载入该文件编辑  

     :w :保存当前文件  

     :wq :存盘退出  

     :ZZ:保存当前文档并退出VIM  

     :!command:执行shell命令command  

     :r!command:将命令command的输出结果放到当前行  

     :n1,n2 write temp.c 将本文件中的n1,到n2行写入temp.c这个文件中去  

     :read file.c 将文件file.c的内容插入到当前光标所在的下面  

     :0read file.c 将文件file.c的内容插入到当前文件的开始处(第0行)  

     :nread file.c 将文件file.c的内容插入到当前文件的第n行后面  

     :read !cmd :将外部命令cmd的输出插如到当前光标所在的下面  

 帮助:  

     :help :查看帮助文档,在这之中,按CTRL+] 进入超连接,按CTRL+O 返回。  

     :help subject :看某一主题的帮助,ZZ 退出帮助  

 其它常用:  

     :newtab   新建标签  

     :gt   转至下一个标签  

     :gT   转到上一个标签  

     :au GUIEnter * simalt ~x   启动时最大化
  

vim学习笔记(10):vim命令大全的更多相关文章

  1. vim学习笔记(2)——vim配置

    记录vim的配置,随时更新 MacVim 安装: homebrew,安装位置:/usr/local/Cellar brew linkapps macvim--将macvim.app加入到Applica ...

  2. vim学习笔记(1)——vim操作

    仅记录一些自己最经常使用的vim操作.随时更新 文本操作 d 剪切.双击剪切一行 y 复制,双击复制一行 p 粘贴 x 删除当前光标下字符 r 替换当前光标字符.后面接替换的字符 :s/old/new ...

  3. Hadoop学习笔记(10) ——搭建源码学习环境

    Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...

  4. Android:日常学习笔记(10)———使用LitePal操作数据库

    Android:日常学习笔记(10)———使用LitePal操作数据库 引入LitePal 什么是LitePal LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式 ...

  5. matlab学习笔记10 一般运算符

    一起来学matlab-matlab学习笔记10 10_1一般运算符 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等著 感谢张 ...

  6. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  7. thinkphp学习笔记10—看不懂的路由规则

    原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...

  8. 《C++ Primer Plus》学习笔记10

    <C++ Primer Plus>学习笔记10 <<<<<<<<<<<<<<<<<&l ...

  9. SQL反模式学习笔记10 取整错误

    目标:使用小数取代整数 反模式:使用Float类型 根据IEEE754标识,float类型使用二进制格式编码实数数据. 缺点:(1)舍入的必要性: 并不是所有的十进制中描述的信息都能使用二进制存储,处 ...

  10. golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息

    golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...

随机推荐

  1. BOM介绍

    BOM 浏览器对象模型 BOM (Browser Object Model,浏览器对象模型)提供了通过 JavaScript 访问和控制浏览器窗口(window).显示器(screen)与浏览历史(h ...

  2. Spring 多数据源事务配置问题

    2009-12-22 在SpringSide 3 中,白衣提供的预先配置好的环境非常有利于用户进行快速开发,但是同时也会为扩展带来一些困难.最直接的例子就是关于在项目中使用多个数据源的问题,似乎 很难 ...

  3. linux解决“XXX is not in the sudoers file”错误

    问题:我想在我的Linux系统上使用sudo来运行一些特权命令,然而当我试图这么做时,我却得到了"[我的用户名] is not in the sudoers file. This incid ...

  4. 【DM】The PageRank Citation Ranking: Bringing Order to the Web - PageRank引用排名:将订单带到Web上

    [论文标题]The PageRank Citation Ranking: Bringing Order to the Web (1998) [论文作者]Larry Page [论文链接]Paper(1 ...

  5. 在Hadoop1.2.1上运行第一个Hadoop程序FileSystemCat

  6. 在Linux下安装RabbitMQ

    Installing on RPM-based Linux (CentOS, Fedora, OpenSuse, RedHat) 安装新版本的RabbitMQ出错: centos端口转发神器:soca ...

  7. Oracle VM VirtualBox CentOS7桥接设置问题解决

    我遇到的问题是不能选择桥接网络选项,处理步骤: 1.重装 VirtualBox(安装DockerToolBox带的VirtualBox). 2.下面是存在的缺少驱动问题和解决方法: 注意 :缺少桥接驱 ...

  8. Swift 可选型

    1.可选型 Swift 语言为我们提供了一种全新的.更加安全的类型 "可选型".可选型是使用范型枚举的形式来组织的,也就是说此特性可以运用于所有的类型.结构体.类或者其他复杂数据类 ...

  9. Mac Apache Tomcat 配置

    1.配置准备工作 1)配置 Tomcat 准备工作 下载相关软件 apache-tomcat-9.0.6.zip tomcat 官网 Tomcat 配置软件下载地址,密码:sgrn. 2)配置注意事项 ...

  10. Vue style 深度作用选择器 >>> 与 /deep/(sass/less)

    传送门:https://vue-loader-v14.vuejs.org/zh-cn/features/scoped-css.html 你很可能会遇到的问题 vue组件编译后,会将 template ...