Vi & Vim

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


1
从字典中删除单词
我正在使用gvim: $ gvim --version VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Feb 16 2017 06:36:51) MacOS X (unix) version Included patches: 1-329 Compiled by Homebrew 我正在编辑以下文本行: enable mouse scrolling, pane selection, pan reiszing and so on. 我注意到“ reiszing”的拼写错误,因此我使用以下命令打开了拼写检查: setlocal spell spelllang=en_us “重新整理”如预期的那样突出显示,但是随后我不小心使用了zg将单词添加到我的字典中的命令。我/usr/share/dict/words摸索了一下,但没有发现“正在放松”。 如何从字典中删除该单词? 如果该单词未存储在中/usr/share/dict/words,那么它在哪里? 我在另一个答案中看到该命令 set runtimepath? 可用于查找vim使用以下路径: …


1
如何修复Python关键字(例如“ self”)的“ missing”语法突出显示?
我正在尝试为python突出显示语法;我的颜色与屏幕快照中不同Vim配色方案中“应该”显示的颜色不同。您会看到将.rb(正确显示)与.py(看起来好像已经关闭)进行比较的区别: 例如,注意如何self不突出显示。(这是在base16中进行的,但在其他配色方案中,其比较将是相似的)。通常,看起来对象语法突出显示是错误的。 我尝试过的一些事情: 查看vim加载的语法脚本;在下面的示例中,.py和.rb之间的唯一区别是,当然,ruby获取了indent / ruby​​.vim和语法/ruby.vim,而python获取了indent / python.vim和语法/python.vim。这些是自制软件vim随附的文件。 在macvim中加载相同的文件,而不是在终端(iterm2)vim中加载;同样的问题,文件看上去与图片完全相同。 添加新的python.vim文件。即使用作.vim/after脚本也不能解决问题。 欢迎任何建议;我已经花了好几个小时不停地努力,无法弄清楚为什么突出显示效果不如预期。

3
跳转到我刚刚更改的单词的下一个出现
如果我有以下情况: function foo(bar) { return bar + 1; } 而且我cw习惯将第一个更改bar为baz,如何跳转到下一个匹配项bar,以便可以.进行相同的更改? 我不能使用*,因为那样会在光标下搜索当前单词,而且我愚蠢地没有bar第一次搜索,因此n无法正常工作。 是否有一种简单的方法来搜索单词更改之前的下一个出现的单词? 我不希望做一个搜索和替换,因为无论有其他出现bar在我的文件,我不想改变,或因为有只有两个实例bar,我忘了:%s/bar/baz/之前,我开始和那太更改唯一剩余实例的工作量很大。
12 search 

3
用纯vimscript代替(不带`:s`)
我的vimrc中有以下内容: func! AddSpaceBeforeEqual() s/\([a-z)_0-9"'\[\]]\)=/\1 =/ge endfunc 我正在使用vint整理我的vimrc,并收到以下警告: ProhibitCommandWithUnintendedSideEffect 避免具有意外副作用的命令。避免使用:s [ubstitute],因为它会移动光标并显示错误消息。首选更适合脚本的函数(例如search())。对于许多vim命令而言,存在执行相同功能且副作用较少的函数。有关内置函数的列表,请参见:help functions()。Google Vimscript样式指南 但是,我不认为它们是不使用:s命令即可进行替换的方法。 例如,该search()函数提供与模式匹配的行,但是无法进行替换。该substitute()函数在字符串上操作,并且不能替代整个文件。 我应该自己实现替代方法,还是它们是重写我的函数的更明智的方式?

1
拼写错误有奇怪的颜色
我在vim中使用拼写检查器,但我发现一个功能很烦人:错误以一些奇怪的颜色突出显示,这在gnome终端设置中找不到。 我想将突出显示颜色更改为其他颜色,以免混淆wordd,而不更改我的全局字体颜色。我该如何配置?

1
有哪些选项可以进入插入模式?
我a以前从未意识到没有关于插入模式开始位置的系统来进入插入模式。 有时我很烦恼,a将光标放在行的第一个字符之后,但问题是:它在当前光标位置之后进入插入模式。 然后我意识到我可以在行的末尾使用A或在当前行的下方进入插入模式o。 在正常模式下进入插入模式有哪些方式,它们有什么区别?

1
Vim导航的手动放置
我是Vim的新用户,我想问这个基本问题,以确保我以正确的方式开始学习Vim,并且不会养成不良习惯。 使用Vim时,如何定位右手?我发现从手指上的jkl;按键开始比较自然,但是随后发现h导航时有时会丢失按键。相反,如果我将手指放在上面,hjkl那么我会发现自己的单词含糊不清,因为这不是我受过训练的将手放在键盘上的位置,而且我发现jk用中指和无名指切换键会很尴尬。

1
删除匹配行之前和之后的n行范围?
我有一个重复的配置文件,我想匹配一个正则表达式,并在匹配之前和之后删除一系列行。我也想在一个命令中删除匹配项。 我可以用... :g/match/-1d ...多次从比赛前删除多行... ...并将其与以下几个呼叫组合... :g/match/+1d ...在比赛结束后删除多行... 但是,有没有办法删除一条命令匹配之前,之后和包括的行范围?

2
进行色彩设计时,EOF下方屏幕〜区域的标签是什么?
我发现了一些我喜欢的配色方案,但其中一些具有以下特点:显示器上文件内容下方的行(~区域)具有如图所示的不同背景色。我希望它是相同的背景颜色为普通文字。编辑配色方案时,我要寻找什么关键字来解决此问题? 我正在使用MacVim,但我认为这是一个普遍的问题。



3
在项目树深处查找和打开文件的有效方法?
如果没有像ctrlp和这样的插件NERDTree,在项目树深处查找和打开文件的最有效方法是什么? 将设置为path会**/*导致在.git其他隐藏目录中无用的文件,因此这似乎是不可能的。 有没有一种方法可以聪明地设置路径,使其仅包含文件git ls-files或其他内容?

3
Vim -p:收到致命信号SEGV?
使用-poption 启动Vim时出现此问题。假设我从 vim -p first.txt second.txt 然后,在编辑之后,first.txt我转到second.txt使用gt。我按下键gg和G一次。这会产生错误 Vim: Caught deadly signal SEGV 从这一点来看,Vim不响应任何信号,包括Ctrl D。我只能通过杀死终端来关闭此会话。 仅当我使用-poption 调用Vim时,才会出现此问题。如果first.txt先打开然后再使用:tabe打开second.txt,则不会出现此问题。 任何想法为什么会发生这种情况? 输出vim --version: VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 2 2014 19:40:46) Included patches: 1-52 Modified by pkg-vim-maintainers@lists.alioth.debian.org Compiled by buildd@ Huge version with GTK2-GNOME GUI. Features included (+) or …
12 crash 

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.