加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Vim中配置可变宽度选项卡间距

发布时间:2020-12-16 01:17:59 所属栏目:安全 来源:网络整理
导读:我有时希望Vim读取制表格式的文件,其中最合理的格式化意味着制表符宽度不均匀.换句话说,我想在一个位置停止制表符: 5,30,50,60,70,80 我怎么能在Vim中这样做? 如果您实际上不需要更改tabstops并且只需插入正确数量的空格就可以逃脱,我建议您编写脚本.这是
我有时希望Vim读取制表格式的文件,其中最合理的格式化意味着制表符宽度不均匀.换句话说,我想在一个位置停止制表符:

5,30,50,60,70,80

我怎么能在Vim中这样做?

如果您实际上不需要更改tabstops并且只需插入正确数量的空格就可以逃脱,我建议您编写脚本.这是一个快速而肮脏的版本,可能会做你想要的:
let s:tabstops = [0,5,80]
fun! Find_next(pos)
  if a:pos > min(s:tabstops) && a:pos < max(s:tabstops) 
    let my_count = 0
    while my_count < len(s:tabstops) - 1
      if a:pos > get(s:tabstops,my_count) && a:pos < get(s:tabstops,my_count+1)
        return get(s:tabstops,my_count+1)
      endif
      let my_count = my_count + 1
    endwhile
    return -1
  endif
  return -1
endfun
fun! Tabbing()
  let pos = col('.')
  let next_stop = Find_next(pos)
  let the_command = "normal i"
  let my_count = 0
  while my_count < next_stop - pos
    let the_command = the_command . " "
    let my_count = my_count + 1
  endwhile
  let the_command = the_command . ""
  execute the_command
endfun
imap <TAB> j<ESC>:call Tabbing()<CR>lxi

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读