vim 使用技巧
日期:2007年7月21日 作者: 查看:[大字体 中字体 小字体]-
" 在编辑的时候,我经常需要暂时离开当前的位置作一些操作后再返回原处.虽然m和'命令
" 但是一个寄存器只能保存一项内容,如果我需要保存多项当前位置就必须要用多个寄存
" 器并记住其保存顺序,才能正确返回.我只想把自己的注意力放在要编辑的内容上,而不
" 是去费力地记住这些东西.我希望寄存器能像堆栈一样工作,安照后进先出的顺序处理
" 保存的多项位置.
" 我用一个字符串来模拟堆栈的行为,各项之间用符号#分开.入栈时,将内容追加到字符串
" 的右边;出栈时,取出从右边开始的第一个#开始的子串.2004-12-21 17:48:24
" 在编辑的时候,我经常需要暂时离开当前的位置作一些操作后再返回原处.虽然m和'命令
" 但是一个寄存器只能保存一项内容,如果我需要保存多项当前位置就必须要用多个寄存
" 器并记住其保存顺序,才能正确返回.我只想把自己的注意力放在要编辑的内容上,而不
" 是去费力地记住这些东西.我希望寄存器能像堆栈一样工作,安照后进先出的顺序处理
" 保存的多项位置.
" 我用一个字符串来模拟堆栈的行为,各项之间用符号#分开.入栈时,将内容追加到字符串
" 的右边;出栈时,取出从右边开始的第一个#开始的子串.
function! PushPosition()
let l:locate = line(".") . "." . col(".")
if !exists("s:position_heap")
let s:position_heap = "#" . l:locate
else
let s:position_heap = s:position_heap . "#" . l:locate
endif
echo "push position:" . l:locate
endfunction
function! PopPosition()
if !exists("s:position_heap")
return
endif
let l:last_push = strridx(s:position_heap, "#")
if l:last_push == -1
return
else
let l:position = strpart(s:position_heap, l:last_push + 1)
let l:row = strpart(l:position, 0, stridx(l:position, "."))
let l:column = strpart(l:position, stridx(l:position, ".") + 1)
call cursor(l:row, l:column)
let s:position_heap = strpart(s:position_heap, 0, l:last_push)
endif
endfunction
---------------
这是我自己写的VIM两个函数,放在plugin目录下。
在查看程序代码时很有用。
我将这两个函数调用绑定在F9和CTRL+F9上,当遇到要记录位置时,就F9,F9,...,需要返回原点时就CTRL+F9,CTRL+F9,... - [1] [2] 下一页
-
- vim 使用技巧 相关文章:
- ·vim 使用技巧
- vim 使用技巧 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:Oracle 游标使用大全
下一篇:ORACLE 乱码问题的解决
精品推荐
热点TOP10
- ·9istatspack使用手册
- ·ORACLE UPDATE 语句语法与性能分析的一点看法
- ·ORACLE备份&恢复案例--ORACLE BACKUP&RESTORE SCHEME
- ·关于oracle日期函数的介绍和使用
- ·Oracle的SQL*PLUS命令的使用大全
- ·oracle函数之常见单行字符串函数
- ·ORACLE傻瓜手册长篇连载
- ·详细介绍ORACLE sqlplus命令
- ·Decode 函数的用法
- ·ORACLE 培训教程(1)
- ·Oracle 游标使用大全
- ·把Oracle数据库移植到Microsoft SQL Server 7.0
- ·Oracle数据库检查死锁的sql
- ·Oracle的SQL语句执行效率问题查找与解决方法
- ·Oracle常用的OCI函数
- ·用正则表达式函数验证身份证号码合法性
- ·oracle中pro*c的学习
- ·VMware下RedHat安装Oracle 9i RAC全攻略
- ·Oracle 9i 分析函数参考手册
- ·数据库备份与恢复测试(8)
特别推荐
- ·Oracle环境下APACHE虚拟服务器如何设置
- ·常见Oracle HINT的用法
- ·ORA-00257: archiver error. Connect internal only, until freed.
- ·oracle的update问题
- ·小议索引的使用
- ·oracle产品服务和技术级别介绍,OrACLE服务
- ·Oracle 数据类型
- ·Oracle数据库检查死锁的sql
- ·怎样将冷备份移植到另一台Solaris机器上
- ·Oracle 动态SQL返回单条结果和结果集
- ·手动建立 Oracle9i 数据库
- ·Oracle内存结构(二)----Shared Pool的详细信息
- ·DELPHI 调用 Oracle 存储过程并返回数据集的例子.
- ·关于block中行数据的存储与空间重组三
- ·Sybase及SQL Anywhere SQL语句小结
- ·ORACLE备份&恢复案例--ORACLE BACKUP&RESTORE SCHEME
- ·Oracle ERP 11业务调研报告-AP应付帐
- ·在 Oracle 数据库上构建 .NET 应用程序
- ·Oracle的SQL语句执行效率问题查找与解决方法
- ·oracle中pro*c的学习
