Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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_IT技术博客_编程技术问答 - 「Fatal编程技术网」

如何在windows下的vim中递增(CTRL-A不起作用…)

当CtrlX在windows下的vim中工作正常时,CtrlA选择all(duh) 有没有办法在windows下通过按键增加数字?试试Ctrl-NumPad+ ()通过打开vim目录中的“mswin.vim”文件并找到如下部分,可以使CtrlA在windows中递增: " CTRL-A is Select all noremap <C-A> gggH<C-O>G inoremap <C-A> <C-O>gg<C-O>gH<C-O&

如何暂时退出Vim并返回

如何退出Vim而不是:q,然后返回继续编辑?您可以通过以下方式临时切换到shell模式: :! <command> 如果您在Unix系统上,Ctrl+Z将挂起Vim并给您一个shell 键入fg返回。请注意,Vim在编辑时创建了一个交换文件,挂起Vim不会删除该文件(毕竟您并没有退出Vim)。在哑终端上,这种方法对于使用的编辑循环来说是相当标准的。我刚刚发现,对我来说,输入Z时最小化。假设终端Vim的味道为*nix: 暂停您的跑步Vim Ctrl+Z 将暂停进程并返回shell f

仅对齐VIM中第一个分隔符上的文本

假设我有以下代码: width: 215px; height: 22px; margin-top: 3px; background-color: white; border: 1px solid #999999; 我想这样排列它: width: 215px; height: 22px; margin-top: 3px; background-color: white; border: 1px solid #999999;

Vim:在Grep给出的行上打开匹配文件?

