vim编辑器初级(七)

:syntax on  打开语法高亮

:syntax off  关闭语法高亮

vim有两套语法颜色方案,分别用于背景亮和背景暗时,当vim启动时它会尝试辨别背景并选择合适的颜色方案,但vim辨别背景时可能出错

  :set background?  查看background选项的值为多少

  :set background=light  将background选项的值设为light,也可设为dark,这样就可以让vim选用正确的颜色方案

vim会通过文件扩展名来识别文件类型,如果你的文件没有一个标准的扩展名那么vim就不能正确地将语法高亮显示

  :set filetype=c  这样就可以告诉vim你正在编辑的文件是C语言的源文件,也可以设置为其他类型

%  用于匹配括号,将光标置于左括号或右括号,按下%后光标就跳转到相对应的右括号或左括号,也可以匹配C语言的注释符号#ifdef等预处理指令

<<  将光标所在行向左缩进,在前面加一个数字就会缩进那么多行

>>  将光标所在行向右缩进,在前面加一个数字就会缩进那么多行

<  后接一个动作,会将从当前行到动作定位处的所有行都向左缩进

>  后接一个动作,会将从当前行到动作定位出的所有行都向右缩进

:set shiftwidth=4  设置每一次缩进的宽度,通常设置为4最具有可读性

:set tabstop=4  设置每个tab的宽度为4,这样就与shiftwidth保持一致

vim有多种缩进模式,主要有的三种:

  即cindent  使得vim会根据标准的C风格自动将程序进行缩进,在以#开头的行中,所有的缩进都被移除

  smartindent  使得vim会将每行都与它的前一行保持相同的缩进,如果它的前一行包含{或}那么会自动增加或减少一层缩进

  autoindent  使得vim会将每行都与它的前一行保持相同的缩进

在insert mode下,CRTL-D会使vim向左缩进

=  在viusal mode下会将选中的文本利用内部的格式化程序进行自动缩进,在normal mode下后接一个动作,将当前光标所在至动作定位处的所有文本自动缩进

在命令行用vimdiff命令打开两个或更多文件,就可以显示出这些文件的不同之处

  此时可以用:dp命令将当前文件的更改移动到另一个文件中,也可以用:do命令将另一个文件的更改移动到当前文件中

 zf  在visual mode下选中文本后执行zf命令会将所选文本折叠起来,在normal mode下后接一个动作,将当前光标所在行至动作定位行的所有文本折叠

zo  将光标移动到折叠行上,执行zo会打开折叠

:set foldmethod=indent  会使vim自动将所有文本按照缩进进行折叠

zc  关闭一层折叠

zX  将缩进情况复位

zv  有时折叠会使光标所在的行被折叠起来,此时执行zv命令会令vim展开足够多行知道光标所在的那行显示出来

:set foldlevel=3  设置折叠层次,例如设置为3后,所有缩进了三个以上层次的文本都会被折叠,默认的foldlevel值为0

zm  将foldlevel减1,会使缩进的文本增加

zr  将foldlevel加1,会使缩进的文本减少

zR  直接取消折叠

zM  尽最大可能折叠

[CTRL-I  跳转到光标所在的词,从文件的开头进行搜索,包括#include所引入的文件

]CTRL-I  跳转到光标所在的词,从当前光标的位置开始搜索

gd  寻找光标所在变量的局部定义

gD  寻找光标所在变量的全局定义

[CTRL-D  寻找光标所在宏的第一次定义,#include所引入的文件也被搜索

]CTRL-D  寻找光标所在宏的下一次定义

[d  显示光标所在宏的第一次定义,#include所引入的文件也被搜索

]d  显示光标所在宏的下一次定义

[D  列出光标所在宏的所有定义

]D  列出光标所在宏的所有定义,从当前位置往后

