slickedit的alias配置
使用slickedit很喜欢它的多语言支持,可以快速查看变量的定义和结构。我一般写verilog较多,使用emcas很方便,但是感觉查看代码结构不太方便(也可能是我不会设置)。所以希望能够在slickedit上实现一些在emacs上很实用的技巧。好在slickedit支持slick-C,可以很方便的支持一些alias操作来帮助写代码。
文件头注释
文件头注释用到很多,我喜欢在里面标注文件名、工程名、简要描述信息以及修改日期。
一个例子如下所示:
//-----------------------------------------------------------------------------
// File : wave.c
// Project : test
// Author : chenbei <chenbei@rigol.com>
// Created : 2015-09-23
// Last modified : 2015-09-23
//-----------------------------------------------------------------------------
// Description :
// 测试
//-----------------------------------------------------------------------------
// Copyright (c) by Rigol This model is the confidential and
// proprietary property of Rigol and the possession or use of this
// file requires a written license from Rigol.
//------------------------------------------------------------------------------
// Modification history :
// 2015-09-23 : created
//-----------------------------------------------------------------------------
要方便的创建这个文件注释,需要编写一些slick-C函数,然后在alias中调用这些函数即可。
- 用到的Slick-C函数
// 获取当前文件名,参数'PD'表示从获取的完整文件名中去掉Path和Directory,保留Extension和Name
_str _get_file_name( ){
_str file_name = _strip_filename( p_buf_name, 'PD' );
return file_name;
} // 获取当前日期,参数'I'表示按照标准 yy-mm-dd 格式
_str _get_date( ){
_str date = _date( 'I' );
return date;
}
- 创建一个global-alias,命名为fileh,代码为
//-----------------------------------------------------------------------------
// File : %\m _get_file_name%
// Project : %(project)
// Author : chenbei <chenbei@rigol.com>
// Created : %\m _get_date%
// Last modified : %\m _get_date%
//-----------------------------------------------------------------------------
// Description :
// %(file_desc)
//-----------------------------------------------------------------------------
// Copyright (c) by Rigol This model is the confidential and
// proprietary property of Rigol and the possession or use of this
// file requires a written license from Rigol.
//------------------------------------------------------------------------------
// Modification history :
// %\m _get_date% : created
//-----------------------------------------------------------------------------
注意调用函数时,使用%\m _func%的格式。
改进
使用时感觉还需要对它再进一步改进,添加一个命令,让代码每次修改后能够更新一个时间tag,并且修改Last modified时间标记。
添加一个文件更新alias,命名为fileup
%\m find_tag1%%\m _get_date%%\s
注意alias中的代码并不是以函数顺序执行,而是直接执行类似于替换的操作,所有这里要放在一行,否则会导致多余的换行。
然后新建一个user_macro.e文件,将用到的slick-C函数代码实现在文件中,如下:
// 获取当前文件名,参数'PD'表示从获取的完整文件名中去掉Path和Directory,保留Extension和Name
_str _get_file_name( ){
_str file_name = _strip_filename( p_buf_name, 'PD' );
return file_name;
} // 获取当前日期,参数'I'表示按照标准 yy-mm-dd 格式
_str _get_date( ){
_str date = _date( 'I' );
return date;
} // 获取Last modified字符串,定位日期位置
void find_tag1 ( ) {
find_tag2 ( ); //先定位
find( 'Last modified : ' );
cut_word(); //删除原来的时间信息(three word)
cut_word();
cut_word();
} // 获取modification history字符串位置
void find_tag2 ( ) {
find( 'Modification history :' );
_str a[ ];
a[] = '//';
a[] = _get_date( );
a[] = ': modified by chenbei';
_str com = join( a, ' ' ); //使用空格字符连接三个字符串,构成一行
insert_line( com );
}
当编辑完代码,需要更新文件头注释的时候,只需要在代码任意新一行输入 "fileup”然后按alias expansion快捷键即可将当前时间更新到文件头注释中去,在Modified history下会多一行,显示最后更改代码的时间。
后续计划继续摸索slickedit中的alias,多编写一些实用的类似template的功能。
slickedit的alias配置的更多相关文章
- git config文件总结及git alias配置
1. 文件位置 mac /etc/.gitconfig 系统级~/.gitconifg 用户级(覆盖系统级) windows C:\Users\$user\.gitconfig 当前项目下 .git/ ...
- webpack中 resolve.alias 配置,@import相关踩坑
1.在使用webpack打包项目时,可以在配置文件中配置resolve.alias来定义一些绝对路径,方便在项目中灵活使用路径,举例如下: resolve: { extensions: [‘.js‘, ...
- IDE vscode识别webpack中alias配置路径
引言网上看到一篇关于 ctrl+鼠标左键无法识别别名路径的问题,最后有人回复的方法只能在ts项目中可以识别 https://segmentfault.com/q/1010000011911879 最后 ...
- nginx location关于root、alias配置的区别
一.首先优先级如下: = 表示精确匹配,优先级最高 ^~ 表示uri以某个常规字符串开头,用于匹配url路径(而且不对url做编码处理,例如请求/static/20%/aa,可以被规则^~ /stat ...
- webpack配置别名alias出现的错误匹配
@(webpack) webpack是一款功能强大的前端构建工具,不仅仅是针对js,它也可通过各种loader来构建相关的less,html,image等各种资源,将webpack配合流程制定工具gu ...
- nginx代理配置 配置中的静态资源配置,root 和 alias的区别。启动注意事项
这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...
- nginx代理配置 配置中的静态资源配置,root 和 alias的区别
这篇主要内容是:nginx代理配置 配置中的静态资源配置,root 和 alias的区别.启动注意事项! 为什么会在window上配置了nginx呢?最近我们的项目是静态资源单独放在一个工程里面,后端 ...
- nginx1.14.0版本location路径,多级文件目录配置,root与alias的配置区别
1.多级目录配置 多级目录是指像/html/mypage 等等配置: server { listen 80; server_name localhost; location = /page1/ { # ...
- 对 Sea.js 进行配置(一) seajs.config
可以对 Sea.js 进行配置,让模块编写.开发调试更方便. seajs.config seajs.config(options) 用来进行配置的方法. seajs.config({ // 别名配置 ...
随机推荐
- (转)COM组件里的AddRef()
D3D是 COM组件,它在服务进程中运行,而不在当前的客户进程中.在DX组件运行过程中,要创建一系列接口对象,如CreateDevice()返回接口指针,这些接口及其占用内存什么时候释放,要通过“引用 ...
- 【Cocos2d-x 3.x】 精灵帧缓存和纹理缓存
转自泰然网(Cocos2d-x 3.x官方文档):精灵帧缓存:http://www.tairan.com/archives/6378/ 纹理缓存: http://www.tairan.com/ar ...
- XSS跨站脚本小结
XSS漏洞验证经常遇到一些过滤,如何进行有效验证和绕过过滤呢,这里小结一下常见的一些标签,如<a><img>等. 参考链接:http://www.jb51.net/tools/ ...
- HTML5视频Video 音频Audio
视频协议 视频格式 Flash HTML5 HTTP flv HTTP f4v HTTP mp4 HTTP m3u8 HTTP webm HTTP ogg RTMP flv RTMP f4v RTMP ...
- Facebook 网络模拟工具 ATC部署及使用
废话引用: Facebook此前开源了增强网络流量控制工具 ATC,能利用WiFi网络模拟各种移动网络,测试智能手机和APP在不同国家地区和应用环境下的性能表现.ATC能够模拟2G.2.5G(Edge ...
- 素数方阵的工程ing
2016 12 12 16 12 开始 2016 12 13 17 30 还没开打 2017 1 3 ..... 一星期前貌似打完了... 如下 #include<iostream> ...
- [NOIP2015] 子串(dp)
题目描述 有两个仅包含小写英文字母的字符串 A 和 B.现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一 个新的字符串,请问 ...
- Linux运维入门到高级全套常用要点
Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...
- 时间戳 JavaScript parse() 方法 处理技巧
返回1970/01/01至2012/3/21之间的毫秒数: var d = Date.parse("March 21, 2012"); d 输出结果: 1332259200000 ...
- gzip压缩及测试方法【转载】
Nginx开启Gzip压缩大幅提高页面加载速度 http://www.veryhuo.com/a/view/51706.html 刚刚给博客加了一个500px相册插件,lightbox引入了很多js文 ...