vim可视模式插入问题

Vim、Emacs配置和使用
头像
rykka
帖子: 59
注册时间: 2011-06-24 9:14

Re: vim可视模式插入问题

#16

帖子 rykka » 2011-11-25 12:42

嗯,我安装了surround,但是没怎么用。

代码: 全选

vnoremap [p <esc>`>a]<esc>`<i[<esc>lv`>l
这样的话大概就不会选错区域了。
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim可视模式插入问题

#17

帖子 lilydjwg » 2011-11-25 13:57

rykka 写了:嗯,我安装了surround,但是没怎么用。

代码: 全选

vnoremap [p <esc>`>a]<esc>`<i[<esc>lv`>l
这样的话大概就不会选错区域了。
这么好用的东东都不好好用。。。这东西可以方便地对各种文本对象的 surroundings 进行增删改操作,其中“改”我用得最多。可惜不支持 repeat.vim。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: vim可视模式插入问题

#18

帖子 eexpress » 2011-11-25 14:00

简单实现就行。我是尽量少带插件。
● 鸣学
头像
Fermat618
帖子: 728
注册时间: 2008-12-28 16:01

Re: vim可视模式插入问题

#19

帖子 Fermat618 » 2011-11-25 14:23

eexpress 写了:简单实现就行。我是尽量少带插件。
简单的实现往往意味着很多的bug,以及用起来的各种不爽。
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
头像
rykka
帖子: 59
注册时间: 2011-06-24 9:14

Re: vim可视模式插入问题

#20

帖子 rykka » 2011-11-25 14:27

lilydjwg 写了:
这么好用的东东都不好好用。。。这东西可以方便地对各种文本对象的 surroundings 进行增删改操作,其中“改”我用得最多。可惜不支持 repeat.vim。
主要有些操作不太习惯,因为有些我写了更直观的mapping。
好吧,让我研究下他的文档……
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: vim可视模式插入问题

#21

帖子 fanhe » 2011-11-25 15:05

最简单的了

代码: 全选

xnoremap ( di()<ESC>P
xnoremap [ di[]<ESC>P
xnoremap ' di''<ESC>P
xnoremap " di""<ESC>P
上次由 fanhe 在 2011-11-25 15:15,总共编辑 1 次。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: vim可视模式插入问题

#22

帖子 fanhe » 2011-11-25 15:12

Fermat618 写了:
eexpress 写了:简单实现就行。我是尽量少带插件。
简单的实现往往意味着很多的bug,以及用起来的各种不爽。
这位同学没听过一句话吗
有两种软件设计的方案,一种是把它做得如此简单以至于明显不会有bug,另一种是把它做得如此复杂,以至于不会有明显的bug。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: vim可视模式插入问题

#23

帖子 eexpress » 2011-11-25 15:35

fanhe 写了:最简单的了

代码: 全选

xnoremap ( di()<ESC>P
xnoremap [ di[]<ESC>P
xnoremap ' di''<ESC>P
xnoremap " di""<ESC>P
你这插入模式下会乱的。

其实我不需要再次选中,
vnoremap [p <esc>`>a]<esc>`<i[<esc>i
vnoremap (( <esc>`>a)<esc>`<i(<esc>i
vnoremap {{ <esc>`>a}<esc>`<i{<esc>i
够了。用于加入latex的符号方便。
● 鸣学
头像
Fermat618
帖子: 728
注册时间: 2008-12-28 16:01

Re: vim可视模式插入问题

#24

帖子 Fermat618 » 2011-11-25 15:44

fanhe 写了:
Fermat618 写了:
eexpress 写了:简单实现就行。我是尽量少带插件。
简单的实现往往意味着很多的bug,以及用起来的各种不爽。
这位同学没听过一句话吗
有两种软件设计的方案,一种是把它做得如此简单以至于明显不会有bug,另一种是把它做得如此复杂,以至于不会有明显的bug。
还有一种情况是,看上去很简单,到处是bug。
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: vim可视模式插入问题

#25

帖子 fanhe » 2011-11-25 16:16

eexpress 写了:
fanhe 写了:最简单的了

代码: 全选

xnoremap ( di()<ESC>P
xnoremap [ di[]<ESC>P
xnoremap ' di''<ESC>P
xnoremap " di""<ESC>P
你这插入模式下会乱的。

其实我不需要再次选中,
vnoremap [p <esc>`>a]<esc>`<i[<esc>i
vnoremap (( <esc>`>a)<esc>`<i(<esc>i
vnoremap {{ <esc>`>a}<esc>`<i{<esc>i
够了。用于加入latex的符号方便。
你都用鼠标了,还怕指针到处跑

不过你这个 map 还不错的,至少画面不会晃,收了

有问题,sel 模式为 inclusive 和 exclusive 情况下行为不一样
还是回去写个函数算了
sarrow
帖子: 403
注册时间: 2007-10-27 1:04

Re: vim可视模式插入问题

#26

帖子 sarrow » 2011-11-25 23:17

你都用鼠标了,还怕指针到处跑

不过你这个 map 还不错的,至少画面不会晃,收了

有问题,sel 模式为 inclusive 和 exclusive 情况下行为不一样
还是回去写个函数算了

---------------------------------

其实,我写的那个插件,已经专门针对 inclusive 和 exlusive 的情况做过处理了。

基础函数已经有了,自定义和很方便。

缺点,就是不支持gv操作——gv还是回到原来的选区,而不会跟着修改而变化。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: vim可视模式插入问题

#27

帖子 fanhe » 2011-11-26 2:22

不改了, 简简单单的一个map, 够用就好
回复