如何在‘;nowrap&x2019;设置为Vim吗?

如何在‘;nowrap&x2019;设置为Vim吗?,vim,Vim,有人能帮我找到解决以下不便的方法吗?每当我设置nowrap选项时,我希望水平滚动条出现,反之亦然,当我将其设置回wrap时 目前,我单独使用这些设置来简化工作: nnoremap <silent> <F3> :if &guioptions=~#'b'<Bar>set guioptions-=b<Bar>else<Bar>set guioptions+=b<Bar>endif<CR> map <F2&

有人能帮我找到解决以下不便的方法吗?每当我设置
nowrap
选项时,我希望水平滚动条出现,反之亦然,当我将其设置回
wrap

目前,我单独使用这些设置来简化工作:

nnoremap <silent> <F3> :if &guioptions=~#'b'<Bar>set guioptions-=b<Bar>else<Bar>set guioptions+=b<Bar>endif<CR>
map <F2> :set nowrap! <CR> 
nnoremap:if&guioptions=~#'b'set guioptions-=belset guioptions+=bendif
地图:现在开始!

有没有一种方法可以同时一致地切换这两个选项?

让我们构造一个命令来相应地切换这两个选项 马上。首先,无论如何,它都应该切换
wrap
选项:

:set wrap!
然后,
guioptions
应该根据包装是否正确而改变 在命令执行时启用。如果文本已换行,则 应显示底部滚动条,以便
包装
残疾人士:

:set guioptions+=b
或者,如果关闭了文字环绕,则应隐藏底部 滚动条:

:set guioptions-=b
为了从上述三个命令中生成一个命令,我们可以使用 表达式映射

:nnoremap <silent><expr> <f2> ':set wrap! go'.'-+'[&wrap]."=b\r"
:nnoremap”:设置换行!转到“.”-+“[&wrap]。“=b\r”
这就变成了按键的顺序

:设置换行!go+=b
Enter

当设置了
wrap
选项(并计算为1)时,或

:设置换行!go-=b
Enter


否则(当
&wrap
的计算结果为零时)。

感谢dude提供的解决方案!!:)@詹姆斯邦德:如果它适合你,请,@ib。使用inoremap的代码是什么?实际上我使用了一个函数:
函数!Wrap()if&Wrap set nowrap set guioptions+=b else set Wrap set guioptions-=b endif endfunction
和映射inoremap:call Wrap()a
@remann:对于插入模式,映射如下所示<代码>:inoremap“\:set wrap!go”'-+'[&wrap]。“=b\r”。对于一个命令,使用Ctrl+O暂时离开插入模式(并在执行后立即返回)比使用Esc手动退出到正常模式,然后使用
i
a
正常模式命令重新进入插入模式更方便。此外,前一种方法使光标位置保持圆滑,而后一种方法在某些情况下可能会改变光标位置。这是哪个版本的vim?我在Vim 7.4上试用了它,它只包装和打开文本-滚动条永远不会出现-是否需要一些额外的设置才能工作?