vi常见问题
在vi手册编排过程中应注意哪些问题
在vi手册编排过程中应注意哪些问题在编排vi手册的过程中,我们需要注意以下几个问题:
2.内容结构和组织:手册的内容结构需要清晰且易于理解,通常可以按照功能或主题进行组织。
我们需要将类似的内容归类在一起,并使用标题、子标题、段落等元素来帮助读者快速浏览和定位所需信息。
4.使用清晰的语言和术语:手册中的语言应该简洁明了,避免使用过于专业或晦涩的术语。
我们需要使用通俗易懂的语言,同时对于一些技术术语,可以提供解释或者上下文说明,以便读者更好地理解。
7.提供索引和目录:为了方便读者查找所需信息,手册应该提供清晰的索引和目录。
索引可以根据关键词和主题进行分类,而目录可以按照内容的结构和组织进行编排。
这样读者可以根据自己的需求快速找到所需信息。
综上所述,编排vi手册需要考虑读者需求、内容组织、详细程度、语言与术语、示例和图片、实用技巧与最佳实践、索引与目录以及定期更新等方面。
只有考虑到这些问题,我们才能编排出一本易于理解、实用性强的vi手册。
LINUX VI 编辑器经常卡死怎么办?
Linux在使用vi编辑器的时候,vi出现了卡死的情况,且这种情况经常发生,究竟是什么原因造成vi卡死的呢?下面小编就给大家介绍下vi卡死的解决方法。
开启了另一个终端对进出strace后,发现卡死在connect函数
Process 12251 attached– interrupt to quit
connect(4, {sa_family=AF_FILE, path=/dev/gpmctl。
.}, 13
连接/dev/gpmctl时出现阻塞。
/dev/gpmctl是与鼠标相关的驱动,为虚拟终端提供鼠标支持。
在.vimrc文件中有关于这个参数的设置:
In many terminal emulators the mouse works just fine, thus enable it.
if has(‘mouse’)
set mouse=a
endif
set mouse=a这一项在终端类型为xterm时可以正常使用,在终端为linux(未时能gpm)时会出现问题。
解决方法:
1) 注释掉个设置
2) 更改这个设置:
if $TERM !=linux
set mouse=a
endif
上面就是Linux vi经常卡死的解决方法介绍了,你使用vi的过程中是否也出现了卡死情况呢?是否是卡在connect函数呢?可尝试本文的方法进行解决。
vi手册常见问题
vi手册常见问题
VI手册,即视觉识别系统手册,是企业形象识别系统中的重要组成部分。
然而,企业在制作和使用VI手册时,可能会遇到一些常见问题。
以下是一些
常见问题及其解决方案:
1. 设计元素不统一:在VI手册中,各项视觉元素应该保持统一。
这是为了
确保企业的形象和品牌信息能够被清晰、一致地传达。
如果设计元素不统一,可能会导致视觉效果混乱,影响企业的形象。
2. 颜色和字体使用不当:颜色和字体是VI手册中的重要元素,如果使用不当,可能会影响企业的形象和品牌的传达。
例如,在不同的应用场景中,颜色的意义和效果可能会有所不同,如果使用不当,可能会引起误解或不满。
同样,字体的选择也需要考虑到易读性和美感,以确保信息能够被清晰地传达。
3. 标识不清晰:企业的标识是VI手册的核心元素,必须清晰、简洁、易于
识别。
如果标识设计得太复杂或太模糊,可能会导致识别度降低,影响企业的形象和品牌的传达。
4. 缺乏统一的管理和维护:由于市场环境的不断变化和企业发展的需求,VI 手册需要不断地进行更新和维护。
如果没有统一的管理和维护,可能会导致VI手册的过时或混乱。
为了解决上述问题,企业需要采取一系列措施。
首先,需要确保设计元素的高度统一,包括颜色、字体、图像等。
其次,标识设计应简洁、清晰、易于识别。
此外,VI手册应定期进行更新和维护,以适应市场环境的变化和企业发展的需求。
同时,企业还应建立统一的管理和维护机制,确保VI手册的准确性和有效性。
初学LabVIEW数据采集中常见的问题
初学数据采集中常见的问题经常在论坛上会碰到一些会员朋友发贴提问数据采集的问题,其中很大一部分是初学者刚接触数据采集,对其中的一些基本概念还没有太多的了解,这里将这些问题集中一下,做个总结.由于个人接触的板卡以NI的为主,这里的内容只针对NI的数据采集卡,不保证适用于其它公司的数据采集卡.1,数据采集的时候数据会不会丢失?——这是最常见的一个问题,刚开始学数据采集的时候都会在考虑,如果软件上读取数据的循环运行得不够快时,比如100K采样率的时候,软件上循环肯定没这么快,数据是不是就丢失了?首先我们要清楚的是,数据采集功能是由数据采集卡来完成的,软件只是将采集到的数据接收到电脑上面过来,数据采集卡有自身的办法来解决硬件采集速度快过于软件读取速度的问题.这需要对数据采集过程中数据的传输作一个介绍:外部的信号进入数据采集卡后,经过各种处理转换,先进入数据采集卡自身的缓冲区里面,缓冲区是先进先出(FIFO,First In First Out)的,NI的数据采集卡应该是都有板载的缓冲区,区别在于缓冲区的大小而已。
然后当板载缓冲区中的数据量到了一定的条件时,数据采集卡将缓冲区的数据上传到计算机内存中,一般是以DMA(直接内存访问)方式传入的,但也可以设置为其它方式,比如中断等.上传数据的方式和时机可以通过DAQmx的属性节点进行设置或查看,DAQmx中默认是使用DMA传输方式,传输条件是板载内存非空。
以下蓝色部分摘自NI网站:数据传输方式包括直接内存访问(DMA),中断请求(IRQ)和可编程I/O。
DMA是一种DAQ 板卡和PC内存间直接通讯的传输方式,不再需要处理器的干预。
NI ”MITE”芯片可以处理与PCI总线间的所有总线协议。
IRQ传输方式会置高信号并中断处理器,然后由处理器处理数据传输。
IRQ 传输通常很低,只有150 kb/s,而DMA可以高达20 Mb/s.IRQ 传输速率与使用的系统设备相关,如处理器速度等。
LabVIEW代码中常见的错误
LabVIEW代码中常见的错误发现了程序的问题再回头去调试,在查找程序错误时就不可避免地要花⼤量时间。
要调⾼开发效率,最好是在编写代码时就避免⼀些常见的低级错误,这样可以节约⼤量的调试时间。
有些编程错误差不多是每个LabVIEW 程序员都曾遇到过的。
在编写相关代码的时候,对这些问题多留⼼⼀下,就可以⼤⼤减少调试时间。
1. 数值溢出图1:数值溢出错误图1 中的VI 只做了⼀个简单乘法300*300 ,不加思索就应该知道答案是90000,但程序中乘法节点给出的结果却是24464。
乘法节点是不会错的,错误是由于程序中使⽤的数据类型是I16。
I16 能表⽰的最⼤数⽬只有32767,所以在乘法计算中出现了溢出。
避免此类错误的⽅法是,在程序中使⽤短数据类型时,⼀定要确认程序中的数据绝不会超出该类型可以表⽰的范围。
2. For 循环的隧道循环相关的介绍可以参考《循环结构》。
数据传⼊传出循环结构可以通过移位寄存器(Shift Register)和隧道(Tunnel)两种⽅式。
隧道⼜有两种类型:带索引的和不带索引的。
移位寄存器⼀般⽤在需要局部变量的情况下,循环运⾏⼀次的输出数据要作为下次运⾏的输⼊数据使⽤;循环外的数组数据通过带索引的隧道在循环体内就可以直接得到数组元素;除此之外,简单地在循环内外传递数据,使⽤⼀般的隧道就可以了。
值得⼀提的是,如果⼀个数据传⼊循环体,⼜传出来,那么就应该使⽤移位寄存器或带索引的隧道来传递这个数据,尽量不要使⽤不带索引的隧道。
因为For 循环在运⾏时,循环次数有可能为0。
在循环次数为0时,⼤多数情况,⽤户还是希望传出循环的数据就是传⼊值,但使⽤不带索引隧道时,输⼊值有时会被丢失的。
如果使⽤移位寄存器,即使循环次数为0,也不会丢失传⼊的数据。
因为移位寄存器在循环上的两个接线柱指向的实际是同⼀块内存(参考:LabVIEW 程序的内存优化),⽽输⼊输出两个隧道指向的是不同的内存,数据不⼀定相同。
vim模式下报错
使用命令:w!强制存盘即可,在vim模式下,键入以下命令::w!
存盘后在使用vim命令检查是否保存,如未保存,编辑后重复以上操作。
或者报出linux中vi保存文件时的“Can't open file for writing”E212: Can't open file for writing
Press ENTER or type command to continue
出现这个错误的原因可能有两个:一是当前用户的权限不足,二是此文件可能正被其他程序或用户使用。
这里的错误原因是前者,解决方案是在使用vi命令打开文件时,前面加上sudo 来临时提供管理员权限,即使用命令“sudo vi grub.cfg”打开编辑文件。
由此看来,sudo 命令是很有用的,当我们执行某种操作系统提示诸如“operation not permitted”等权限不足信息时,我们很多时候都可以在命令前面加上sudo来解决权限不足问题。
Linux_安装linux后,VI不显示颜色的问题的解决方法
新安装的虚拟机Linux系统,vi 脚本(*.sh)时候没有颜色高亮的解决办法
首先,确定系统是否安装vim-enhanced,vi编辑器强化插件,如果没有安装下载vim-enhanced-xxxx-xx.rmp包安装
运行: yum –I vim-enhanced-xxxx-xx.rmp
然后,确认系统是否已安装一下三个套件
[root@localhost example]# rpm -qa|grep vim
vim-common-7.2.411-1.6.el6.x86_64
vim-minimal-7.2.411-1.6.el6.x86_64
vim-enhanced-7.2.411-1.6.el6.x86_64
[root@localhost example]#
或者用yum积极安装
[root@]# yum –y install vim-enhanced
安装完毕后,vi一个.sh文件试试,如果还是不行修改软练级文件:
[root@]# ll /bin/vi
把默认路径的vi路径:/bin/vi 改成增强后的路径/usr/bin/vim
修改原来vi文件链接:mv /bin/vi /bin/vi.bak
将vim的路径软连接到/bin/vi: ln –s /usr/bin/vim /bin/vi
顺便可以改下VI的设置,对编写脚本更方便(Perl):
[root@]# vi /etc/vimrc
Syntax on
Set hlsearch
Set nu
Set tabstop=4
Set shiftwidth=4
Set expandtab
Set shiftround。
LabVIEW常见的79个问题解析
LabVIEW常见的79个问题解析1、Labview如何实现由一个事件引发其他三个事件的顺序发生,且这三次事件间的时间间隔为50ms?A:可以引用状态机来设计程序,将触发事件作为状态机的状态控制参数,后面发生的三个事件依次作为状态机的三个顺序状态,设置状态切换时间间隔为500ms.2、labview在主程序通过局部变量不能实时看子vi的参数A:通过局部变量只能得到子vi运行完之后的结果。
可以用control reference 方式,在子vi加一个属性节点引出一个reference。
主程序里把需要显示的控件创建一个reference连到子vi的reference输入端口。
另外也可以用vi server方式实现。
3、如何在一个graph或chart显示多个Y轴刻度,并且使每个通道对应每个刻度?A:在前面板上,右键点击刻度,然后选择duplicate scales,就会创建一个新的刻度。
然后再点击右键,选择swap sides,就可以让刻度显示在图的左边或右边。
然后右键右上角的plot legend上的曲线plot,选择Y scales然后就可以选择与该曲线相应的Y轴SCALES。
多条曲线对应多条Y轴的刻度时,是同样的方法。
4、如何从labview中打开一个pdf文件?A:最简单的方法:用system exec.vi实现,在system exec.vi 的command line 端口创建一个常量,输入adobe reader 的路径,再加上文件名等几个参数就可以实现上述要求。
举例如下:如果要拉开位于c盘的1234.pdf文件可以这样写“C:\Programfiles\Acrobt 7.0\Acrobat\Acrobat.exe”/t “C:\1234.pdf” “username”其中C:\Program files\Adobe\Acrobt 7.0\Acrobat\Acrobat.exe是Adobe Reader 的安装路径,/t是命令参数,C:\1234.pdf则是要打开的文件名,最后的username是用户的名字。
LabVIEW编程中常见问题与解决方法
LabVIEW编程中常见问题与解决方法LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一款广泛应用于科学与工程领域的视觉化编程环境。
它的独特之处在于,使用者可以通过拖拽和连接图形化编程元素来构建程序,而无需编写传统的文本代码。
然而,由于其特殊的编程方式和复杂的功能,LabVIEW编程过程中常常会遇到各种问题。
本文将介绍LabVIEW编程中常见问题,并提供相应的解决方法。
一、VI无法运行1. 问题描述:当尝试运行一个VI(Virtual Instrument)时,LabVIEW出现错误或者无响应。
解决方法:- 检查是否安装了适当的软件环境(如运行时引擎或特定模块)。
- 检查VI中使用的所有子VI或函数是否被正确地调用或配置。
- 检查是否有硬件设备连接问题或者相关设备驱动是否正确安装。
二、数据处理错误1. 问题描述:LabVIEW在执行数据处理操作时,产生了错误的结果或者没有得到期望的结果。
解决方法:- 检查数据的输入是否正确,并确保正确配置了对应的数据类型。
- 检查数据处理模块的参数设置,例如滤波器的截止频率或者函数的操作参数。
- 使用适当的数据结构和算法,以确保正确的数据处理过程。
- 进行调试,并通过添加数据显示或打印变量值等方式进行验证。
三、界面设计问题1. 问题描述:LabVIEW的用户界面显示效果不如期望的那样美观或者布局混乱。
解决方法:- 使用合适的面板布局工具和控件,确保界面的整洁美观。
- 使用适当的颜色和字体,以提高界面的可读性和用户体验。
- 充分利用丰富的LabVIEW组件库,添加图标、按钮和指示器等交互元素。
- 进行界面的测试和优化,以提高界面的响应速度和用户友好性。
四、性能问题1. 问题描述:LabVIEW程序在运行过程中出现了延迟、卡顿或者响应速度较慢的情况。
解决方法:- 尽量使用并行编程技术,以提高程序的性能和效率。
vi手册常见问题
vi手册常见问题全文共四篇示例,供读者参考第一篇示例:VI手册是一种非常重要的工具,它为公司和组织提供了一致性和专业性的品牌形象。
然而,有时候在使用VI手册的过程中会遇到一些问题,如果不及时解决,可能会影响到品牌形象的统一性和专业性。
本文将介绍一些关于VI手册常见问题,以及解决这些问题的方法。
一、VI手册内容不清晰或过于复杂有些VI手册内容难以理解,或者内容过于复杂,导致员工难以遵循。
这可能会影响到品牌形象的一致性。
解决这个问题的方法是:1. 简化内容:将VI手册中的内容尽量简化,用清晰明了的语言和图片来表达,避免使用过于专业化的术语和复杂的图表。
2. 定期更新:VI手册的内容应该及时更新,随着公司的发展和变化,及时调整内容,确保内容的准确性和实用性。
3. 培训和指导:对员工进行VI手册的培训和指导,帮助他们更好地理解和遵循VI手册的规定。
二、VI手册与实际操作不符有些时候公司制定的VI手册与实际操作不符,这可能是由于员工的不注意或公司内部流程的问题导致的。
解决这个问题的方法是:1. 持续监督:定期检查公司的实际操作是否符合VI手册的规定,如有不符合的情况及时纠正。
2. 制定流程:公司应该建立完善的流程,确保VI手册的规定能够贯彻到所有部门和岗位。
3. 激励激励员工:对于遵守VI手册的员工给予奖励,激发员工遵守VI手册的积极性。
三、VI手册的执行效果不明显有些公司的VI手册虽然制定了,但执行效果不明显,员工没有很好地遵循VI手册的规定。
解决这个问题的方法是:1. 强化宣传:公司应该加大对VI手册的宣传力度,让员工了解VI 手册的重要性和执行标准。
2. 设立激励措施:对于遵守VI手册的员工给予奖励,激发员工的积极性,同时对违反VI手册的员工进行惩罚。
3. 定期评估:定期评估VI手册的执行效果,针对存在的问题及时调整和改进。
四、VI手册的更新不及时随着公司的发展和变化,VI手册的内容也需要随之更新,但有些公司更新不及时,导致VI手册内容与实际操作脱节。
品牌标志错误的运用vi排版
品牌标志错误的运用vi排版品牌VI设计的误区一定要避免当谈到VI设计,这个品牌时,许多人可能会认为它不是设计一个标志。
这是一个错误的认识。
品牌VI的设计不仅是logo设计,而且标志也与品牌不同。
还有很多人对品牌VI的设计有些误解。
让我们和品牌设计一起看看1.品牌等于标志Logo是一个符号或者一个logo,任何一个可以表达某种特殊含义的符号都可以说是LOGO。
Logo可以代表品牌,但绝对不等同于品牌。
这个问题需要搞清楚。
现在市场上一些非常好的品牌并不都是靠logo来识别的。
比如巴宝莉的logo就是格子。
2.品牌六的设计是cis有人把品牌VI的设计当成CIS,这是绝对错误的。
CIS只是一个工具,可以保证企业的各个方面都是一样的。
CIS是管理品牌形象的工具,但不是品牌本身。
虽然很多企业还是用CIS系统来管理自己的企业形象,但这只是为了保证所有logos一致,没有区别。
CIS只是一个简单的管理工具,无法设计品牌,所以CIS和品牌VI设计是完全不同的东西。
3.品牌VI的设计是营销有人认为品牌VI的设计是营销,这也是不对的。
虽然品牌设计的最终目标是为营销提供帮助,但这并不意味着品牌设计在营销。
很多企业的营销部门都在思考如何提高管理和品牌,但他们讨论的更多的是如何更好地管理自己的产品,最终可以帮助他们完成销售任务,更好地宣传自己的产品,拓展销售渠道,他们只关心如何提高销售。
但是一个企业设计品牌VI的最终目的仅仅是为了提升营销吗?真的够多卖产品吗?显然,事实并非如此,因为品牌设计的目的绝对不仅仅是如何销售产品,而是让更多的消费者在看到或使用产品时有一个非常好的体验。
以上三个方面是我们很多人对VI设计品牌的一些误解,如果不清楚这些问题,很可能设计会走弯路,达不到预期的效果。
vi常见问题
往往是其各种衍生版本,比如说vim。下面就vim中如何语法高亮简单解释一下。
首先,确定一下你所用的操作系统,如果是windows,那么默认的配置文件
就可以工作了。如果还不行,可以用鼠标从syntax菜单下选择一下适合你的
文件类型(新版本的gvim默认把文件类型选择关闭了,需要点开,然后按照
(3)如何复制粘贴?
复制
方法一:先ma标记当前位置为a,移动到新的位置,再y`a或者y'a复制从标记位置a到
当前位置的内容。`和'的区别:`以字符为单位,'以行为单位。这个方法应该是所有vi
都适用的。(如果不对请指正。)
方法二:按v或V或Ctrl+V进入visual模式,移动光标选择一段内容,按y。三者的区别:
endw
如果位数不足需要在前面补零,可以用Ctrl-V块选择,然后I插入0。
:%s/\i\+/&/g words
:%s/^ lines
:%s/the/&/g "the" anywhere
:%s/\<the\>/&/g "the" as a word
你可能希望复位'hlsearch'或者使用":nohlsearch"。
(8)如何去掉高亮搜索?
方法一::nohlsearch
方法二:/awertgvcxz(查找一个肯定不存在的字符串)
估计这是最难回答的一个问题了。:-)
不过首先应该确定你的VIM版本是否足够新,功能是否完整。使用:version命令查看你
的VIM版本以及功能。一个常见的情况,如果你用的是RedHat系统,请确定安装了
最新整理Linux vi 编辑器经常卡死是什么原因该怎么解决
L i n u x v i编辑器经常卡死是什么原因该怎么解决宕机,指操作系统无法从一个严重系统错误中恢复过来,或系统硬件层面出问题,以致系统长时间无响应,而不得不重新启动计算机的现象。
不过L i n u x在使用v i 编辑器的时候,v i出现了卡死的情况,且这种情况经常发生,究竟是什么原因造成v i卡死的呢?下面小编就给大家介绍下v i卡死的解决方法。
方法步骤开启了另一个终端对进出s t r a c e后,发现卡死在c o n n e c t函数P r o c e s s12251a t t a c h e d i n t e r r u p t t o q u i tc o n n e c t(4, {s a_f a m i l y=A F_F I L E,p a t h=/d e v/g p m c t l。
.}, 13连接/d e v/g p m c t l时出现阻塞。
/d e v/g p m c t l是与鼠标相关的驱动,为虚拟终端提供鼠标支持。
在.v i m r c文件中有关于这个参数的设置:I n m a n y t e r m i n a l e m u l a t o r s t h e m o u s e w o r k s j u s t f i n e, t h u s e n a b l e i t.i f h a s(m o u s e)s e t m o u s e=ae n d i fs e t m o u s e=a这一项在终端类型为x t e r m时可以正常使用,在终端为l i n u x(未时能g p m)时会出现问题。
解决方法:1)注释掉个设置2)更改这个设置:i f$T E R M!=l i n u xs e t m o u s e=ae n d i f补充:预防死机的小技巧1、不要在同个硬盘安装多个操作系统2、不要一次性打开多个网页浏览3、在关闭电脑时,不要直接按电源按钮,否则会导致文件丢失,下次使用不能正常开机导致死机4、别让C P U、显卡超频,电脑温度过高5、及时清理机箱内的灰尘6、更换电脑硬件配置时,一定要插牢固7、不要使用来历不明的软件和光盘,以免传染病毒8、对系统文件或重要文件,最好使用隐含属性,以免因误操作而删除或覆盖这些文件9、在安装应用软件时,若提示是否覆盖当前文件,一定不要覆盖,通常当前的系统文件是最好的10、在运行大型应用软件时,不要在运行状态下退出以前运行的程序,否则会引起整个W i n d o w s崩溃相关阅读:死机宕机实例介绍自20**3月11日下午5点起,据苹果用户反应A p p S t o r e、M a c A p p S t o r e、i T u n e s S t o r e均为宕机状态,i T u n e s C o n n e c t无法登陆,iB o o k s商店没有响应。
vi设计习题答案
vi设计习题答案
Vi设计习题答案
在学习计算机编程的过程中,Vi编辑器是一个非常重要的工具。
它可以帮助程
序员快速、高效地编辑文本文件,提高工作效率。
为了帮助大家更好地掌握Vi
编辑器的使用,下面我们来看一些Vi设计习题的答案。
1. 如何在Vi编辑器中进行文本的复制和粘贴?
答:要复制文本,首先按下“ESC”键,然后按下“v”键来选择要复制的文本,接着按下“y”键进行复制。
要粘贴文本,将光标移动到要粘贴的位置,然后按下“p”键即可。
2. 如何在Vi编辑器中进行文本的查找和替换?
答:要查找文本,首先按下“ESC”键,然后按下“/”键,输入要查找的文本,按下“Enter”键即可。
要替换文本,按下“ESC”键,然后输入“:s/要替换的文本/替换后
的文本/g”即可进行替换操作。
3. 如何在Vi编辑器中进行文本的撤销和重做?
答:要撤销操作,按下“ESC”键,然后按下“u”键即可撤销上一步操作。
要重做
操作,按下“ESC”键,然后按下“Ctrl + r”键即可重做上一步操作。
通过这些设计习题的答案,相信大家对Vi编辑器的使用已经有了更深入的了解。
希望大家能够多加练习,熟练掌握Vi编辑器的各种操作,提高自己的编程技能。
Vi编辑器是一个非常强大的工具,掌握它将对你的编程之路大有裨益。
vi的调试方法
vi的调试方法VI(Visual Interface)是一种常用的文本编辑器,它被广泛应用于UNIX和Linux系统中。
在进行VI的调试时,有一些方法可以帮助我们快速定位和解决问题。
本文将介绍VI的调试方法,以帮助读者更好地运用这一工具。
首先,对于VI的调试方法,我们需要了解VI的基本使用。
VI是一个高度定制化的编辑器,用户可以通过自定义配置来满足个人需求。
因此,当出现问题时,首先需要检查VI的配置文件是否有误。
可以通过运行vi -v命令来检查VI的配置文件是否正确加载。
如果配置文件有误,可以尝试恢复默认配置文件或重新编辑配置文件来解决问题。
其次,VI的调试方法之一是检查语法错误。
在编辑代码或配置文件时,经常会出现语法错误,这些错误会导致VI无法正常工作。
为了解决这些问题,我们可以使用VI提供的语法检查功能。
可以通过运行命令:set syntax来检查当前文件的语法,并找出可能有问题的行。
这样可以帮助我们快速定位语法错误,并进行修复。
另外,VI的调试方法还包括检查插件和扩展的使用。
VI可以通过安装各种插件和扩展来增加功能和提升效率。
然而,有时候这些插件和扩展可能会引起VI的异常行为或冲突。
因此,在调试时,我们需要检查已安装的插件和扩展,并尝试禁用它们来确定问题的根源。
可以通过运行命令:scriptnames来查看当前加载的插件和扩展,然后逐个禁用它们,以确定是否会影响VI的正常运行。
另一个重要的调试方法是使用VI的调试模式。
VI提供了一个调试模式,可以在编辑文件时逐步执行代码。
这对于调试复杂的脚本非常有用。
可以通过在命令模式下运行命令:debug filepath来进入调试模式,并使用常见的调试命令(例如:n,s,c等)来逐步执行代码。
调试模式可以帮助我们找出代码中的错误和问题,并进行修复。
此外,VI还提供了一些其他的调试工具和技巧,例如使用命令:mesage来查看错误信息,使用命令:set all来查看当前的配置信息等。
vi 命令常见问题解答
vi 命令常见问题解答作者:译者Elale[vi-faq中文版]0.0 - 引言 -- 我怎样用这个FAQ这个文档分为了几个部分.首先,第0节和第1节介绍了什么是vi;第2节则收录了很多新学者的问题,一些对vi没有很多经验的人也经常问这些问题.这里面包括诸如“命令模式和插入模式之间的区别”,以及“我怎样拷贝和粘贴”之类的问题.第3节是面向vi的中级用户的,它从问题“我如何查找和替换”开始,逐步深入,直到对vi里面的宏(Macro)的用法讨论为止.第3节还包括了一个vi的快速参考,有一个规范的vi命令列表.再下面,是一个有关“:set”命令的列表,包含了所有能定制vi环境的变量,这些变量也可以在.exrc文件中定义.我们已经在一个运行SunOS和UCB版本vi的机器上验证了快速参考.除了SunOS 带的vi外,每个命令都可以在系统V和UCB版本vi运行,但是我个人并没有验证这一点. 除非我们在文档中指明,缺省我们假定你处在命令模式下.我们还尝试保留尽可能多的术语,因为在原始的vi文档中使用了这些术语,尽管我可能忘了它的本来含义.0.1 - 索引第一个文件:0.0 - 引言 -- 我怎样用这个FAQ?0.1 - 索引0.2 - 我可以散发这个FAQ吗?0.3 - 你能为这个FAQ做什么?1.0 - 什么是vi?1.1 - 关于vi有什么重大的交易吗? 为什么大家都用它? 更进一步说,为什么我要用它?1.2 - 噢! 这听起来不错! 有没有理由不用vi?1.3 - vi能在多少不同的操作系统下面运行?1.4 - 好吧, 你说服了我. 我决定开始使用vi. 我该从哪儿开始?1.5 - vi有其他一些可用的变种吗?2.0 - vi入门2.1 - 有什么游戏帮助我们学习vi吗?2.2 - 命令模式和插入模式有什么区别?2.3 - 等等,我的键盘没有<Esc>键,我该怎么办?2.4 - 那些~s是什么东西?2.5 - 我无法习惯用 hjkl, 你有什么建议吗?2.6 - 我如何才能不存盘就退出?2.7 - 我怎样插入一个文件?2.8 - 我怎样查找文本?2.9 - 我怎样搜索一个控制序列?2.10 - 我怎样重新格式化文本?2.11 - 我怎样复制文本?2.12 - 啊! 我刚才敲了一个dG,然后我的论文就没有了! 我该怎么办?(或者,我刚才犯了个错误,我该怎么办?)2.13 - 我正在写我的论文,被告知我必须将每一节都放在不同的文件里,我该怎么办?2.14 - 所有的:命令都是怎样处理的?3.0 - 怎样查找和替换?3.1 - 我怎样在vi中运行一个程序?3.2 - 啊! 我正在写我的论文, 系统崩溃了! 怎么办?3.3 - 有没有使vi对程序员更友好的窍门?3.4 - 宏 -- 我怎样写宏?3.5 - 我怎样将一个功能键定义成一个宏?3.6 - 有没有办法缩写文本?3.7 - 我怎样在当前文档中做拼写检查?3.8 - 我手头有一个硬拷贝的终端, 我还能用vi吗?3.9 - 好了,是不是处在开放模式下的原因呀?! 但是我现在没有用硬拷贝终端,它还是在开放模式呀?第二个文件:4.0 - vi档案的在线帮助在哪儿?5.0 - 好玩的vi诀窍,无聊的宏5.1 - 好玩的vi诀窍5.2 - 好玩的宏6.0 - 依字母顺序的vi快速参考6.1 - 命令模式的输入选项(:命令)6.2 - 设置选项(set)7.0 - 建立 .exrc文件7.1 - .exrc文件的样本8.0 - vi的漏洞9.0 - 术语表10.0 - 关于vi的参考书目0.2 - 我可以散发这个FAQ吗?可以!只要你没有对它做任何修改,或者用它来赚钱.0.3 - 你能为这个FAQ做什么?首先, 把你发现的错误告诉我. 如果你有什么建议我们也很欢迎. 你认为还不清楚的地方告诉我们,我们同样欢迎.还有, 使用vi! (Spread the word) 我很抱歉我无法将所有对这个FAQ有贡献的人都列出来, 因为许许多多的人都给过我建议和帮助,如果我将他们都列出来的话,那么恐怕这张贡献者的清单将和这个文档本身一样长了.1.0 - 什么是vi?vi是个可视化的编辑器(vi就意味着可视化--VIsual). 那么,什么是可视化的编辑器呢?(相对于非可视化的编辑器来说)?可视化的编辑器就是可以让你在编辑文本的时候看到它们.今天,这听起来似乎非常普通,反之,非可视化的编辑器似乎很奇怪. 非可视化的编辑器的例子可以举出不少:如ed, sed和edlin(直到相当近的一段时间内,它是DOS自带的最后一个编辑器)等.vi是威廉.侨伊写的,作为BSD UNIX的一部分. 后来AT&T也开始用vi, 于是标准UNIX也开始用vi了.1.1 - 关于vi有什么重大的交易吗? 为什么大家都用它? 更进一步说,为什么我要用它?vi是UNIX下面的缺省编辑器, 因此几乎近来所有的UNIX都捆绑了vi(近来是指1984年左右).这意味着无论何时你跨平台使用某种UNIX,你都知道在你指尖下面有一个强力的编辑器.为什么不是别的呢? vi是个强大的编辑器.同样,一旦你了解了vi,你就能很快的编辑你的文件,因为它非常能节省你的敲键次数. 由于它在插入和命令两种情况下使用不同的模式,它比大多数的不基于这种模式的编辑器要快. 而且,vi非常小(我机器上面的版本只有200K).还有,vi几乎能做任何事,只要你知道如何使它做你想做的事.1.2 - 噢! 这听起来不错! 有没有理由不用vi?有. 有一个非常好的理由: vi稍微有些难学, 如果你开始学的话,vi又慢又让人痛苦,当然,一旦你学会了, vi就快多了. 但是学习的过程很慢. 有人曾经问我, 如果vi是个比较易学的编辑器, 它是否直观(intuitive)呢? 我一般这样回答:"是的,我们有些人是这样认为.但是大多数人认为我们疯了."1.3 - vi能在多少不同的操作系统下面运行?UNIX. 就是它. 尽管如此,还是有很多vi的变种运行在不同的操作系统上. 我就在以下一些操作系统上用过vi: UNIX, DOS, OS/2, MAC SYSTEM 7.(后面有一个有关细节的列表)1.4 - 好吧, 你说服了我. 我决定开始使用vi. 我该从哪儿开始?好吧, 狡猾的家伙. 关于vi有很多很好的书:大多数讲UNIX的书至少有一章给了vi,而且有不少是专门讲vi的书.我没有什么偏爱. 所以你最好是问问你们那儿的vi高手们他们是从哪儿学来的. 还有,到处试. 用vi打开一个不重要的文档(你的论文不象是个学vi的好实验品),然后再到处试. 我无法想象有人学习vi却不花相当多的时间去到处试试. 记住:如果你有些地方不明白了, 只要敲两次<Esc>键,你就又回到命令模式下了.我要提到的一点是,我想在这里提比较合适,就是如果要成为系统管理员或者其他对UNIX配置做什么修改的话,最好是学学ed或者ex,因为有些版本的UNIX没有把vi放在根分区里面,这样你就可能无计可施了. ed是个不错的选择.1.5 - vi有其他一些可用的变种吗?只能列出一部分:STvi (STevie), elvis, vile, vim, 和nvi, xvi.elvis适用于:Amiga, DOS, OS/2, Unix, VMS, Atari.STevie适用于: Atari ST, DOS, Unix, Mac System 7.Mac System 7可以在很多info-mac的镜象站点获取,在/info-mac/text下. (例如)nvi是将和BSD 4.4捆绑在一起的vi.vim适用于: Amiga, DOS, Mac System 7, Unix.Amiga, DOS,和源码可以在以下站点换取:ftp.fu-berlin.de /misc/editors/vim Mac System 7可以在很多info-mac的镜象站点获取,在/info-mac/text下. (例如)vile适用于: DOS, OS/2, Unix, VMS.xvi适用于: DOS, Unix.vi的变种之间很有很多差异.很多都改进了vi,大多数都可以使用在这个文档种列出的命令,但是有一些不同的地方.更进一步的细节,你可以参考这些变种附带的相应的文档.2.0 - vi入门对vi的初学者来说,有些基本的提示.第一,任何时候,手头都要有一份命令摘要. 我们将在后面给出一个快速参考/命令摘要. 第二, 找一本vi方面的比较好的书.这个文档不是学vi的最佳途径(最起码现在还不是),我不敢保证这个文档能教会一个对vi一无所知的人, 而很多书已经做到了这一点. 但是,我们这里还是给出了不少提示. 对选择书籍来说,有一个标准的原则:买之前一定要仔细阅读. 要了解这本书对你是否有意义.确信它能在你练习vi的时候有用. 和其他的书做个比较 --不管怎样,vi可能让你感到非常莫名其妙, 而且你要确信这么一点:是书让你糊涂,而不是你低估了学vi的难度.还有, 找一些诸如"学vi"(vilearn),"vi向导"(vitutor)之类的软件来帮助你掌握vi的基本知识.2.1 - 有什么游戏帮助我们学习vi吗?这似乎很无聊, 但是事实上UNIX系统里面有不少游戏可以帮助你学习使用vi.这些帮助主要是一些基本知识. 虽然我还不知道有哪个游戏可以帮你学习vi的所有命令, 但我确实知道有一些可以帮助你学习使用 hjkl来移动光标. NetHack,一个类Rogue 的游戏,就对这非常有帮助. 而且它是一个很大的游戏,能玩很长一段时间. 我没有贬低其他游戏的意思,这些游戏是: rogue, moria, omega, worm, snake.2.2 - 命令模式和插入模式有什么区别?vi将命令模式和插入模式区分开来,这经常被认为是vi的一个大问题,但往往这也被认为是vi的优势所在. 理解其中的区别是掌握vi的关键.vi启动时,开始处于命令模式;在这种模式下,我们可以在文件中到处移动,改变文本的某个特定区域, 剪切, 复制和粘贴文本,还有更多. 插入模式是指用户可以真正插入文本.换句话说,命令模式是用来在文件中移动,而插入模式是用来在文件中键入文本.有些命令,例如: a, i, c, C, O, o和其他一些可以从命令模式切换到插入模式. <Esc>键或者^C(CRTL+C)可以脱离插入模式而返回到命令模式.你要适应这种差别. 它使得vi区别于其他的编辑器. 它也使你能在你的手不离开标准键盘做很多事情.2.3 - 等等,我的键盘没有<Esc>键,我该怎么办?试试敲 ^[(CTRL+[). 如果你的键盘有一个<Meta>键,再试试它.如果还不行,再试试^3.2.4 - 那些~s是什么东西?它们仅仅是用来让你知道你的文档末尾在哪儿.实际上它们并不在你的文档里面,所以你用不着担心它们.2.5 - 我无法习惯用 hjkl, 你有什么建议吗?首先,如果你的终端设置正确而且你连接的也没有问题的话,你可以使用箭头键.但是,如果你认为你要经常使用vi,那么最好是习惯使用 hjkl,因为它们敲起来更快. 而且,有时候连接出问题了,使得ESC序列都可能丢失了.(这样你可能就无法使用箭头键了--译注)2.6 - 我如何才能不存盘就退出?:q!可以做到这一点. 如果vi看起来冻住了,确信你没有错敲了个 ^S. 敲^Q可以解开^S.2.7 - 我怎样插入一个文件?:r <文件名>例如,要插入文件/etc/motd, 可以敲 :r /etc/motd.这将把文件插入到光标处.如果你在r前面指定了一个数字,那么这条命令将把文件插入到那个位置.2.8 - 我怎样查找文本?/<文本>将向前查找, ?<文本>将向后查找. ??或者//将重复上次查找. 在UNIX 下,这已经是个可爱的标准用法了. 而且, 在vi中, n将查找文本下一次的出现位置. N重复上次查找,不过逆转了查找的方向. 在查找中可以使用规范式.2.9 - 我怎样搜索一个控制序列?/^V^<序列>^V会告诉vi照字面理解下一个字符,不要把它看作是一条命令.2.10 - 我怎样重新格式化文本?如果你的计算机有一个名叫fmt的程序, 你要做的仅仅是在命令模式下面敲!}fmt(记住,不要在前面加icon_smile.gif. 这可以重新格式化你的文件,从光标所在的位置一直到当前段落的结尾.如果你的机器里面没有fmt这个程序, 你就得去找个类似的软件了(我记得在公共域里面有不少这样的程序,但是我对此了解不多)2.11 - 我怎样复制文本?这有点复杂.把这节拿出来,多看几遍;还有,一定要多做实验."<字母>yy可以把一行文本拷贝到寄存器中(这里的寄存器是vi的术语,指可以存放剪切和拷贝下来的东西的地方), <字母>里面的字母必须是a到z之间的一个. "<字母>dd可以把一行剪切下来放到寄存器里面. 你可以在yy或者dd前面用数字指明要拷贝或者剪切的行数.如果<字母>中的字母是大写的话,意味着把文本插入到寄存器中已有的文本之前. "<字母>p把文本插入到光标之后,"<字母>P把文本插入到光标之前.如果寄存器中含有某一行的开头或结尾,这一行将会被放到另一合适的行上. Y是yy的快捷方式. 还有, y$, yH,yM,等等,都是可以用的.d命令也是一样的.如果要快速的剪切和粘贴, 你就无须指定寄存器了.如果这样的话,你就不能往寄存器里面添加文本了.而且只要有一个删除命令的话,寄存器中的东西就没有了(包括x命令).举例来说,如果要移动上一段的话,你可以把光标移到段落的开头,敲"a13dd,再把光标移到你想要放文本的地方,敲"ap,就可以把那段文本放到光标所在的行后面.现在,大概你想要剪切和粘贴文本到不是行末尾的区域去.我们来看如何做到这一点:我们可以使用 m<字母> 命令来标记一个区域,这个字母可以和剪切/粘贴寄存器的字母相同,因为它们是保存在内存中的不同位置. 然后,敲"<寄存器>`<字母>[yy或者dd], 这里的寄存器就是要保存文本的那个寄存器,<字母>是用来标记的,yy和dd是你的操作.2.12 - 啊! 我刚才敲了一个dG,然后我的论文就没有了! 我该怎么办?(或者,我刚才犯了个错误,我该怎么办?)u可以撤消你刚才的操作.U可以撤消你对当前行的修改(当然,一行对于一篇论文来说当然很不够了). :e!可以不保存修改而重新把你的文件调进来. 还有,你删除的文本都保存在从0到9编号的寄存器里.所以,"<n>p就可以把上第n次的删除文本粘贴出来.你可以按如下的方法迅速地查看所有删除的文本. 先试一个,不对的话,敲u,再试下一个.(为加速这个过程,这时vi中的.命令和通常的用法不一样了.它不是重复上次操作,而是试下一个寄存器,这样你要做的无非就是: "1p u . u .,直到你撤消了你想撤消的删除操作)2.13 - 我正在写我的论文,被告知我必须将每一节都放在不同的文件里,我该怎么办?:[m],[n]w <文件名>可以将从第m行到第n行之间的文本保存到<文件名>所指定的文件中.这种行序号方法几乎在所有的:命令下都可以使用. 如果你用命令:[m],[n]w >><文件名>,这些文本将添加到文件的后面.2.14 - 所有的:命令都是怎样处理的?:后面的命令都是从ex编辑器里面过来的. 这就给vi加入了很多灵活性,也使vi功能更强大. 例如, 有很多的方法可以用来查找和替换,它们有很多的类似地方(事实上,它们在某种意义上说都是一样的)3.0 - 怎样查找和替换?有很多方法. 最简单的是::s/old/new/g, 但是,这仅对当前行起作用..., 所以,我们用:%s/old/new/g, 更一般的,我们还可以用:[范围]s/old/new/[cg],这里,[范围]是任意的行范围,包括行号,$(文件末尾),.(当前行),%(当前文件),或者两个行号之间加个破折号(或者可以这样: .,+5,这表示下面5行).[cgi]是c,g,i中间的一个或者什么也没有.c告诉vi每次替换的时候要给提示,g是说对所有一行中出现的地方都做替换.i则是指在查找时不区分大小写.如果最后一个斜杠(/)后面没有东西的话,那么vi只替换在行中第一次匹配的地方.我比较喜欢这样做::g/foobar/s/bar/baz/g, 这个命令首先搜寻foobar,然后把它变成foobaz. 它没有改变jailbars, 而其他的一些命令可能会改变jailbars. 这是我的方法,但是可能比较难记.当然,你还可以在查找的的时候使用正规式,以及在替换文本的时候使用其他一些命令.如果你在正规式里用(和)来剥离一个序列的话,你会发现你可以做很多好玩的事情.例如::g/(foo)(bar)/s/2/1baz/g 将foobar替换成foobaz还有一些特殊的序列:& 所有查找时匹配到的东西[1-9] 1到9号用(和)括起来的东西u 下一个字符将被变成大写.U 以后的字符都变成大写,直到遇到e或El 下一个字符将被变成小写.L 以后的字符都变成大写,直到遇到e或E[Ee] 更改大小写的选择区域的终点3.1 - 我怎样在vi中运行一个程序?:!命令可以在vi中运行程序. :sh会启动一个交互式的外壳(SHELL).在这个外壳里面, 如果你愿意,你还可以再次运行vi. 当你在编辑Makefiles和配置文件来编译某个程序的时候,这可能比较有用. 这比:e优越之处在于它无须保存文件,而且如果你退出外壳的时候,vi还回到原来的地方.(当然,我还是建议你先保存一下文件)3.2 - 啊! 我正在写我的论文, 系统崩溃了! 怎么办?不要怕! 你会收到一封电子邮件,里面就是你的论文.敲入vi -r <文件名>(这个文件名就是系统崩溃时你正在编辑的文件)你就可以恢复出你的论文来.只敲vi -r将把所有可能恢复的文件都列出来.3.3 - 有没有使vi对程序员更友好的窍门?:set ai可以让vi自动对齐.:set sw=#,#是移动的宽度(shiftwidth),或者说TAB键的宽度(tabwidth);你可以用<<或者>>命令来左移或右移某一行. 还有, 你可以使用 <%或>%来将{,(或[等符号括起来的文本都左移或右移;这时候,你必须把光标放在这些符号({,(或[)上面. :set sm会在你敲},]或)显示出对应匹配的{,[或(来.:set lisp会对lisp编程有些帮助. ()被移到s表达式(s-expressions)外面,如果原子(atoms)没有停止则{}将被移走.3.4 - 宏 -- 我怎样写宏?:map <lhs> <rhs>, 其中<lhs>最多10个字符,<rhs>最多100个字符. 以后,如果你敲了<lhs>,vi就会用<rhs>来取代它.所有的宏都是在命令模式下开始的,但是可以在你想在的模式下终止. 记住,在你想用的控制字符前面加上^V.:unmap <lhs>将删除这个宏. :map!<lhs> <rhs> 使得<lhs>将<rhs>插入到文档中去.3.5 - 我怎样将一个功能键定义成一个宏?如果<lhs>是#n,n是0-9之间的一个数,那么这个宏就映射成某一个功能键了.(你可以试一下F1-F10之间的键--译者)3.6 - 有没有办法缩写文本?当然了. 这可是vi呀,它能做任何事情!:ab email ellidz@可以在你敲完email后,把那个没有缩写的文本插入到文件中. :una email取消缩写.3.7 - 我怎样在当前文档中做拼写检查?这儿有一个宏可以做到这一点. 这些应该放在你的.exrc文件中(后面我们将对.exrc进一步讨论). 它是一个相当简单的宏. 它仅仅是调用ispell来处理当前文件.当然,你的系统里面一定得有ispell这个程序. 使用它的时候,只需要敲个V键就行了(因为vi并没有用V,所以V是一个比较合适的键)map V :w^M:!ispell % ^M:e!^M^M第二个^M使你在拼写检查完之后无须敲回车就可以到vi中.(译注, 在我的系统里,没有ispell,只有spell,我用它替换了ispell,工作的不错;还有,^M不是两个字符,而是一个字符,通过^V^M敲进去的;另外,我个人认为第二个^M 还是不要的好,因为直接回到vi后你就无法看到拼写检查的结果了)3.8 - 我手头有一个硬拷贝的终端, 我还能用vi吗?好了,好了. 我并认为有人会真的问这个问题.这个问题太偏了,我们大可不必理它.(而且,它回答了一个非常普通的问题)vi启动的时候处于一种特殊的模式下面,叫做"开放模式"; 在这种状态下,事情或多或少的有些不同. 删除的字符在你面前显示成一些',vi会认为你的终端窗口只有一行. ^r可以把当前行重新输出. z则把当前行周围的窗口重画一遍.3.9 - 好了,是不是处在开放模式下的原因呀?! 但是我现在没有用硬拷贝终端,它还是在开放模式呀?这儿的问题就是vi没有认出你用的终端的类型. 于是它假定你有的是个最烂的终端,所以它决定依然处在开放模式下.这似乎没什么用处.因为没有多少人喜欢开放模式,但是开放模式还是需要知道你的终端的一些最起码的信息的.现在,我们来看如何解决这个问题.我们有可能把它分成几种特殊的情形,但是,一般情况下,这并没有用处. 如果你直到你的终端的类型, 你可以在UNIX提示符下面设置终端类型(在CSH及其变种下面,使用命令setenv TERM <终端类型>;在SH及其变种下面,使用命令TERM=<终端类型>;export TERM)最好你能把上面的命令写在.profile文件或者.cshrc文件里面,这样你一登录它就自动地给你设置好了.(当然,你应该知道如何使用ed,或者你能在UNIX提示符下面设置好终端类型以便能使用vi, 这样你才有可能去编辑这些文件)如果你确实不知道你地终端类型,试一试vt100.现在大多数地终端或者终端仿真器都能仿真vt100. 如果这还不能生效的话,你只好去找个高手来帮你了.4.0 - vi档案的在线帮助在哪儿?有一个vi的FAQ,其中列出了vi档案的所有在线文件. 同时它还列出了这些文档的镜象站点. 最主要的一个地址是alf.uib.no,但是这些文档在很多很多地地方都保存着. vi-archive faq把它们都给列出来了.你在下载这些文件之前一定要核对一下这个FAQ.因为很有可能有一个站点比去挪威的站点更近更快些.一个镜象站点是/pub/vi, 另一个是.au/pub/Vi,这些站点上有很多有关vi的文件,还有一些vi的变种版本;当然,UCB版本的vi 是肯定有的, 还有许多的宏.5.0 - 好玩的vi诀窍,好玩的宏这一节主要讲述一些无聊的诀窍和一些无聊的宏.事实上,任何vi的诀窍和宏我们都欢迎,只要它们不是过分冗长. 如果有人向我建议而我也认为确实值得加的话, 我会考虑加进去的.5.1 - 好玩的vi诀窍xp 删除光标下的字符,再把粘贴到后面去.换句话说,它交换了当前两个字符的位置.ddp 和xp类似,不过是交换两行的位置.uu 撤消和重复上次所做的修改.(这可以使你不改变什么东西就可以到你上次所做的修改处)5.2 - 好玩的宏和垂直上方的字符交换位置map * kxjphxkP折行map g $80|F r(译注,我对这条宏表示疑问!)改变大多数单词的大小写map v ywmno:s/./~/g(译注,这条好象也不大对!)在当前的单词周围加上`和'map *` i`'在当前的单词周围加上'和'map *' i''在当前的单词周围加上"和"map *" i""(这几条也太无聊了吧--译注)在当前的单词周围加上``和``map! `` `'(咦,好象又有问题?--译注)从光标处把当前行分开,在下一行开头加上一个>号(例如,引用USENET).如果加上了单词的折行功能那么最后一个单词可能被折在第一行.map g may0O`ay$:s/./ /g(不对吧--译注)插入一个字符map g i$^[r6.0 - 依字母顺序的vi快速参考... 是指有些东西需要在命令之前或之后指明.这通常是说光标的移动键(h,j,k,l,w,b等等)或者是指行号.# (这里#代表一个数字) 执行n次后面的命令...: 进入ex模式) 下一句( 上一句} 下一段{ 上一段]] 下一节[[ 上一节0 行的开头$ 行的末尾^ 行的第一个非空白字符+ 下一行的开头- 上一行的开头(空格) 下一个字符(回车) 下一行/ 向前搜索? 向后搜索% 查找当前小(中,大)括号的匹配字符, 逆向重复上一个f,F,t或T操作; 重复上一个f,F,t或T操作. 重复上一个操作` 转到标记处' 转到标记所在行的开头`` 查找前回到上一个做标记的地方'' 查找前回到上一个做标记所在行的开头~ 切换字符的大小写" 保存到寄存器中!! 重复上一次SHELL命令! 把后面的文本送给命令, 取代输出(例如, !}fmt把当前的段落送给命令fmt处理,然后用fmt返回的东西替换输出.)>> 右移当前段落一个移动宽度(shiftwidth)<< 左移当前段落一个移动宽度(shiftwidth)>% 从当前到匹配小(中,大)括号之间的文本右移<% 从当前到匹配小(中,大)括号之间的文本左移(似乎漏了一个符号|, 移动到某一列----译注)a 在当前位置之后添加A 在当前行的末尾添加^a 没有使用b 上一个单词的开头B 上一个单词的开头,忽略标点符号^b 上移一屏c 覆盖...C 覆盖到行末尾^c 终止插入模式,在命令模式没有用d 删除...D 删除到行末尾^d 下移半屏,如果在插入模式下则移到上一个移动宽度(ShiftTab)处e 单词的末尾E 单词的末尾,忽略标点符号^e 屏幕下卷一行f 查找...F 向后查找...^f 下移一屏g 未用。
Labview错误调试与处理:详细说明
错误调试与处理:详细说明运行箭头变为断线图标就表明LabVIEW不能运行VI,错误列表窗口中会列出VI断开的具体原因。
第二种类型错误通常难以辨别原因,但LabVIEW拥有多种工具可监视执行的代码,使得过程变得更为容易。
修正断开的VI如一个VI无法执行,则表示该VI是断开的或不可执行的。
如正在创建或编辑VI出现错误时,运行按钮会显示为断开。
通常,这是由于需要连线的输入没有连线,或者连线是断开的。
单击断开的运行按钮,打开错误列表窗口。
错误列表对话框列出了所有错误,并且描述了错误的原因。
双击错误可直接找到错误的出处。
查找VI断开的原因警告并不阻碍VI的运行。
警告仅帮助用户避免VI中的潜在问题。
而错误会使VI断开。
VI在运行前须排除任何错误。
单击断开的运行按钮,或选择查看»错误列表,可查看VI断开的原因。
Error List列出了所有的错误。
错误项列出了内存中所有含有错误的项的名称,如VI和项目库。
如果两个或多个项目具有相同的名称,该部分会显示每一项目的特定应用程序实例。
错误和警告部分列出了在存在错误的项目部分选中的VI的错误和警告信息。
详细情况(Details)部分描述了错误信息,有时还会建议如何纠正错误。
单击帮助(Help)按钮,显示LabVIEW帮助(LabVIEW Help)中详细描述错误并包含纠正错误的分步指令的主题。
单击显示错误(Show Error)按钮或双击错误描述,可以高亮显示程序框图或前面板包含错误的区域。
图1.错误列表对话框的范例VI断开的常见原因下表包含了一些在编辑VI时导致VI断开的常见原因:-由于数据类型不匹配或存在未连接的接线端,导致程序框图含有断线。
关于纠正断线的更多信息见LabVIEW帮助中的纠正断线。
-必需连接的程序框图接线端没有连线关于设定必需连接的输入端和输出端的更多信息见LabVIEW帮助中的使用连线连接程序框图各对象。
-子VI是断开的或将其放置到程序框图上后对其连接器进行了编辑。
在vi手册编排过程中应注意哪些问题
在vi手册编排过程中应注意哪些问题
1. 确定目标受众:在编排vi手册之前,应该明确目标读者群体,例如初学者、中级用户或专业人士等,以确保手册的内容和表述方式符合读者的理解能力和知识水平。
3. 分章节编排:vi手册的内容较多,应该根据不同的主题或功能来分章节编排,方便读者快速查找。
4. 使用层次结构:vi手册的内容应该使用层次结构,将主要的信息放在层次结构的顶部,次要的信息放在下层次,以便读者区分主次。
5. 图片和图表的使用:为了更加生动具体地表达内容,vi手册应该包含有针对具体功能的说明图片和图表。
6.考虑语言习惯:在手册编排中应该考虑读者的语言习惯,使用简单的词汇和语句结构,尽可能避免使用复杂的词汇和语法结构。
7. 注重实用性:vi手册需要向读者提供实际操作指南,因此应该注重实用性,在手册中尽可能包含具体步骤和操作流程。
VI基础常忽视的错误
文字普遍错误, 套用模版没有进 行相应的修改
标准彩色标志
释义
普遍错误,文字 每套VI都有不同 ,因为标志是唯 一的,文字没有 ----模版
标志组成要素 1.图形 2.色彩
普遍错误,文字每 套VI都有不同,因 为标志是唯一的, 文字没有(模版)
普遍错误,网格单 位错误,建议每本 VI手册,统一网格 制图
普遍错误:
1.中英文全称字体,一般为 计算机字体,说明文字应当 去掉“标准字为设计字体,标 准字字宽、字高和字距都经 过调整,不得随意更改。”内 容。 2.计算机字体的行距,字距 如果有变化的话加以说明, 没有的话,建议应该注明“行 距、字距按照计算机自动处 理,不做改变,以便方便使 用”。
普遍错误:
色彩普遍错误文字每套vi都有不同套vi都有不同因为标志是唯一的文字没有模版因普遍错误网格单位错误建议每本vi手册统一网格制图说明文字通用普遍错误色彩标注错误墨稿和反白稿属于单色稿色值色值
基础部分 A-1 标志规范
1.1 标准彩色标志(文字说明标志的意义文字通用) 1.2 标志组成要素(图形和色彩的基本元素) 1.3 标志的网格制图(理解标志的基本形态) 1.4 标志的标准制图(标志的手绘方法) 1.5 标志的墨稿反白稿 (标志在色彩呈现环境的不同相应时标志色彩改变) 1.6 标志的视觉修正稿 (为了完善标志适合每个呈现环境,对标志在图形和色 彩上做更改) 1.7 标志的最小使用规范 (每个标志都不能无限的缩小使用) 1.8 标志的安全空间 (标志的存在环境的复杂性,以简单的方式表达出来 ) 页面内必须出现的元素 1.小标题 2.序号 3.页眉
文字普遍错误, 套用模版没有进 色(金、银) 2.专色的印刷原理
普遍错误,不了解 专金,专银色的意 义 ,目前四色色值 不同一。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果位数不足需要在前面补零,可以用Ctrl-V块选择,然后I插入0。
注:以下问题以及解答均由版上的文章归纳整理而来,部分内容为原文引用。
(请搜索“(编号)”快速定位到问题答案部分。)
(1)为什么别人的方法在我这里行不通?
(2)如何找到上次编辑的文件?
(3)如何复制粘贴?
(4)如何在多个文件中进行替换?
(5)如何把fold一次全部打开?
(6)如何选择、复制或者查找光标所在的单词?
(7)如何计数搜索的字符串?
(8)如何去掉高亮搜索?
(9)如何解决linux下gvim中文菜单乱码的问题?
(10)如何对所编辑的文件语法高亮显示?
(11)如何快速插入多行数字0-99?
(12)如何设置中文编码?
(13)如何去掉或者插入^M这样的字符?
(14)如何整体缩进一段代码(插入tab)?
(15)如何合并两行?
用鼠标在菜单中选择,同windows下。
如果是在控制台中使用vim,还应当确定你的终端设置支持颜色。
(11)如何快速插入多行数字0-99?
在命令行中输入以下代码,或者先把代码保存到一个外部文件,然后source这个文件:
let i = 0
while i < 100
put = i
let i = i + 1
发信人: thinelephant (严重消化不良),信区: VIM
标题: [faq]常见问题欢迎指正或补充
发信站: BBS水木清华站(Tue Jun 22 19:44:37 2004),站内
本文将根据版上的提问不断修改、补充,力图回答大多数的常见问题。欢迎大家指正或
补充(补充解答的内容,或者补充没有列出的问题)。
复制光标所在的单词:yiw
查找的话就是两个很常用的明令:#和*
(7)如何计数搜索的字符串?
如果需要统计缓冲中一个模式(pattern)出现的频率,需要把'report'置为0,然后
用替换命令把模式替换成它自己。Vim报告的已替换的数目就是模式出现的次数。例:
:set report=0
:%s/./&/g characters
开头字母选择类型)
如果是linux,那么确认一下是否是redhat。如果是redhat,那么需要安装
vim-enhanced的rpm包。这些都做了以后,可以用:syntax on来打开语法高亮。
必要时可以用:set filetype=...来设定你的文件类型。
如果使用图形界面,比如gvim,那么syntax on和set filetype的操作可以
设置了高亮搜索(:set hlsearch)以后,可以通过:set nohlsearch永久地关闭高亮
显示,也可以通过:nohlsearch暂时关闭高亮显示,下次搜索时将自动恢复高亮。
(9)如何解决linux下gvim中文菜单乱码问题?
以vim6.3为例
:source $VIMRUNTIME/delmenu.vim
:source $VIMRUNTIME/menu.vim
也可以将以上内容加入.vimrc
光source一个menu.vim或者啥也不source都是乱码
另外,也有网友报告说没有遇到此类问题
注:这里的source指的是vim自己的source命令,和bash shell的source无关
(10)如何对所编辑的文件语法高亮显示?
(3)如何复制粘贴?
复制
方法一:先ma标记当前位置为a,移动到新的位置,再y`a或者y'a复制从标记位置a到
当前位置的内容。`和'的区别:`以字符为单位,'以行为单位。这个方法应该是所有vi
都适用的。(如果不对请指正。)
方法二:按v或V或Ctrl+V进入visual模式,移动光标选择一段内容,按y。三者的区别:
(16)如何设置缩进距离(tab宽度)?
(17)如何让VIM不生成备份文件(~文件)?
(18)如何设置windows下gvim的字体?
==============================================================================
(1)为什么别人的方法在我这里行不通?
需要解释的是,VI有很多变种,它本身并没有这种功能,提供这种功能
往往是其各种衍生版本,比如说vim。下面就vim中如何语法高亮简单解释一下。
首先,确定一下你所用的操作系统,如果是windows,那么默认的配置文件
就可以工作了。如果还不行,可以用鼠标从syntax菜单下选择一下适合你的
文件类型(新版本的gvim默认把文件类型选择关闭了,需要点开,然后按照
done
方法二:
vim *.c
:argdo %s/oldvalue/newvalue/ge | update
(5)如何把fold一次全部打开?
zR或者:set foldlevel=999
全部关上是zM
(6)如何选择、复制或者查找光标所在的单词?
在VIM中用iw或者aw表示一个单词,两者稍有区别。
选择光标所在的单词:viw(v进入为单位,Ctrl+V是块选择。这个方法只在VIM下适用。
粘贴
p或P。区别:前者粘贴到光标后面,后者粘贴到光标前面。
(4)如何在多个文件中进行替换?
一般可以用sed或者vim来做。比如要对当前目录下的*.c文件进行替换:
方法一:
for i in *.c; do
sed -i -e 's/oldvalue/newvalue/g' $i
估计这是最难回答的一个问题了。:-)
不过首先应该确定你的VIM版本是否足够新,功能是否完整。使用:version命令查看你
的VIM版本以及功能。一个常见的情况,如果你用的是RedHat系统,请确定安装了
vim-enhance的rpm包,否则将是不完整的VIM。
(2)如何找到上次编辑的文件?
Ctrl+O(按两次)
:%s/\i\+/&/g words
:%s/^ lines
:%s/the/&/g "the" anywhere
:%s/\<the\>/&/g "the" as a word
你可能希望复位'hlsearch'或者使用":nohlsearch"。
(8)如何去掉高亮搜索?
方法一::nohlsearch
方法二:/awertgvcxz(查找一个肯定不存在的字符串)