LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1261|回复: 10

vi如何实现cc-mode

[复制链接]
发表于 2002-11-26 15:25:45 | 显示全部楼层 |阅读模式
以前用Emacs扩展名为C自动会帮你定C的格式 不用自己打空格,现在改用VI了
但是他不会自动帮你形成C的格式,为了便于读程序只能自己经常在行首加空格
VI里面有没有解决方法。
还有读程经常读到B]A不知何解?
发表于 2002-11-26 17:02:44 | 显示全部楼层
:set cindent
发表于 2002-11-26 19:09:33 | 显示全部楼层
B]A?是B|A吧,这表示按位或。
 楼主| 发表于 2002-11-27 09:03:40 | 显示全部楼层

不是,位或怎么不知

没有什么特殊意义,就是B]A
发表于 2002-11-27 11:56:35 | 显示全部楼层
不妨将程序贴出来看看
 楼主| 发表于 2002-11-27 13:48:14 | 显示全部楼层

不用看懂程序 只需告诉我行首的B]A代表什么

/************************************************************************
**
**   FACILITY:      TEMIP - Telecom Management Information Platform -
**
**   MODULE NAME:   vt_dev_am.hxx
**
**   DESCRIPTION:
**
**   AUTHORS:       Telecom Engineering
**
**   CREATION DATE: 07 November 1995
**
************************************************************************/


// ----------------------------------------------------------------------------
//   Module DEV_AM Declaration
// ----------------------------------------------------------------------------
BEGIN_ACCESS_MODULE(DEV_AM, MCC_K_CLASS_DEV_AM)

  // Self Management part