>i{  先将光标放在{上,然后执行命令>i{,会将{ }内的文本全部向右缩进

i}  先将光标放在{上,然后按v进入visual mode,再执行i}会选中{ }中的文本,之后执行>,也可以将{ }内的文本全部向右缩进

K键  将光标所在的词作为主题,执行操作系统的man命令

转载于:https://www.cnblogs.com/dreamtrue13/p/6640417.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355924.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何编写Java代理

对于vmlens &#xff08;轻量级Java竞争条件捕获器&#xff09;&#xff0c;我们使用Java代理来跟踪字段访问。 这是我们学习的实现此类代理的经验教训。 开始 使用“ static public static void premain&#xff08;String args&#xff0c;Instrumentation inst&#xff09;…

48道C语言上机题参考答案,二级C语言上机题库参考答案(已修改).doc

二级C语言上机题库参考答案(已修改).doc下载提示(请认真阅读)1.请仔细阅读文档&#xff0c;确保文档完整性&#xff0c;对于不预览、不比对内容而直接下载带来的问题本站不予受理。2.下载的文档&#xff0c;不会出现我们的网址水印。3、该文档所得收入(下载内容预览)归上传者、…

Python练习-从小就背不下来的99乘法表

心血来潮,灵机一动,反正就是无聊的做了一个很简单的小玩意: for i in range(1,10):#让i 1-9 循环9次print("\n")#每循环一次进行一次换行for j in range(1,10):#让j 1-9 循环9次print(j, "x",i , "", i * j," ",end"")#输出…

快速排序 数组 函数 c语言,书上快速排序程序中子函数是怎样更改数组的?理论上不可实现啊...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼return不可能返回数组&#xff0c;于是子hanshu1quicksort最后没有用return&#xff0c;但是没有return又怎么可以更改a[N]&#xff1f;主函数中的quicksort(a, 0, N - 1);将a[N]复制后传递给形参a&#xff0c;quicksort(a, 0, N -…

(原创)SpringBoot入门

本文章是SpringBoot入门的介绍在这里 我会尽量写一些细节性的东西,我用的是IDEA2016 Tomcat7 JDK1.8 Maven3.3.9 IDEA Tomcat JDK Maven的安装我就不详细了, 这里我会提到Maven的安装和如何使用阿里云的镜像,因为官网的JAR下载真的是...比乌龟还慢 先从Maven的配置开始,到官…

jbox2d_JBox2D和JavaFX:事件与力量

jbox2d在昨天的示例中&#xff0c;您看到了如何创建一个简单的世界并使用WorldView进行显示&#xff0c;以及如何提供自定义渲染器。 现在&#xff0c;我们将添加一些用户输入。 我们将创建一个类似于弹球机中的鳍状肢的控件。 为此&#xff0c;我们将创建一个关节。 在JBox2D中…

整数因子分解c语言递归,整数因子分解:计算一个整数所有的分解式(递归实现)...

原始问题描述&#xff1a;对于给定的正整数n&#xff0c;计算n有多少种不同的分解式。例如&#xff0c;当n12时&#xff0c;有8种不同的分解式&#xff1a;1212,1262,1243,1234,12322,1226,12232 ,12223对n的每个因子递归搜索&#xff0c;代码如下&#xff1a;void solve (int …

Tomcat 部署了web项目中文乱码

本地Tomcat 启动&#xff0c;网页端的中文传到后台显示乱码。 查询前段已经设置了 UTF-8格式&#xff0c; 后台收到中文的依然是乱码&#xff0c;原来是Tomcat的配置问题。 修改Tomcat的配置文件server.xml &#xff0c;添加一个属性 URIEncoding"UTF-8"&#xff0c;…

电脑基础c语言,C语言经验: 如何从零基础学习C语言?

C语言是面向过程的&#xff0c;而C 是面向对象的C和C 之间的区别:C是一种结构化语言&#xff0c;其重点是算法和数据结构. 在C程序设计中&#xff0c;首先要考虑的是如何通过过程来处理输入(或环境条件)以获得输出(或实现过程(事务)控制).C &#xff0c;首先要考虑的是如何构建…

Android布局动态化,一种基于堆积木思想的卡片式Android动态布局方法与流程

本发明涉及android界面布局&#xff0c;特别是一种基于堆积木思想的卡片式Android动态布局方法。背景技术&#xff1a;在Android流行的今天&#xff0c;android App在生活中使用日益广泛&#xff0c;相对PC&#xff0c;手机由于界面的尺寸的限制&#xff0c;手机的UI设计和布局…

java cpu_Java High CPU故障排除指南–第1部分

java cpu本文是该系列的第1部分&#xff0c;它将为您提供有关如何进行故障排除和识别Java高CPU问题根本原因的综合指南。 本指南也适用于独立的Java程序&#xff0c;但旨在帮助涉及Java EE企业日常生产支持的个人。 它还将包括最常见的高级CPU问题列表以及高级解决方案。 生产…

android:ellipsize=end 不起作用,android:ellipsize=end 失效或者 相关的Bug

其实这文章有点傻逼。相关的问题TextView android:ellipsize“end”超出一个字符时不显示…的解决http://www.pocketdigi.com/20140122/1261.html上面我到没有遇到过。但是我遇到的更神奇。就是在使用android:ellipsize“end”正常的情况下这个属性。该textView的文本就不能加入…

适用于具有Couchbase和WildFly的多容器和多主机应用程序的Docker Machine,Swarm和Compose...

该博客将说明如何使用Docker创建部署在多个主机上的多容器应用程序。 这将使用Docker Machine&#xff0c;Swarm和Compose实现。 是的&#xff0c;所有这三个工具一起使此博客更加有趣&#xff01; 该图说明了关键组件&#xff1a; Docker Machine用于配置多个Docker主机 …

android 手机工具箱,Android工具箱下载

安卓工具箱专业版是款集所有功能于一身的工具箱&#xff01;包括硬件和软件和工具&#xff0c;您的手机使用的信息。非常容易使用&#xff0c;具有非常用户友好的用户界面。 主要功能&#xff1a; 1。硬件信息&#xff1a;CPU核心&#xff0c;CPU类型&#xff0c;内存信息&…

日记

时间&#xff1a;18年4月15日下午将近2点 地点&#xff1a;北京昌平区 本来是在github上写技术博客。突然听到楼下小朋友的嘻戏声&#xff0c;也是不止一次让这种声音勾起了我的回忆。 这种声音就仿佛是自己小时候和小朋友玩一般&#xff0c;但是&#xff0c;我现在却是在北京。…

一键复制android代码,兼容安卓和ios实现一键复制内容到剪切板

js兼容安卓和ios实现粘贴板一键复制color: #000;background: #fff;overflow-y: scroll;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;}html*{outline:0;-webkit-text-size-adjust: none;-webkit-tap-highlight-color: transparent}*{margin:0;padding:0}.conten…

adf时间作用域_ADF:在任务流终结器中支持bean作用域

adf时间作用域介绍 当我们需要在任务流消失之前做一些最终工作&#xff08;干净的资源&#xff0c;紧密的连接等&#xff09;时&#xff0c;这是使用任务流终结器的非常普遍的建议做法。 和往常一样&#xff0c;我们使用在任务流中声明的托管bean。 托管Bean可以具有不同的范围…

贴一段自动编译java,并混淆编译的代码

刚写的一个自动编译、混淆、打包jar的代码&#xff0c;做个记录 用到的NuGet&#xff1a; <?xml version"1.0" encoding"utf-8"?> <packages><package id"DotNetZip" version"1.10.1" targetFramework"net45&qu…

android jpush json,发送了正确的JPush json却报1002

问题描述&#xff1a;调用jPushClient.sendPush前将PushPayload转换成JSON串打印到日志上&#xff0c;检查日志上的JSON发现没有错误&#xff0c;但是response返回报{"error": {"message": "Missing parameter", "code": 1002}}, jpus…

Drools:fireAllRules,fireUntilHalt和Timers内部代码清理的详细说明

在六月&#xff0c;我们在博客上发布了一个新的内部状态机&#xff0c;用于管理用户&#xff0c;计时器和引擎线程之间的交互。 现在&#xff0c;我们对该代码进行了另一次大的内部清理&#xff0c;以使其更易于阅读和理解。 如前所述&#xff0c;所有操作&#xff08;插入&am…