Vi & Vim

使用vi和Vim系列文本编辑器的人员的问答

1
如何将C ++注释对齐以符合Google样式?
有什么方法可以使Vim格式化我的评论以符合Google cpplint的要求? 顶部不符合要求,必须进行5项更改。 将此评论保持在同一级别 之后加一个空格 // 在代码和注释之间至少添加两个空格 对齐评论 之后添加空间 // (注意:我也问这个问题在这里,有可能用表格做https://github.com/godlygeek/tabular/issues/44) 编辑:根据下面的建议,这有效: 插件=> https://github.com/rhysd/vim-clang-format .nvimrc或.vimrc配置: let g:clang_format#code_style='google' let g:clang_format#style_options = { \ "AccessModifierOffset" : -3, \ "Standard" : "C++03"}

2
在cmdline上自动完成选项值
我无法计算尝试执行此操作的次数: :set foldmethod=syn^I 似乎完成对选项值不起作用! 在某些情况下,选项是复杂的字符串,其中补全可能没有意义。(例如'comments'。) 但是,是否有任何努力为常见用例提供通配符完成功能? 如果没有,我如何使上面的示例起作用?(假设我想完成其中一个字符串['manual', 'indent', 'expr', 'marker', 'syntax']。)


2
Vim的默认“路径”选项是否多余?
从Vim的帮助文档(请参阅:):help 'path': 'path'字符串(在Unix上默认:“ .,/usr/include,,”) -要相对于当前文件的目录进行搜索,请使用: :set path=. -要在当前目录中搜索,请在两个逗号之间使用一个空字符串: :set path=,, 似乎.和,,“路径”选项没有区别。它们都表示当前目录。 我不明白为什么我们需要同时将.和放在,,路径选项中。:set path=.和之间有什么区别:set path=,,?
10 path 

3
替代搜索中的斜杠并替换长字符串
vim搜索和替换字符串是否有其他选择,而不必转义字符串中的每个特殊字符。 例如,如果我想匹配以下字符串并替换为某些内容 [ERROR] Login unsucessful 那我要做 :%s/\[ERROR\]\ Login\ unsucessful/something/g 对于包含很多特殊字符的复杂字符串,它变得更加难看和痛苦 我想做类似的事情 :%s/"[ERROR] Login unsucessful"/something/g 这样可以避免所有逃跑。有没有这样的功能?

1
为什么YouCompleteMe无法完成函数参数?
我想在C ++语义完成中使用YouCompleteMe,但是经过数小时的尝试,我找不到为什么它无法按预期工作。 一切似乎都正常,但是我无法完成函数参数。 我在Archlinux(Openbox上的Gnome Terminal)上运行Vim: Linux Arch-PC 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux 我按照说明(带有install.py脚本和clang支持)安装了YCM 。我还尝试了AUR YCM软件包,并遇到了同样的问题。 YcmDebugInfo: Printing YouCompleteMe debug information... -- Server has Clang support compiled in: True -- Clang version: clang version 3.7.0 (tags/RELEASE_370/final) -- Flags for /home/arthur/vimtest/main.cpp loaded from /home/arthur/vimtest/.ycm _extra_conf.py: …


3
如何在ex命令输出中grep?
如何在ex命令输出中搜索模式?例如,如何在:scriptnames命令输出中搜索文件名模式?在帮助的所有口味grep和vimgrep只有{file}在何处进行搜索的地方。
10 vimscript 

2
有没有办法插入单个字符然后退出插入模式?
当我浏览文本时,例如,在某些单词或引号周围加上反引号时,每次插入后必须按Esc或Ctrl- [会很烦人。插入内容(和附加内容)不同,因此.并没有太大帮助。 是否有任何类似的功能,r使单个字符后返回正常模式,但使用插入模式而不是替换模式?



4
neovim终端仿真器的用例?
neovim和Vim的最大区别是neovim包括一个异步工作的终端仿真器。 但是,我看不到如何从此功能中受益。我可以用什么呢?您能为neovim的终端功能提供一些用例,以便我了解如何最大程度地使用它吗? 在普通的Vim我通常使用:read !{command},:write !{command},Ctrl+Z和fg以及TMUX分割窗口。
10 terminal  neovim 

1
打印突出显示搜索结果
当我们在vim中搜索模式时,匹配项通常会突出显示。但是,当我们打印出来时,高光消失了。我都尝试过:hardcopy > my_file.pdf和:TOhtml。两者都没有保留亮点。 有什么方法可以将突出显示匹配模式的文档输出到pdf文件? 我在Win 7机器上使用GVim 7.4。

2
设置`wrap`选项时的滚动问题
我发现每次wrap启用该选项时都会处理此问题(在我特殊的情况下,当我使用markdown文件时)。 什么情况是,虽然滚动向上和向下的缓冲j和k,文字的线条包裹在最顶部(在视觉上形成一个段落),远远底不滚动顺利(即逐个)出画面。取而代之的是,整个段落消失不见,并突然从视线中重新出现,从而产生令人迷惑和烦人的效果。 我认为GIF会更好地解释会发生什么。在这里,我只是k反复按以向上滚动。注意底部附近的段落! 我习惯了这种行为,因为我认为它是不可修复的,但是后来我意识到,物理线路和未wrap设置不会发生这种情况。 有没有办法告诉Vim用可视线而不是物理线滚动出屏幕? ps:是的,我已将jand 映射k到gjand gk。

1
如何用多行替代?
我想在多行中插入一个单词,是否有类似的命令 :[2,3,5,7,11]s/^/word\ /g 哪个会插入word第2行,第3行,第5行,第7行和第11行的开头? 在这里,多行不连续。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.