B[A  SELF_MANAGEMENT("Visual TeMIP Development AM")

  // Version

B[A  MODULE_VERSION('V',2,0,0)

END_ACCESS_MODULE(DEV_AM)


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
//   BOX Entity
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------

B[A//   Class BOX Declaration

B[A// --------------------------------------------------------------------------
--
BEGIN_CLASS(BOX)

  ROOT_BINDING(MCC_K_CLASS_BOX)

  // Explanation of class properties flags :
  //    - Instances are handled by the DEV_AM
  //    - Instances and attributes values are stored in the MIR
  //    - DEV_AM is the owner of this class
  //    - Instances are also stored in memory
  //    - Do not delete a BOX instance if it has children
  CLASS_PROPERTIES(CP_EXPLICITINSTANCES | CP_PERSISTENT | CP_OWNER |
                   CP_INSTANCES_IN_MEMORY | CP_NO_DELETE_IF_CHILDREN)

  // Partitions supported : Id, Char and Status
  // We need to specify explicitely the list of partitions, otherwise Visual
  // TeMIP will create dispatch entry points for the Counter partition.

B[A  ATTRIBUTE_PARTITIONS((MCC_K_PRT_IDENTIFIER, MCC_K_PRT_CHAR,

B[A                     MCC_K_PRT_STATUS))

END_CLASS(BOX)


// ----------------------------------------------------------------------------
//   Class BOX Verbs Declaration
// ----------------------------------------------------------------------------
BEGIN_VERB_CREATE(BOX)
END_VERB_CREATE(BOX)

BEGIN_VERB_DELETE(BOX)
END_VERB_DELETE(BOX)

BEGIN_VERB_SHOW(BOX)
END_VERB_SHOW(BOX)

BEGIN_VERB_SET(BOX)
END_VERB_SET(BOX)

BEGIN_VERB_GETEVENT(BOX)
END_VERB_GETEVENT(BOX)



B[A// --------------------------------------------------------------------------
--
//   No support need in .hxx file for registration directives.
// ----------------------------------------------------------------------------



B[A// --------------------------------------------------------------------------
--
//   Class BOX Attributes Declaration
// ----------------------------------------------------------------------------
BEGIN_ATTRIBUTE(BOX, BoxId, MCC_K_BOX_ID, FullName, IDENTIFIER, AP_DEFAULT,
                LOCAL)
END_ATTRIBUTE(BOX, BoxId)


BEGIN_ATTRIBUTE(BOX, SerialNumber, MCC_K_BOX_SERIAL_NB, Latin1String, CHAR,

B[A             AP_NON_SETTABLE, LOCAL)

B[A  A_DEFAULT(Latin1String, "X007")
END_ATTRIBUTE(BOX, SerialNumber)


BEGIN_ATTRIBUTE(BOX, Manufacturer, MCC_K_BOX_MANUFACTURER, Latin1String, CHAR,
                AP_DEFAULT, LOCAL)
END_ATTRIBUTE(BOX, Manufacturer)


BEGIN_ATTRIBUTE(BOX, OperationalState, MCC_K_BOX_OPERATIONAL_STATE,
                Enumeration, STATUS, AP_DEFAULT, LOCAL)
  // By default, set Operational state to enabled

B[A  A_DEFAULT(Enumeration, MCC_K_OPER_STATE_ENABLE)

B[AEND_ATTRIBUTE(BOX, OperationalState)


BEGIN_ATTRIBUTE_SETOF(BOX, AvailabilityStatus, MCC_K_BOX_AVAILABILITY_STATUS,
                      Enumeration, STATUS, AP_DEFAULT, LOCAL)
END_ATTRIBUTE_SETOF(BOX, AvailabilityStatus)


BEGIN_ATTRIBUTE(BOX, StatusExplanation, MCC_K_BOX_STATUS_EXPLANATION,
                Latin1String, STATUS, AP_DEFAULT, LOCAL)

B[AEND_ATTRIBUTE(BOX, StatusExplanation)

B[A

   // --------------------------------------------------------------------------
--
// ----------------------------------------------------------------------------

B[A//   CARD ENTITY
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
//   Class CARD Declaration
// ----------------------------------------------------------------------------
BEGIN_CLASS(CARD)

B[A
     CLASS_BINDING(BOX,MCC_K_CLASS_CARD)

  // Explanation of class properties flags :
  //    - Instances are handled by the DEV_AM
  //    - Instances and attributes values are stored in the MIR
  //    - DEV_AM is the owner of this class

B[A  // - Instances are also stored in memory
  CLASS_PROPERTIES(CP_EXPLICITINSTANCES | CP_PERSISTENT | CP_OWNER |
                   CP_INSTANCES_IN_MEMORY)

  // Partitions supported : Id, Char and Status
  // We need to specify explicitely the list of partitions, otherwise Visual
  // TeMIP will create dispatch entry points for the Counter partition.
  ATTRIBUTE_PARTITIONS((MCC_K_PRT_IDENTIFIER, MCC_K_PRT_CHAR,

B[A                     MCC_K_PRT_STATUS))

END_CLASS(CARD)


// ----------------------------------------------------------------------------
//   Class CARD Verbs Declaration
// ----------------------------------------------------------------------------
BEGIN_VERB_CREATE(CARD)

B[AEND_VERB_CREATE(CARD)

BEGIN_VERB_DELETE(CARD)
END_VERB_DELETE(CARD)

BEGIN_VERB_SHOW(CARD)
END_VERB_SHOW(CARD)

BEGIN_VERB_GETEVENT(CARD)
END_VERB_GETEVENT(CARD)


// ----------------------------------------------------------------------------
//   No support need in .hxx file for registration directives.

B[A// --------------------------------------------------------------------------
--

B[A

   // --------------------------------------------------------------------------
--
//   Class CARD Attributes Declaration

B[A// --------------------------------------------------------------------------
--
BEGIN_ATTRIBUTE(CARD, CardId, MCC_K_CARD_ID, SimpleName, IDENTIFIER,

B[A             AP_DEFAULT, LOCAL)
END_ATTRIBUTE(CARD, CardId)


BEGIN_ATTRIBUTE(CARD, SerialNumber, MCC_K_CARD_SERIAL_NB, Latin1String, CHAR,
                AP_NON_SETTABLE, LOCAL)
  A_DEFAULT(Latin1String, "42")
END_ATTRIBUTE(CARD, SerialNumber)


BEGIN_ATTRIBUTE(CARD, OperationalState, MCC_K_CARD_OPERATIONAL_STATE,
                Enumeration, STATUS, AP_DEFAULT, LOCAL)
  // By default, set Operational state to enabled
  A_DEFAULT(Enumeration, MCC_K_OPER_STATE_ENABLE)
END_ATTRIBUTE(CARD, OperationalState)

B[A

   BEGIN_ATTRIBUTE_SETOF(CARD, AvailabilityStatus, MCC_K_CARD_AVAILABILITY_STATU
S,
[B[25;23HEnumeration, STATUS, AP_DEFAULT, LOCAL)
END_ATTRIBUTE_SETOF(CARD, AvailabilityStatus)


BEGIN_ATTRIBUTE(CARD, StatusExplanation, MCC_K_CARD_STATUS_EXPLANATION,
                Latin1String, STATUS, AP_DEFAULT, LOCAL)
END_ATTRIBUTE(CARD, StatusExplanation)


[endif /* _VT_DEV_AM */
 楼主| 发表于 2002-11-27 13:56:00 | 显示全部楼层

VI里没有:set cindent

试过了 不行
发表于 2002-11-27 19:55:16 | 显示全部楼层
我仔细看了一下程序,我的个人看法是B[A可能是某种编辑器的格式编排符号,有点类似于tab,表示段落缩进,在程序中并无意义。可能是我们所用的编辑器不能识别这种符号才显示为B[A,我编译了一下,有这种符号的地方全是错误。把这种符号删去应该对程序没有影响。
 楼主| 发表于 2002-11-28 09:09:47 | 显示全部楼层

跟我想的一样

谢谢
 楼主| 发表于 2002-11-28 09:11:00 | 显示全部楼层

不过有没有人知道怎么用VI自动缩进

实现CC-MODE
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表