1. linux中vim文件编辑怎么让多个关键字高亮
Vim文本编辑让某些字符高亮设置为
:set hls 打开高亮
:set nohls 关闭高亮
其他知识点如下,
1,简单替换表达式
替换命令可以在全文中用一个单词替换另一个单词:
:%s/four/4/g
“%” 范围前缀表示在所有行中执行替换。最后的 “g” 标记表示替换行中的所有匹配点。如果仅仅对当前行进行操作,那么只要去掉%即可
如果你有一个象 “thirtyfour” 这样的单词,上面的命令会出错。这种情况下,这个单词会被替换成”thirty4″。要解决这个问题,用 “\<” 来指定匹配单词开头:
:%s/\
显然,这样在处理 “fourty” 的时候还是会出错。用 “\>” 来解决这个问题:
:%s/\/4/g
如果你在编码,你可能只想替换注释中的 “four”,而保留代码中的。由于这很难指定,可以在替换命令中加一个 “c” 标记,这样,Vim 会在每次替换前提示你:
:%s/\/4/gc
2,删除多余的空格
要删除这些每行后面多余的空格,可以执行如下命令:
:%s/\s\+$//
命令前面指明范围是 “%”,所以这会作用于整个文件。”substitute” 命令的匹配模式是
“\s\+$”。这表示行末($)前的一个或者多个(\+)空格(\s)。替换命令的 “to” 部分是空的:”//”。这样就会删除那些匹配的空白字符。
3,匹配重复性模式
星号项 “*” 规定在它前面的项可以重复任意次。因此:
/a*
匹配 “a”,”aa”,”aaa”,等等。但也匹配 “” (空字串),因为零次也包含在内。星号 “*” 仅仅应用于那个紧邻在它前面的项。因此 “ab*” 匹配 “a”,”ab”,”abb”,”abbb”,等等。如要多次重复整个字符串,那么该字符串必须被组成一个项。组成一项的方法就是在它前面加 “\(”,后面加 “\)”。因此这个命令:
/\(ab\)*
匹配: “ab”,”abab”,”ababab”,等等。而且也匹配 “”。
要避免匹配空字串,使用 “\+”。这表示前面一项可以被匹配一次或多次。
/ab\+
匹配 “ab”,”abb”,”abbb”,等等。它不匹配 后面没有跟随 “b” 的 “a”。
要匹配一个可选项,用 “\=”。 例如:
/folders\=
匹配 “folder” 和 “folders”。
4,指定重复次数
要匹配某一项的特定次数重复,使用 “\{n,m}” 这样的形式。其中 “n” 和 “m” 都是数字。在它前面的那个项将被重复 “n” 到 “m” 次 (|inclusive| 包含 “n” 和 “m”)。例如:
/ab\{3,5}
匹配 “abbb”,”abbbb” 以及 “abbbbb”。
当 “n” 省略时,被默认为零。当 “m” 省略时,被默认为无限大。当 “,m” 省略时,就表示重复正好 “n” 次。例如:
模式 匹配次数
\{,4} 0,1,2,3 或 4
\{3,} 3,4,5,等等
\{0,1} 0 或 1,同 \=
\{0,} 0 或 更多,同 *
\{1,} 1 或 更多,同 \+
\{3} 3
2. char a[3]=“ab”;编译通过 char a[3]; a=“ab”;就回报错
您好,很高兴能解答您的问题。
C语言中字符串不能直接赋值,需要通过strcpy函数,所在头文件名为string.h
#include <stdio.h>
#include <string.h>
void main ()
{
......
char a [3];
strcpy (a, "ab");
......
}
3. 有以下程序,经编译链接后生成可执行文件ex.exe,若运行时输入以下带参数的命令行:ex ab
argv数组第0个元素保存是程序的路径啊,下标1是ex,下标3是efg,下标5是k44,strlen获取的长度不包括终止符'\0',长度应该是8啊。怎么看到的答案都是6啊。是因为时代的变迁,现在版本多了个路径了?
4. abl文件怎么打开
如下:
PDF格式,需先下载PDF浏览器如Adobe reader9方可打开文件。
5. AB格式文件用什么程序编辑打开
AB文件格式是一种音频 格式基于Android(安卓)的手机音频播放器的音频格式,可以通过Ambling BookPlayer 播放器播放,并可以通过该软件将ab格式转化成mp3格式。
6. 宝马X4如何匹配电子水泵,更换了冷却液
7. 宝马叉4如何匹配电子水泵,更换了防冻液
你好!用宝马专检ISTA服务功能里面,执行相关的ABL文件即可。望采纳,谢谢!
8. 用C++编译程序时为什么我在里程,时间,平均速度后边输入单位就有错误
1.多态类中的虚函数表是Compile-Time,还是Run-Time时建立的?
2.将一个 1M -10M 的文件,逆序存储到另一个文件,就是前一个文件的最后一个
字符存到新文件的第一个字符,以此类推。
3.main主函数执行完毕后,是否可能会再执行一段代码?
4.一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?
在子类的空间里,有没有父类的这个函数,或者父类的私有变量?
5.给一个字符串、例如 “ababc”要求返回“ab”. 因为“ab”连续重复出现且最长。
用C/C++语言写一函数完成该算法,给出复杂度
6.对序列1、1、2、3、5、8、13。。。。 是Fab..数列
2、3、5、13...是Fab..质数数列,因为他们与自己前面的Fab...数列都互质
给出k,返回第k小的Fab..质数
7.101个硬币100真、1假,真假区别在于重量。请用无砝码天平称两次给出真币重还是假币重的结论。
8.完成字符串拷贝可以使用 sprintf、strcpy 及 memcpy 函数,请问这些函数有什么区别,你喜欢使用哪个,为什么?
9.变量的声明和定义有什么区别?
10.请写出下面代码在 32 位平台上的运行结果,并说明 sizeof 的性质:
#include <stdio.h>
#include <stdlib.h>
9. 请问怎么中WORK SHOP
如何使用
用HTML Help Workshop制作chm文件很方便,下面就以“中华搜索宝CHINASSB”的软件说明为例,介绍制作的具体步骤。
一、制作前的准备工作
由于chm帮助文件是基于HTML文件特征的,所以前期编写HTML文件的准备工作很重要。HTML Help Workshop的角色就像是一个总管,以一个项目控制整个项目的各类型文件,然后将各类型的文件编译成独立的chm文件。它的每个主题就是一个HTML文件,它的结构有点类似平常我们所见到的目录树,但是它的主题包括目录及文件。主题文件可以用任何一个HTML编辑器进行编辑,也可用HTML Help Workshop编辑,唯一美中不足的是它的编辑器是纯文字模式,对于HTML文件而言不具备所见即所得的效果。
如果你不会制作网页,没关系,你也可以通过Word 97或Word 2000,将Word格式的主题文件转换成HTML格式。
二、创建项目文件
第一步:点击HTML Help Workshop菜单栏中的“File/New”命令,这时出现“选择新建内容”的对话框,选中“Project”。
第二步:,按“OK”按钮后,将“Convert WinHelp Project”这个选项留空,继续下一步。
第三步:点击“Browse”按钮,设置放置项目文件的目录及项目文件名,完成后,继续下一步。
第四步:因为我们已经事先建好了html文件,此时请选择“HTML file”,继续下一步。
第五步:点一下“Add”按钮并加入已经编辑好的主题文件(也就是设置成首页面的HTML文件)。点击“下一步”,最后点击“完成”按钮,新的项目即已新增完成。
现在就可以进入HTML Help Workshop工作窗口。在窗口的上方是3个卷标,分别是“Project(项目)”、“Contents(目录)”、“Index(索引)”。
在“Project”卷标的左侧是7个按钮,它们的功能名称自上而下分别是:“Change project options(改变项目选项)”、“Add/Remove topic files(添加/删除主题文件)”、“Add/Modify window definitions(添加/修改窗口定义)”、“HtmlHelp API information(HTML帮助API信息)”、“View HTML source(校验HTML源文件)”、“Save Project Contents and Index files(保存项目、目录和索引文件)”、“Save all file and Compile(保存全部文件并编译)”。
第六步:点击“Project”编辑窗口下方的“Change Project Options”按钮后,会弹出一个“Options”对话框。在这个对话框的“General”卷标的“Title”中输入标题“中华搜索宝CHINASSB”,编译后这个标题将出现在chm文件窗口的标题栏中。在“File”卷标中选上“Automatically create contents file(.hhc) when compiling”。
chm文件的“Search(搜索)”选项允许用户在所有主题文件中搜索字、词或短语,将它们的标题显示出来,而且用醒目的方式显示在主题中。在“Compiler”卷标中选上“Compiler full-text search information”,即可支持全文检索功能。
第七步:点击“Save project file and compile”按钮,虽然此时已经可以观看结果了,不过,我们要再多作一项设定让最后的成品再完整些。
三、创建目录文件
编辑目录文件是制作chm文件最关键的工作。目录文件应该包含一个chm文件所有目录(主题),而每个目录又包含条目标题(名称)和该条目的主题文件,要避免条目标题与对应的主题不一致的情况出现。等所有目录都添加好后目录就算完成了。
第一步:点击HTML Help Workshop工作窗口的“Contents”卷标,这时系统弹出一个对话框,提示你“项目”还没有关联目录文件(.hhc),选择“Create a new contents file”,点击“OK”按钮后将创建一个新的目录文件。
第二步:请指定一个新目录文件名和存放路径,点击“保存”后出现目录编辑窗口,目录编辑窗口的左侧有11个按钮。
第三步:根据需要插入标题(类似资源管理器中的目录)或页面(类似资源管理器中某目录下的文件),按下“Insert a heading(插入标题)”或“Insert a page(插入页面)”按钮,都会弹出“Table of Contents Entry”对话框,在“Entry title”输入框中输入条目的标题,并根据情况选定对应的主题文件,单击“Entry title”下的“Add”按钮,在弹出的对话框下面的“File or URL”输入框中输入文件名或URL地址并确定。
第四步:如果在单击“Insert a page”按钮之前所选择的条目不包含别的条目,也不被别的条目所包含,那么会询问“Do you want to insert this entry at the beginningof the table of contents?”,选择了“是”会增加起始条目(一级条目),选择了“否”会增加一个子条目。
标题可以分为多级,要按照制作的内容统一考虑。如果觉得不满意,可以用左侧的箭头进行调整,也可以选定该条目,单击鼠标右键,不但可以调整,还可以插入标题、主题或目录文件。
四、创建索引文件
索引文件(hhk)也是一个HTML文件,它包含若干个关键词,当用户打开chm文件后,单击索引标签并输入一个关键词后,chm文件将显示与这个关键词有关的主题的列表,使大家非常方便地找到相关主题。
第一步:点击HTML Help Workshop工作窗口的“Index”卷标,这时系统弹出一个对话框,提示你“项目”还没有关联索引文件(.hhk),选择“Create a new contents file”,点击“OK”按钮后将创建一个新的索引文件。
第二步:请指定一个新索引文件名和存放路径,点击“保存”后出现索引编辑窗口,索引编辑窗口的左侧有11个按钮。
第三步:单击“Insert a keyWord”按钮,出现“Index Entry”对话框,在“General”选项的“KeyWord”输入框中输入关键词,再单击“Add”按钮添加与该关键词相关联的主题文件。如果想跳转到另一个关键词,在“Index Entry”对话框中按“Advance”选项,选中“Target is Another KeyWord”,再单击“General”选项的“KeyWord”输入框中输入关键词,再单击“Add”按钮添加与要跳转的关键词相关联的主题文件,单击“OK”按钮。最后单击“确定”按钮,并按“Save file”进行存盘。
五、最后的设置工作
第一步:选择“Project”卷标,点击“Change Project Options”按钮,在“File”卷标的“Content file”项目中,点击“Browse”指定为toc.hhc。在“Index file”项目中,点击“Browse”指定为index.hhc。
第二步:重新点击“Save project file and compile”按钮进行存盘编译。
(下转第11版)
(上接第10版)
第三步:最后点击主菜单“View/Compiled file”,通过“Browse”指定该chm文件的目录及文件名即可看到我们的作品了。
的确也够简单的了,只要有完整的HTML源文件,激活Html Help Workshop创建一个新的项目文件,将第一个html(通常是default.htm或index.html)加进项目,存盘并编译就大功告成。同样的一组HTML文件,放在网站上是一页一页的网页,变成单一的chm后,则可用作软件辅助说明,而且已经内建了全文检索功能。
上述介绍的只是制作chm帮助文件的基本步骤。但它的功能远非这些,如:可向HTML文件中插入HTML Help ActiveX控件、Java脚本、弹出式窗口等等。还可将已有的chm文件解压缩变回原来的HTML文件。
10. Makefile 是如何工作的其中的宏定义分别是什么意思
你问的问题就好比一个国家是如何运作的。其中各个部委都是干什么的。因此有点难以回答。不过可以从以下几点进行简单解释:
makefile是一个文本文件,用于描述程序源代码之间以及程序可执行代码与源代码之间的依赖关系。
简单例子:最终编译生成的可执行文件ab.out是由a.c和b.c共同编译生成的,那么make文件就要写两行:
ab.out: a.c b.c
gcc a.c b.c -o ab.out
第一行描述了依赖关系,第二行描述了依赖关系是如何达成的。
更复杂的例子:最终编译生成的可执行文件ab.out是由a.c和b.obj功能编译生成的,而b.obj是由b1.c和b2.c编译而成,那么要写好多行:
ab.out: a.c b.obj
gcc a.c b.obj -o ab.out
b.obj: b1.c b2.c
gcc -c b1.c b2.c -o b.obj
这就是makefile的工作方法。
关于宏定义,简单点说就是文本替换。为了方便使用不同的编译器或者编译环境以及硬件环境,一些复杂的软件使用了大量的宏定义来代替诸如“gcc”这样的最基本的东西。不要太在意红定义,多看,从简单的看起,就会了。