Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim中的Colorcolumn和文本同时换行_Vim_Word Wrap - Fatal编程技术网

Vim中的Colorcolumn和文本同时换行

Vim中的Colorcolumn和文本同时换行,vim,word-wrap,Vim,Word Wrap,我正在Vim的第90列中设置colorcolumn,但同时我希望保持文本包装功能 因此,为了保持包装行上的彩色列,并且没有中断,我必须输入我的.vimrc类似的内容: let col_no=90 if ((longest_line_size / 90) >= 2) for i in range(2, (longest_line_size / 90)) let col_no=col_no . "," . ((90*i) + (&columns - 91)) endfo

我正在Vim的第90列中设置
colorcolumn
,但同时我希望保持文本包装功能

因此,为了保持包装行上的彩色列,并且没有中断,我必须输入我的
.vimrc
类似的内容:

let col_no=90
if ((longest_line_size / 90) >= 2)
  for i in range(2, (longest_line_size / 90))
    let col_no=col_no . "," . ((90*i) + (&columns - 91))
  endfor
endif
execute 'set colorcolumn=' . col_no
问题是,当我调整窗口(或缓冲区)的大小时,包装线上的彩色列没有对齐。解决方案是在调整缓冲区大小时重新运行函数


这可能吗?也欢迎任何其他解决方案/建议。

每次窗口大小更改时,您都可以使用以下自动命令运行函数

augroup Resize
  autocmd!
  autocmd VimResized * :call YourFunctionName<cr>
augroup END

请注意,函数名必须以大写字母开头。

谢谢,这是正确的。为了完成算法,我还需要知道当前缓冲区中的列数(&columns是整个窗口中的列数)。你知道如何做到这一点吗?谢谢看起来这应该能回答你的问题。另外,如果你喜欢我的回答,我希望你能投赞成票。谢谢非常感谢你!我很想提高投票率,但我的名声不允许我这么做。当我收集到足够的分数时,我会回来。没问题;这是有道理的。我获得了必要的声誉,并对你的答案投了赞成票。再次感谢!
function YourFunctionName
  #your code goes here
endfunction