我想在命令行上,在进行grepping之后,自动获得Vim中结果的位置。有这样的特点吗 要在Vim中按grep给出的行打开的文件: % grep --colour -n checkWordInFile * SearchToUser.java:170: public boolean checkWordInFile(String word, File file) { SearchToUser.java~:17: public boolean checkWordInFile(String word

在Vim中查找文件(通过递归目录搜索)

是否有任何方法可以在Vim中递归搜索目录中的文件(需要时使用通配符)?如果不是本机的,是否有插件可以处理此问题?vim在名为grep、lgrep、vimgrep或lvimgrep的命令中有bild可以处理此问题 下面是关于如何使用它们的教程 您还可以像这样执行vim中的find或grep这样的外部命令 :!find ... 你可以用!要运行shell命令,请执行以下操作: :! find . -name *.xml vim作为内置的find命令(:help find),但只打开找到的第一个

Vim 请参见编辑器中的换行符和回车

Linux上是否有文本编辑器允许我查看换行符和回车符?Vim是否支持此功能?:Vim中的设置列表将显示空白。行尾显示为“$”,回车通常显示为“^M”。vi通过在下一行显示后续文本来显示换行符(LF字符,codex0A) 将-b开关用于二进制模式。例如,vi-b文件名或vim-b文件名-- 然后,它将显示Unix样式文件中通常不使用的CR字符(x0D),因为字符^M与官方答案不一致: :集合列表不会显示^M个字符(CRs)。向vi/Vim提供-b选项将起作用。或者,加载Vim后,键入:e++ff=

Vim 显示vi或emacs生产力的视频

我使用像eclipse、xcode和netbeans这样的文本编辑器,我很想看看使用emacs或vi的开发人员有多高效 所以,我想知道你们是否知道有任何视频显示实验vi或emacs开发人员的最高生产率 注意:我不是想发动一场编辑大战,我只是想看看uber程序员是如何工作的,他们使用什么编辑器。对于Vim,这很简单 尝试: Vimcasts很棒。以下URL提供了大量Emacs屏幕广播: 我最喜欢的Vim视频是德里克·怀亚特的。他们真的做得很好,很好地解释了各种各样的特征,他的幽默会让你面带微笑。其

立即关闭Vim中的所有视口(拆分屏幕)

当我使用Vim时,我倾向于以各种方式分割屏幕,但当我想关闭编辑器时,我必须分别关闭每个分割。是否有一种方法可以一次关闭所有拆分,而不管我打开了多少个拆分?如果我理解正确,:qall就是您想要的。使用:qa表示“全部退出” 如果您有未保存的缓冲区,则必须添加一个bang::qa已经提到,:qa是您想要的 因为我(过去)*经常想要这样做,所以我将这些添加到: “缺少ZZ和ZQ对应项: “快速保存缓冲区并退出所有内容 nnoremap ZS:w nnoremap ZX:qa *自从我发现以来,我再也

将当前线路发送至vim中的外部命令(无捕获)

目标是使用当前行作为TODO,并将其发送给某些外部程序。大概是这样的: :! /usr/bin/todo "content of current line" :!/usr/bin/todo ^R' 我知道filtering命令,但这意味着我想编辑我不想要的当前缓冲区(:.!用作筛选器)。我知道如何使用“%”获取当前文件,但是没有任何方法获取其他内容吗?也许可以使用:execute…将寄存器的内容插入命令行,这样做类似于: "1y$ //yank current row to registe

如何在VIM的EasyMoon插件中向上跳转?

如何在vim中使用EasyMoon插件时跳转到光标上方的行?f将向前搜索,而f将向后搜索(以及向上搜索!)。与t和t相同 这类似于标准Vim运动f/f 这在:help easymotion.txt中有详细说明。要向后搜索单词,请使用b 试试B搜索单词你的桌面看起来不错,但我在这个小窗口里什么都看不见。试着在你的问题中添加一个代码示例。你能解释一下两者的区别吗?除了一个搜索单词,另一个搜索单词之外,文档对这两个词都有类似的描述。但是,在这种情况下,单词和单词之间有什么区别呢?对于将来可能会接触到这

Vim 如何删除所有隐藏的缓冲区?

我喜欢在启用'hidden'的情况下运行Vim。不过有时候,我有很多隐藏的缓冲区,我想把它们都杀掉。我可以使用什么命令来删除缓冲区列表中的每个隐藏缓冲区?这没有经过彻底的测试,所以先暂时使用它 function! DeleteHiddenBuffers() let i=1 let lastbuf=bufnr("$") while i <= lastbuf if buflisted(i) && bufwinnr(i) == -1

Vim-最多删除搜索到的字符串

是否有VIM命令/键组合可以执行类似于dt/mystring(不起作用)的操作 dta尝试在当前行中查找字母a,但我想删除搜索字符串之前的所有内容(可能在其他行中)。试试这个 d/mystring 它不会删除字符串本身。d/mystring删除所有直到mystring 编辑:aww,太慢:/格雷格·雷诺兹提供了一个有效的解决方案。 或者,如果已定义搜索模式,请使用: dn n运动是独占的,因此图案的第一个字符不会被吃掉 使用该插件的另一种选择是,您可以使用t如何在不突出显示搜索和弄乱/缓冲区

Vim 如何找到与普通模式命令等效的命令模式?

我经常想知道普通模式命令的命令模式版本是什么,通常在g///表达式中使用它。例如,“J”的等价物是“join”,而“dd”的等价物是“d”(或者至少看起来是这样)。有没有一个通用的方法来解决这个问题——我缺少的帮助功能,或者只是一个列表 (现在我正在寻找一种与gq相当的命令模式,但这种情况经常发生,因此一般的解决方案会更好。)没有针对所有命令的函数(大多数命令非常简单,有些甚至涉及到切换到其他模式) :join命令实际上是一个例外。要使用普通模式命令,只需使用 :normal J 如果要编写脚

Vim 维姆:什么';let和set的区别是什么?

vim编辑器中的let和set之间有什么区别 我一直想知道为什么他们都存在 另外,我还想听听它的历史背景。Set是一个更加用户友好的界面,专门用于选项 例如 显示所有有效的选项 :set tw=40 将用作set textwidth=40 :set wrap& 将为选项wrap :set nowrap 将取消该选项 :set wrap! 将切换该选项 :set wrap! 最重要的是 :设置Tab#以完成制表 使用let:set用于设置选项,:let用于为变量赋值 一个选项的值

Janus/Vim中的双斜杠用于最大化窗格。不再工作了。知道为什么吗?

使用Janus的旧Vim设置有一个在拆分窗格环境中最大化给定窗格的有用快捷方式:按两次斜杠。这个快捷方式不起作用,因为我换了电脑并再次安装了Janus。这是一个我不记得的晦涩插件,就是找不到,还是一个janus预设已经停止了?无论哪种方式……我如何取回它?您可以使用最大化窗格(请参见:help CTRL-W\uu)。如果要查看键映射到什么,请尝试:map/。您可以使用nnoremap/\ucode>再次设置它,实际上它是双反斜杠。我不确定它是什么时候被替换的,但现在它是\zw(用于“ZoomWi

Vim 输入按钮插入新行,而不是选择备选行

最近,当我尝试使用ctrl+n或ctrl+p自动完成时,当有多个备选方案时,点击enter按钮将插入新行,而不是选择我想要的备选方案 这以前没有发生过,可能是因为我安装了太多插件,导致了冲突。检查所有这些插件的截图并找出其来源将是可怕的。因此,将内置的自动完成映射到其他一些键可能是一个解决方案,但我不知道如何做到这一点 这不是一个大问题,但确实使编码变得不“流畅”。以前有人遇到过这种情况,您是如何处理的。我刚刚修复了由vim autoclose插件引起的一个非常类似的问题,将其替换为Auto P

在Vim'上显示上次按下的一组有效键;s状态行

我经常发现我按错了一组键,但我不知道我出了什么问题 换句话说,就是一个胖手指。然而,我不知道这是否是一个胖手指,或者不仅仅是从输出中,很多时候我可以找到它,但相反,我更喜欢Vim告诉我哪里出了问题 我想要的是在我的状态行中有输出最后一组有效按键的内容 否showcmd不适合我的需要,它只输出我当前键入的内容,告诉我Vim当前从我那里知道什么 我需要的是知道上次我按键时Vim从我那里知道了什么 举个例子,我在左边按了什么,我想让状态行中的这个添加在右边告诉我什么 j j jj

VimFrimATPrPG PAR以Date Stamp评论为理由 我使用PAR段落重新格式化程序。这是一个与Vim一起使用的难以置信的工具。我遇到的情况是,我有一条注释,上面有日期、开发人员姓名首字母和注释消息。我想使用PAR对齐(合理),以便它维护日期和首字母缩进。可能吗

以下是我所拥有的: 以下是我尝试时它的功能: 设置格式prg=par\r80j 所需结果: 谢谢。我不建议将此设置为标准格式程序 选项,除非这是您编写任何文本的标准方式。所以这里 是一个过滤器版本,更适合单次使用: :%!par 80p25dhj 我假设您想要一个最终宽度为80且对齐的文本。移除j或 如果需要,更改80。此外,前缀的宽度也是一个猜测。请 检查它: ; 2012/12/12 AB Lorem ipsum .... ^ ^ |--

如何保存和同步vim寄存器(宏)

如何保存和同步vim寄存器?我对宏很感兴趣,但我知道宏是保存到寄存器的,所以这就是需要同步的 似乎假设我们只在一个工作站上使用vim,而我需要与多个工作站同步 我试图安装,但没有成功。但我想知道是否有其他项目或方法来完成它,是否有人对在多台服务器之间同步有建议。您可以将宏保存在vimrc中,如vim stackexchange中所述。这一点也在本报告的一个答复中提出。然后,您可以将vimrc同步到您想要使用git的所有服务器,如在中所述,或者使用您喜欢的任何其他工具。@Polo如果此答案对您的问

如何避免在Vim中更改制表位后出现缩进错误?

我以前在Vim中有8个空格标签。然后我改为4个空格,但现在每当我在改为4个空格之前编写的代码中添加一行时,它会给我一个缩进不匹配错误,即使所有内容都排列得很好。有什么方法可以避免这个问题吗?您是否做了一个:%retab…?您是否只更改了tabstop选项 我使用了4个空格(当我点击tab时用空格填充,以插入实际的tab点击ctrl-v tab)。以下是.vimrc中与选项卡相关的设置: " tabs set tabstop=4 set shiftwidth=4 set expandtab 用空

将当前文档复制到V/Vim中的其他位置

我想知道V/Vim中是否有一个命令可以将当前文档的备份保存到另一个位置(例如,从C:\到C:\备份)。使用“:w”命令的任何后续写入操作仍将写入旧位置(例如,C:) 谢谢, Derek您可以在:w之后指定文件名: :w /tmp/backup.txt 以下内容将当前正在编辑的文件的副本写入foo.txt: :w foo.txt 这是:w命令的默认行为。您已经得到了正确的答案,但我将添加这一点,因为我对:w[rite]命令的行为感到惊讶。要写入新位置,以便后续写入使用新位置,请使用:sav[e

Vim 向上拉n根线,不要移动

要在不移动光标的情况下向下拉动7行,我可以7yy。不使用宏或重新映射是否可以向上执行相同的操作?您可以执行以下操作: 6yk6j 这将拉扯前面的6条线和当前的一条线),但跑马舰将移动6j跳回到上一个位置。您可以使用:yank命令的范围来实现此效果 :.-6,.yank 范围说明: 或点表示当前行 -6表示当前行减去6 -6,.是当前行减去当前行的6 可以将-6缩写为-6给我们-6、.yank 当前行也假定在范围的末尾,因此-6,yank yank命令可以缩短为仅:y给我们-6,y 最后命

显示Vim变量

可能重复: 我知道您可以使用:set更改Vim设置,并且您可以设置配置文件~/.vimrc,但是我在使用MacVim时遇到了一些问题,我希望能够显示Vim环境变量是什么 是否有类似于:show tw或类似的命令可以执行此操作 谢谢 :set tw? 或者如果你想知道它被设置在哪里 :verbose set tw? 更多的设置乐趣 :options 除了接受的答案外,您还可以使用:echo&tw 这样做的好处是,您不会因为忘记添加?而意外设置布尔选项。缺点是您无法在详细中使用此方法。请关闭

在构建Vim时,如何找出哪些缺失的依赖项导致哪些功能被禁用?

跑步后 $ ./configure --with-features=huge 生成,然后看到某些功能被禁用,例如 $ vim --version ... -clientserver ... 我可以在/src/config.log中查看哪些依赖项configure找不到,但它不会告诉我是哪些依赖项导致给定功能(clientserver)被禁用 我怎样才能知道那些是什么 (理想情况下,如果缺少依赖项,我希望构建失败,但似乎是这样)该补丁包含在内。该标志为--如果缺少则启用失败 从/configu

vim在每条线的末端显示空块

在Vim中编辑文件时,我尝试进行全局搜索和替换,但在键入以下内容后意外地按了enter键: :g/$/x 现在Vim处于一种有趣的状态,每行末尾都会出现一个空的蓝色框,不仅在我正在编辑的文件中,而且在我打开的每个文件中!我已注销并重新登录,但奇怪的状态仍然存在。发生了什么事,我怎样才能让Vim恢复正常?只是突出显示而已。键入:nohl,它应该消失。您也可以使用:noh删除突出显示

如何设置全局vim';项目根目录';路径

当我在vim中工作时,我通常一次在屏幕上有多个缓冲区,需要在它们之间切换并打开很多新文件。我已经安装了Command-T插件,以方便快速文件切换,但我有一些问题 每当我按Command-T时,它只显示与我当前编辑的文件相同文件夹(和子文件夹)中的文件 我想让它显示我项目中的所有文件,即: Project Folder: ~/project1/ Current Buffer: ~/project1/front/js/file1.js 当我在缓冲区中按Command+T时,我希望它显示从项目文件

使用VIM,如何将方向键从右手重新映射到左手?

这是迄今为止我见过的最好的解决方案: " Map Right Directionals to Left Commands noremap s h noremap d k noremap f j noremap g l " Map Left Commands to Right Directionals noremap h s noremap k d noremap j f noremap l g 但是,在实际使用此映射时,从左向右切换时需要双击“s”和“g”键 有没有更好的方法来重新映射这些键

如何格式化Vim quickfix条目?

这是用于生成降价大纲的vim脚本: fun! TOC() call setloclist(0, []) let save_cursor = getpos(".") call cursor(1, 1) while search("^#", 'W') > 0 let msg = printf('%s:%d:%s', expand('%'), line('.'), substitute(getline('.'), '#', '»', 'g'))

Vim是否可以在文件中保留四个空格的同时显示两个空格进行缩进?

我想做其他人的项目,他用4个空格来缩进。我使用2,我的屏幕不够大,无法轻松地使用4个空格进行编辑 我可以将Vim配置为显示2个缩进空格,但将4写入文件吗?如果他使用真空格而不是制表符(听起来像),则不可以,在有4个空格的地方,Vim不能显示2个空格。但是,您可以告诉vim以下命令用制表符替换所有4个空格的组,然后将它们显示为2个空格 :set tabstop=4 ! display a tab as 4 columns :set shiftwidth=4 :set noexpandtab :gg

使用Vim时的脚本快捷方式

我刚刚了解到,我可以使用 :%!/路径/到/脚本 有没有办法设置filter1=/path/to/script,这样我只需要键入:%!过滤器1?您可以使用cabbrev创建如下命令行缩写: :cabbrev filter1 /path/to/script 如果键入filter1,后跟一个空格,它将扩展到/path/to/script。 你也可以把%放进去编码为缩写 显然,如果您经常使用此筛选器,则可能更容易为此创建键绑定: map ,f :%!/path/to/script<cr>

在vim上使用HAML时,添加%on选项卡

我希望能够在使用haml时键入h3选项卡并将其输出为%h3。这也适用于其他选择器,如p或section 我已经安装了Tim Pope的插件,但它似乎没有提供快捷方式。我错过了什么吗?我想到了两个可能的解决方案: 1使用插入模式缩写(也称为简易方式)硬编码所有内容: 虽然这种方式将使用h3而不是h3 更多信息::帮助缩写,特别是:help:iabbrev 2以更高级的方式重新映射tab键: “重新映射”选项卡以首先执行某个函数,该函数检查光标下的单词,并在找到可以使用的内容时转换文本,或者使用其他

Vim 如何更改exe的寄存器;norm/regex“;在功能上

我有以下自定义命令和功能: function! TestFunc() execute "normal /http\<CR>" endfunction command! Test2 normal /http<CR> 函数!TestFunc() 执行“正常/http\” 端功能 命令!Test2普通/http 调用:Test2会更改寄存器/,但调用:call TestFunc()不会更改寄存器/ 为什么会这样?我是否应该使用自定义命令来更改/?的寄存器?搜索模式

拆下Vim第一列突出显示

一些人知道如何突出显示任何vim缓冲区的第一列。直到今天我才注意到,所以我不确定什么时候发生了变化。我试图搞乱搜索选项和突出显示选项,但没有成功 有人知道是什么导致了这一切吗 以下是一个屏幕截图: 这是我的vimrc:我不知道您是否自己编写了vimrc。如果在该文件中搜索colorcolumn,会发现两行: 50:set colorcolumn=+1 及 70行,强制突出显示第一列 请删除该行,然后重试 此外,在保存vimrc时,还可以通过autocmd自动加载(源)vimrc。您可以尝试在

vim:在vim gnome中使用ctrl-Q作为可视块模式

我在windows和linux上使用vim。在linux上,我希望将ctrl-Q设置为VisualBlockSelection,但仍然保持将ctrl-v设置为粘贴的BehaveMSWIN 如何保持mswin的行为并对可视块模式使用ctrl-Q 编辑:我认为mswin也会将ctrl-Q映射到可视块模式,但在vim gnome中ctrl-Q什么都不做。首先,我强烈建议您在linux设备上工作时,不要使用windows vim快捷方式。例如:ctrl-v、ctrl-q、ctrl-c 你一定认为这不是你

在Vim中,我可以在不离开当前线路的情况下将线路移动到当前线路吗?

标题说明了一切:在Vi(m)中,有没有办法通过数字将一行移动到我当前的行 我可以先移动到源代码行,然后使用:m命令移动该行。但这涉及到离开我的目标线。或者,我可以:Nd,但这也会将我从当前行移到已删除的行号N 看着一行,想着“移动到这里”,却不知道如何移动:D.:3m.将第3行移动到您当前的行。哇,这很简单。不知道作为地址。你知道我在:help中读到了更多关于这个的信息吗?我勾选了:帮助移动…事实上,我想我应该读一下

如何在Vim的NetRW中更改目录字符?

Vim中的默认文件资源管理器是NetRW。例如,可以使用:e.调用它。在其树状视图中,它在目录名前面加上管道字符(|) 例如: joe/ | Desktop/ | Documents/ | Downloads/ 如何在NetRW的树显示中用其他内容替换管道字符 我查看了monsternetrw.vim文件,但似乎找不到其中的管道字符。您没有仔细查看: if has("gui_running") && (&enc == 'utf-8' || &enc == 'ut

vim:使用;查找“;,如何获取相对于工作目录的路径

如何使用find获取相对于文件工作目录的路径?现在我只得到了这条路的一部分 我的意思是,当我写find**/*Confirm并按Tab键时,我得到了以下信息: :find UserArea/activacionGarantiaConfirm.html.twig 但我期望的是相对于我的工作目录的路径: :find Project/views/UserArea/activacionGarantiaConfirm.html.twig 默认情况下,:find的完成不会打印文件名以外的潜在文件路径的

vim中%字符的含义是什么?

vim页面提供以下搜索和更换说明: 查找每个出现的“foo”(在所有行中),并将其替换为“bar” :s/foo/bar/g 查找每个出现的“foo”(仅在当前行中),并将其替换为“bar” 我可以看到%字符导致搜索整个缓冲区 vim中%字符的含义是什么?它是指当前缓冲区的变量吗?了解如何查找命令和导航内置的:help;它是全面的,并提供了许多提示。您学习Vim的速度不会像其他编辑器一样快,但如果您致力于持续学习,它将被证明是一个非常强大和高效的编辑器 以下是您如何找到信息的: 查找命令::

Vim 我怎么能';数量变化';或';数字变化';精神抖擞

我经常在Vim中编辑CSS,需要更改如下值: width: 300px; 其他类似于: width: 178px; 通常我要做的是导航到3/300,然后键入cw来更改单词。但是如果我这样做,我必须再次键入px位。是否有一种简短而快速的方式来表示数字的变化 在我的搜索中,我发现Ctrl-a和Ctrl-x可以在这种情况下增减数字。是否有能够重新键入数字的等效项 我要澄清的是,理想的解决方案需要在操作时最少的击键,并支持对不同长度的数字进行修改。就像我想把300px换成17px一样。如果你只想把那

为vim语法折叠添加标记

我通常用C编写代码,在我的.vimrc中有set foldmethod=syntax,它可以很好地折叠大括号、注释和所有内容 但有时我需要折叠大块代码,这样它们就不会妨碍我的工作(例如一组相关函数),我通常使用set foldmethod=marker和标记>和完成这项工作,在。。。就像我花了5个小时尝试语法折叠一样,我已经放弃了,改为表达式折叠 以下问题:我创建了一个折叠函数,它或多或少满足了我的要求: function! CFold() let this_line = getline

VIM同义词库文件

我一直在寻找vim同义词表的好解决方案。显然,该功能是内置的,但每个人似乎都使用的文件是mthesaur.txt。虽然它在插入模式下的命令会显示一个列表的意义上“起作用”,但在我看来,结果在编程上是正确的,但并不是非常有用。vim online thesaurus插件工作得很好,但在线延迟和对返回的缓冲区使用拆分的必要性并不理想。有人对此有意见吗?我写了一个插件,可以解决您在这里提出的两个问题 它在两个方面改进了使用体验:更明智的同义词选择 机制;以及更好、更灵活的同义词源 默认情况下,插件

交换Vim中两个字母的正常模式映射

我使用Turkish-F键盘布局,其中w键远离主行。为了防止右小指出现腕管,我想交换e和w的正常模式映射 我可以使用以下映射来完成此操作: nnoremap w e nnoremap e w 但是当它们与其他映射(如diw或die组合使用时,这不会互换e和w) 如何将涉及e的所有映射与w交换,反之亦然。映射后 nnoremap w e nnoremap e w 如果查看:map的输出,您可以看到 e * w w * e 像iw,aw这样的运动将不考虑此映射,

在vimrc中,什么';“之间的区别”;“上的语法”;及;语法启用";?

似乎这两个选项都是为了使编程语言突出显示有效而提供的。但是这两个选项之间有什么区别,我可以只使用其中一个吗?它们是相互排斥的吗?:help:syntax on: :syntax enable命令将保留当前的颜色设置。这 允许使用:高亮显示命令在或之前设置首选颜色 使用此命令后。如果您希望Vim用默认值否决您的设置,请使用: :syntax on :帮助:语法关于: :syntax enable命令将保留当前的颜色设置。这 允许使用:高亮显示命令在或之前设置首选颜色 使用此命令后。如果您希望Vi

Vim:选择/删除/更改为下一行中的参数

假设我有这样的文件: f(arg1, arg2, arg3, arg4) 我希望能够选择从arg2结尾到结束括号。如果它们在同一行中,我会这样做:vt。当光标=选择的开始在前一行中,然后在最后一个括号中时,如何做 这个问题类似于和,但不是这些问题的重复。你要用v/.Promote来回答吗?顺便说一句,有没有像t vs f这样的包容性版本?是的,/pattern/e。在这种情况下,它是v//e-1,奇怪的是,。\ze似乎不起作用。

Vim 光标更改Syntastic\u loc\u list\u高度时Syntastic自动关闭

我知道Syntastic的设置变量Syntastic_auto_loc_list有不同的选项,但它们都不是我想要的 我想要的是一种在当前打开的文件中出现错误,但光标移动后自动关闭时显示位置列表的方法。我不希望每次我打开一个有语法错误的文件时,它总是关闭它。如果我打开文件时知道有错误就好了,但是只要我移动光标,它就会关闭 有办法吗

如何";突出显示“;在Vim中使用文本?

Vim脚本的这三行通过在其周围放置[[[和]]来“突出显示”我的源代码中的TODO的所有实例 :set t_Co=1 :highlight Braces start=[[[ stop=]]] :call matchadd("Braces", "TODO") 不幸的是,这只适用于“正常终端”。这就是为什么我必须将t\u Co设置为1 在彩色终端或gui中可以实现类似的功能吗?(还是在NeoVim?)。这可能是用元信息扩充代码的一种非常有用的方法。请记住,Vim是一个文本编辑器;这些文件主要按原样

VIM如何执行字符集转换?

关于字符集转换的介绍,我在vim文档中看到以下段落: Vim will automatically convert from one to another encoding in several places: - When reading a file and 'fileencoding' is different from 'encoding' - When writing a file and 'fileencoding' is different from 'encoding' - Wh

Can';t使用macvim 8.2.319在MacOS Catalina上运行NERDTree和lightline

Am在macOS Catalina(10.15.4)上使用macvim 8.2.319(通过运行下载的dmg文件安装) 尝试通过vim插头安装NERDTree和liteline,但似乎没有任何效果 使用vim plug,我在内部创建了自动加载目录: ~/.vim/autoload 然后发出以下命令: curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn

Vim:名称中没有扩展名的特定文件类型的自动命令?

我正在尝试实现上面的命令对shellscripts的效果,没有扩展 autocommand BufEnter,TextChanged,InsertLeave *.sh Neomake 显示一组选项,包括autocmd模式 :help autocommand 他说: 该模式被解释为主要用于文件名: *匹配任何字符序列;异常:包括路径 分离器 ? 匹配任何单个字符 ? 匹配一个“?” . 与“.”匹配。 ~匹配一个“~” ,分隔模式 ,匹配一个“,” |模式中的{}like()| ,在