当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 如何让VIM自动在运算符左右补空格?
帖子发表于 : 2007-12-14 11:48 

注册: 2006-05-04 20:00
帖子: 194
送出感谢: 0 次
接收感谢: 0 次
比如输入s=a+b;,自动补成s = a + b;


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-12-14 12:18 
头像

注册: 2007-01-15 17:15
帖子: 3766
送出感谢: 0 次
接收感谢: 0 次
这个不好弄阿, 比如bash和 C语法不一样, bash 里边 =两边空格不空格意义不同, 还是编辑的时候控制比较好

简单的,可以这样实现 :map <F2> i<space><Esc>ea<space><Esc>

这样在 +号上按F2 两边补空格,,没什么意思哦 :)


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-12-14 12:22 

注册: 2006-05-04 20:00
帖子: 194
送出感谢: 0 次
接收感谢: 0 次
emacs有没有这样的功能?


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-12-14 18:32 

注册: 2006-09-20 19:56
帖子: 768
送出感谢: 0 次
接收感谢: 1
kobecater000 写道:
emacs有没有这样的功能?


不同语言对空格的处理是不同的,在同一各种语言中,也有很复杂的情况要处理,比如*在C中既表指针,又表乘号,自动加空格的话会很麻烦。

无论用vim或是emacs,都可以方便的调用外部程序格式化代码,达到你想要的加空格的目的。
对于C\C++\Java,推荐astyle。

可以配置成每次保存时调用astyle格式化代码,算是一个折衷的办法,当然也可以定义键映射。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 如何让VIM自动在运算符左右补空格?
帖子发表于 : 2007-12-14 18:36 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
kobecater000 写道:
比如输入s=a+b;,自动补成s = a + b;


设置插入模式下运算符键的映射
不同语言的问题, 可以将映射放到autocmd判断里


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 如何让VIM自动在运算符左右补空格?
帖子发表于 : 2007-12-14 18:49 

注册: 2006-09-20 19:56
帖子: 768
送出感谢: 0 次
接收感谢: 1
BigSnake.NET 写道:

设置插入模式下运算符键的映射
不同语言的问题, 可以将映射放到autocmd判断里


对C中的*不好处理,类似的,运算符如果有其它语义的都难。


最后由 zhangsong023 编辑于 2007-12-14 18:51,总共编辑了 1 次

页首
 用户资料  
 
7 楼 
 文章标题 : Re: 如何让VIM自动在运算符左右补空格?
帖子发表于 : 2007-12-14 18:50 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
zhangsong023 写道:
BigSnake.NET 写道:

设置插入模式下运算符键的映射
不同语言的问题, 可以将映射放到autocmd判断里


对C中的*不好处理。


那就没办法了, 要分析语法


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 如何让VIM自动在运算符左右补空格?
帖子发表于 : 2007-12-15 11:05 

注册: 2006-09-20 19:56
帖子: 768
送出感谢: 0 次
接收感谢: 1
BigSnake.NET 写道:

那就没办法了, 要分析语法


++ -- += -= /= /* */

太多了,感觉做键映射几乎没有可行性。


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2007-12-15 12:21 

注册: 2006-05-04 20:00
帖子: 194
送出感谢: 0 次
接收感谢: 0 次
应该有插件支持这种功能的吧


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译