Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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编程技术网」

从vi/Vim调用键序列上的共享对象

我有一个共享库(以二进制形式;我有源代码),用于在VisualStudio中的源文件中的符号之间反转/循环 我希望能够在vi和/或Vim中使用相同的功能 具体来说,我想做的是以下场景: 光标在一个单词上 我按了一系列键,例如CTRL-I vi/Vim算出了我所用的全部单词 vi/Vim调用我的共享库,传递单词,并接收反转/循环替换 vi/Wim用新词替换原来的词 我没有任何线索,如果/如何让vi/Vim这样做,我没有任何运气搜索 感激地收到任何建议…试试看 inoremap <C-i&

vim和NERD树扩展名-添加文件

当使用带有NERDTree插件的vim编辑器浏览项目树时,有没有一种简单的方法可以在当前突出显示的目录下创建新的源代码文件 目前,我进入shell,添加文件,然后刷新树。一定有更好的方法。从vim可以运行shell命令。因此,在本例中,我使用: :!touch somefile.txt 然后按r重新加载nerdtree窗口 另一件要做的事情是从vim中启动新文件 :e somefile.txt 一件方便的事情是,在my.vimrc中,我自动将cwd更改为当前文件所在的目录: " Auto c

Vim 从外部源复制和粘贴

我在windows上使用vim作为我的主文本编辑器。在我的工作流程中,我必须将句子复制到各种外部来源,因此我使用clipboard=unnamed来保存我的关键点笔划p,而不是*p。 我从外部源复制文本,并希望将其粘贴到vim中的两个不同位置。我把第一个标记为v,然后用p在上面粘贴。问题是,此时我丢失了原始缓冲区,无法将其粘贴到第二个位置。它不存在于未命名缓冲区、*缓冲区或编号缓冲区中。我的猜测是,粘贴覆盖选择就是将粘贴覆盖的文本放在未命名的缓冲区中。 如何将原始字符串粘贴到两个位置?i、 e.

Vim:每次找到特定文本时添加粘贴缓冲区

在Vim中,我尝试粘贴几行: PROC SQL; CONNECT TO DB2(DSN=test); CREATE TABLE test AS SELECT * FROM CONNECTION TO DB2 ( 以“选择”开头的每行上方 及 在以“仅供提取”结尾的每行下方 有没有办法使用粘贴缓冲区?像 %s/^select/(a!)\rselect/ 因此,一旦我输入命令,它就会打开一个粘贴缓冲区,就像a!命令,并将其用作替代 谢谢, Dan如果您在寄存器a中有PROC S

Vim 特定于域的语言的语法高亮显示

我有一个DSL,我打算为vim、gedit和netbeans等编辑器创建一个语法高亮器 以前有人试过这个吗 多谢指路 Ketan一个可能的选择是使用EDSL,它与宿主语言的语法约定相同。Lisp特别适合这种方法。一种可能的选择是使用EDSL,它与宿主语言的语法约定相同。Lisp特别适合这种方法。如果您将DSL设计为外部DSL usign Eclipse TMF Xtext,则生成的编辑器将具有现成的自定义语法。如果您将DSL设计为外部DSL usign Eclipse TMF Xtext,您可以

学习vim时,有哪些方法可以减少模式错误?

我在使用vim时经常出现模式错误,即在正常模式下开始键入文本,或在插入模式下开始键入命令。我知道随着vim的怪癖渗透到你的骨骼中,这一点会随着时间的推移而消失,但有什么方法可以加快这一过程吗?请记住始终将vim保持在正常模式。使用gvim,在模式之间切换时,光标会从块变为垂直条。这至少会给你一点视觉反馈。如果你还没有这样做,你可以使用:set showmode显示当前模式。在插入模式下,将在状态栏中显示--INSERT-- 在插入模式下,而不是在正常模式下,我使用这些autocmd高亮显示包含光

Vim 转到行中的第n个符号

如何在Vim中将光标从左侧移动到第n个符号 我看到的解决方案之一是按0n,它将移动到n+1位置。还有更自然的方法吗?编辑:误读你的问题 通过键入f,然后键入相关符号,可以前进到特定符号: 如果要移动到第三个$,请键入: 3f$ 为了倒退,你用大写字母“F” 要首先到达行的末尾,请使用“$” 因此,从一行末尾查找第三个$的击键是: $3F$ 在使用Vim时,我喜欢将这样的东西放在手边: 我不确定你指的是第n个字符还是一个字符的第n次出现;第二个问题已经回答了,所以我将回答第一个问题 ^将带您到

如何在vim中的多行开头添加单词?

在Vim中 如何在所有行的开头添加一个单词? 还有,我如何在末尾添加它 例如。。 如果我有 A B C D 我想去 int A = int B = 等等一个全球替代者应该做到: :%s/.\+/int & =/ 这就是它的工作原理:在替换的第二部分(即在int&=中),用第一部分(在*中加工的符号)替换与。由于*匹配整行,因此每行都会根据需要进行替换 如果您有空行(其中您不希望有任何替换),您可以使用 :%s/^\S\+$/int & =/ 使用可视块模式(Ctrl-v

有没有任何方法可以轻松刷新用G(Vim)编码的网站?

我意识到我浪费了10%的时间在Vim和Firefox之间切换窗口 Alt + Tab + F5 (and sometimes a get the wrong window). 有没有办法使这项任务更容易 我想到了以下几点: 我认为将vim盗用到firefox是不可能的。 制作一个Vim快捷方式,将我发送到Firefox的窗口。 有什么建议吗?从技术上讲,我想这不是正确的答案,但您可能会从这些工具中受益 对于Chrome,请尝试。 对于Firefox-试试。从技术上讲,我想这不是正确的答案,但您

如何在Vim中取消设置变量?

我有一个插件,它设置了一个全局变量,并在每次加载插件时进行检查,以避免多次加载自身。我想允许重新加载插件(允许重新加载插件),而不改变插件本身。插件只是检查它的变量是否存在(即存在('g:var\u name'))-是否有办法取消设置所述变量,以便存在()检查返回false p、 我不想改变插件本身,因为我使用的是指向插件的repo。您应该能够:unlet g:var\u name 问题是如果插件中定义的函数不是用函数定义的那么当插件第二次被获取时,你会得到很多错误。该插件也可能正在进行初始设置

分页时,tmux中的vim背景颜色发生变化

我在Solaris上以256色模式使用vim(通过Windows上的Putty连接)。在tmux之外,一切看起来都很好,工作也很好,但是在tmux中,当分页/滚动文件时,背景颜色会定期变化 下面是它的外观: 下面是在分页一段时间后的显示方式: 谢谢 您的术语设置或terminfo似乎存在问题 确保您在tmux中的术语是term=screen-256color,并且您的solaris设备具有正确的术语。添加替代解决方案,因为我自己遇到了这个问题,并且刚刚解决了它。我有正确的TERM值,term

Vim-重音字母或ñ后插入的额外空格;

我有一个关于维姆的问题。我在MacOSXSnowLeopard上,编译了vim以开始使用编辑器。我偶尔会用其他语言打字 我发现在输入重音字母时,每个字母后面都会增加一个额外的空格。我还用Mac的西班牙语键盘打字,至少用西班牙语 这就是发生的事情, 我将使用左括号键(1),[,键入重音键,然后vim将以黄色突出显示当前位置。然后键入元音(2)。元音上有重音,但现在vim在字母后插入了一个额外的空格。我在之后键入的任何内容都已经有空格了,我被迫退格以删除插入的额外空格。(3) -----------

在Vim中,如何找出组合键的作用

我不小心按下了shorcut键,我知道vim做了些什么,但我不知道是什么 如何找到快捷键的作用?您可以在(如果这是您要查找的)上查看答案。有两个潜在的信息来源。首先,如果它是一个内置的快捷方式,它通常会出现在帮助文档中。例如,如果您执行:help CTRL-I,它将带您进入一个关于在跳转列表中移动的帮助条目 但是,您可能有一个来自.vimrc文件之一的自定义映射,或者一个文档不足的插件。在这种情况下,请尝试使用:map,它将列出当前活动的所有自定义键盘映射。这将为您提供三列: 映射应用于的模式

禁用vim中的所有自动缩进

在TeX中,vim通常会把我的压痕拧紧。主要是当我在一个显示的等式中,我认为应该是这样的: \[ x=\frac{y}{z} \] 其中,x前面的空白是一个选项卡 当我开始键入方程式时,我首先键入\[和\]标记,然后在它们之间返回,键入选项卡,然后键入方程式的其余部分 Vim不会做错任何事情,直到我不得不使用包含花括号的东西(例如\frac{})。当我键入结束符时}vim会自动将整行的缩进移到左侧,这将撤消我键入的选项卡 这是非常可怕的,我如何禁用它 我的.vimrc包含: "in

VIM增量搜索,如何复制光标下的匹配字符串?

在VIM中,可以搜索指定的字符串。然后您可以按n或n导航下一个或上一个匹配。按n或n时,光标将移动到匹配的文本。我的问题是,如何快速复制光标下的匹配文本 编辑: 我需要的是光标下的当前匹配项,而不是文档中的所有匹配项。按y键,光标下的文本将复制到未修改的默认寄存器,然后您可以按p键粘贴。是否要执行以下操作 y//e 概述: 基本思路是搜索或按n或n后,光标将位于匹配文本的开头。然后你猛拉到最后一次搜索的末尾 解释 y将通过以下动作从当前位置猛拉 /使用最后一个搜索模式进行搜索 /ee标志将

在VIM的ECO中环绕嵌入式咖啡脚本

在VIM中是否有任何快捷方式可以围绕嵌入的Coffeescript(在eco模板中) 无论是否处于插入模式?插件都可以这样做。为此,您必须设置一个自定义替换。环绕声帮助文件中的一个示例实际上正是您想要的。这个例子说添加一行 let g:surround_61 = "<%= \r %>" 让g:round_61=“” 到您的.vimrc 在这种情况下,\r是周围文本的占位符,变量名中的61表示ASCII字符61将是此环绕的快捷方式,即=。要使用此选项,请使用环绕的一个绑定并键入=

什么是<++&燃气轮机;在gvim中是什么意思?

可能重复: 我的默认编辑器是vim,但对于latex套件,我改为gvim。每当我快速连续键入$时,它会在第二个$符号后添加一个。这意味着什么?如何禁用它?从: Q:每当我调用 映射? 这些被称为占位符,当你习惯了它们,它们 这将证明是无价的。它们本质上是留在文本中的标记 文件,告诉latex suite下一个关注点在哪里。这 只需按一次键,即可直接转到下一个占位符。 考虑一个工作例子。按EFI将插入以下内容 微模板: \begin{figure}[h] \中心线{\psfig{figure=«

Vim autocmd是否将用户定义的命令应用于多个特定(按文件类型)选项卡页?

我同时使用多个选项卡页打开我的Vim会话。 我的选项卡页中有些是.txt文件,有些不是 我在my.vimrc中创建了一个名为Tran的命令,该命令引用syntax.vim,其中为my.txt文件定义了一些特定的语法高亮 :command Tran :source syntax.vim 我的问题: 1) 当我打开我的Vim会话时,我希望通过Tran命令突出显示我的所有.txt文件。我试过(在我的.vimrc中): …失败了 2) 目前,当我切换到.txt选项卡页面时,我会立即键入以下命令: :T

Vim:突出显示搜索中的所有匹配项

我正在使用incsearch和hlsearch选项。在我按enter键后,所有匹配项都会高亮显示,但在我键入时,只有第一个匹配项会高亮显示。我想在键入时突出显示所有匹配项 如何获得这种行为?不幸的是,如果不在Vimscript中编写自己的搜索(通过getchar()捕获每个键,通过:match突出显示),或者在C中修补核心Vim源代码,这是不可能的 没有实现这一点的原因可能是为了保持incsearch的快速性和即时性 更新:现在突出显示所有匹配项是从Vim 7.4.2259开始的默认行为(使用“

如何使用VIM将宏和正则表达式的功能结合起来

我发现自己经常遇到一些问题,需要将正则表达式、某种移动、复制和粘贴结合起来。我确信在vim中有一些方法可以做到这一点,但我还没有看到任何东西将其结合在一起。作为一个例子,我现在试图解决的问题是这样的 查找一行为“/^Description”(.*)”/ 保存捕获的文本 转到“/^TEXT”(.*)所在的行-/ 将上面捕获的文本替换为步骤2中捕获的文本 如有必要,在文件中向前移动时重复此操作 有人知道在VIM中快速自动化此类任务的方法吗?您可以将以下序列映射到未使用的键(如F2),然后按任意次数

Vim73未拾取任何颜色,包括方案

在过去的6个月里,我一直在windows机器上使用Vim through Putty,一切都很好。在看到有人使用了一个新的具有惊人颜色的文本编辑器后,我决定冒险选择colorscheme。这在大约24小时内效果很好,然后我决定添加一些插件,这些插件需要我重新编译我的VIM。这样做之后(使用vim73),我的vim中不再有任何颜色。它是黑白相间的,背景模糊。我的.vimrc文件没有更改,我使用的配色方案zenburn也没有更改 我没有发现任何错误,只是颜色不起作用 我做了一个测试 strace -

在多个会话中自动重新加载.vimrc

我通常在vim打开的情况下开发多个选项卡/终端。当我更改我的vimrc时,这意味着关闭并重新打开vim的所有会话。有没有办法在所有打开的会话中自动重新加载vimrc?似乎如果这是可能的,答案很容易找到,但我想我还是会问 我已经看过了。正如答案所示,它不适用于常规vim(仅gvim)您可以在不退出vim的情况下重新加载vimrc: :source ~/.vimrc 但是,您需要在所有vim的开放实例中执行此操作。请参阅Mac上的clientserver(假设这可能是您的问题)。我知道您可以执行此

在vim中使用execute for visual命令

我知道这一定很简单 为什么vnoremap rl di[pa]将所选文本用括号括起来,但是: vnoremap <leader>rl :call VisAddRefLink()<CR> function! VisAddRefLink() execute "normal! di[\<esc>pa]" endfunction vnoremap rl:调用VisAddRefLink() 功能!VisAddRefLink() 执行“正常!di[\pa]”

Vim 有没有一种方法可以让代码片段在一个单词之后立即工作?

每当我试图在一个单词后使用一个片段(使用snipMate)时,如果没有空格,它就不起作用。所以我必须点击空格,输入我的代码片段,点击tab,然后删除空格。有更好的方法吗?有没有办法让狙击手在一句话刚说完就开始工作?我的意思是: 让我们假设我的片段是: snippet test <some code>${1}</code>${2} 变成这样: hello <some code>|</code> hellotest_____ 它变

如何在Vim中选择锯齿块?

例如,有些文本如下所示: 001 aaaaa 002 bbbbbbbb 003 ccc 我想选择 aaaaa bbbbbbbb ccc 然后猛拉它。我该怎么办呢?下面的序列应该可以做到这一点 ggw<C-v>G$ ggwG$ 其中 gg -- Goes to top of file w -- skips one word <C-v> -- starts visual block select G -- selects until end of

在vim中,enter被映射到ctrl键自定义键映射

我在vim中遇到了一些使用ctrl键的键映射的奇怪行为。我想这有一个简单的原因和解决办法,但我就是看不出来 在编辑StructuredText的过程中,我发现自己输入了如下内容 :math:`x` 通常(此:math:role将导致记号中的内容在latex输出中被打印为math) 我想将像m这样的键映射到文本中,输入:math:``并将光标定位在刻度内 我已经这样做了 map m i:math:``ha 这似乎很有效 但是,我希望能够在插入模式下使用此映射。为此,我认为使用ctrl+m是最

如何让gvim/vim以非ascii字符的路径打开文件?

起初,我在Windows中有一个文件的路径: C:\mine\NOTES 我将其重命名,以便路径的最后一部分即“注释”具有U+2588 FULL BLOCK=solid 在它之前和之后。我使用键组合ALT+219(ALT代码)插入字符,这是一个扩展的ascii绘图字符。我这样做是为了使文件夹能够从目录中的20多个文件夹中脱颖而出。在这一点上,我很高兴它看起来很酷,确实很突出。然而,当文件夹中的文件使用文本编辑器时,所有的地狱都会崩溃。以下是我尝试在不同编辑器中打开文件scheme\u note

vim可以用参数启动吗?

我在vimrc文件中配置了以下语句: autocmd VimLeave * mksession! ./vimsession 是否有一些方法将vim声明为vim-S vimsession?所以当我进入vi,它在后台作为vi-S vimsession执行时 我不太明白你的问题。听起来您想要区分Vim是在有会话还是没有会话的情况下启动的 如果加载/保存会话,v:this_session将保留会话文件的路径 :帮助v:此会话 如果我正确理解了你的问题,你会想要: autocmd VimLeave *

Vim 如何设置窗口拆分的高度?

:sp将当前窗口水平拆分为两个 如何设置新窗口的高度 我在想象这样的事情: :sp --width=30 通过在:split前面加上数字,可以设置高度: " Split a 10-line height window above: :10split " Or to open the new viewport below the current :below 10split 从:帮助拆分: :[N]sp[lit] [++opt] [+cmd]

如何设置显示/隐藏macvim的快捷方式?

我在MacOSX上使用macvim,发现macvim没有提供显示/隐藏自己的快捷方式。 对此有什么建议吗?我建议在像iterm2这样的终端中使用macvim,它提供了一个显示/隐藏它的热键。您可以使用mvim-v在终端内运行macvim,这是一种特立独行的做法吗?它应该有常规的⌘H快捷方式就像“每一个”其他Mac OS X应用程序一样。@Romaill是的。但是⌘H只能隐藏此应用程序。这就是⌘H,隐藏当前应用程序。它到底行不行?你到底想要什么?全局快捷方式?@romainl我想尽快回到macvi

Vim 如何在CtrlP搜索栏中自动完成?

如果我想在CTRLP下创建一个新文件config/initializers/new_file.rb 我需要键入完整路径,如何使用模糊搜索功能自动完成键入区域中的config/initializers/ 也就是说,我可以键入cfg/ini,然后我可以键入一些键来自动完成config/initializers/ 我知道你没有要求,但你可以在没有CtrlP的情况下完成以下工作: 点击键时,CtrlP将自动完成当前路径段。如果可以在CtrlP下完成,我认为会更友好,谢谢:) :e co*/in*<

ocaml编译器的Vim错误-E666:编译器不受支持:ocaml

我已将这一行添加到我的.vimrc中: au BufRead,BufNewFile *.ml,*.mli compiler ocaml 当我打开一个.ml文件时,在它继续打开该文件之前,会出现以下错误: E666: compiler not supported: ocaml 我的vim版本是否未使用ocmal支持编译?我在Ubuntu 12.04上使用默认的vim 希望有人有一些想法。干杯 我将单独测试编译器命令,:compiler ocaml,以检查问题是否是对自动命令的干扰 关于Vim版

我想将vim编辑器中的文本与公共字符对齐

假设我必须对齐此文本,以便每行的最后一个数字位于一列中 begin: Tx_Arbiter_Reg4 type: CONFIG width: 32 field: RESERVED 31:22 {Reserved} field: cfg_txarb_max_credits_xgnet 21:0 {Maximum value credits that XGEthernet ca

vim-如何在自动命令中使用环境变量

Win7x32 gvim 7.4 我想调用批处理文件以响应VimLeave事件。 如果我的自动命令如下所示: au VimLeave * !c:\users\Sauron\vimfiles\cleanSession.cmd 它按预期工作。 我想用“~”或“$HOME”或类似的东西替换“c:\users\Sauron”,但还没有让它工作。我试过: au VimLeave * !$HOME\vimfiles\cleanSession.cmd au VimLeave * !%HOME%\vimf

Vim:关于用户特定设置的最后一句话?

我有一个很好的.vimrc文件和我的首选设置。其中一个设置是tabstop=4。但是当我在一个我经常使用的服务器上时,我在~/.vimrc中应用的tabstop设置会被稍后加载的脚本/usr/share/vim/vim/vim74/ftplugin/python.vim所破坏。这些脚本归root所有,我无法更改它们。我也不想。我只想在任何给定的环境下说最后一句话 在哪里或如何获得有关vim设置的最后信息 如果我启动vim并执行:scriptnames,我会得到以下输出: 1: /usr/shar

Vim 评估一段ex源代码

如果我有一段多行vimscript,例如,在剪贴板中, 我如何评估它 除了保存并获取保存的文件外,还有其他方法吗?假设您有这样一个文件: hello world foo bar 1,4s/^/#/ 您在最后一行,处于正常模式: 键入yy进行复制 键入:@“输入以运行” 结果是: #hello #world #foo #bar 1,4s/^/#/ 您甚至可以将多行vim脚本复制到任何寄存器中,然后对其求值。假设您有这样一个文件: hello world foo bar 1,4s/^/#/

Vim 如何使水平滚动一次一个字符

我不确定这个问题的措辞是否正确 这就是为什么我很难像往常一样在谷歌上找到答案。 我的vim设置为永不缠绕线路。保持代码更干净 但是我不喜欢,如果我把光标移过一条线,到达屏幕的边缘,这个视图就会跳起来,这样我现在所在的地方就在屏幕的中间。 有没有办法让它不那么做?就像这样,一次只运行一个字符 (或者,如果我按单词移动,一次一个单词,等等。如果我走到屏幕边缘,光标停留在屏幕边缘,页面在其下方向内移动)?您可以查看'sidescroll'设置: 'sidescroll' 'ss' number

Vim 我如何让ctrlpbuftag工作?

所以我一直在试验Vim,从Sublime转换过来。我希望vim中有一个类似于Sublime中的ctrl R的功能,它可以显示当前文档中的函数列表,并在我继续键入时缩小范围。答案也是一样的。但是我已经完成了这里提到的所有步骤,包括安装CtrlP插件,安装和设置ctags,在.vimrc文件中添加快捷方式,但是当我使用快捷方式时,它会给我一个“无条目”。我正在scala上编辑。如果此功能在安装CtrlP后不起作用,您可能会遇到以下问题: 缺少CTAG: Linux:sudo-apt-get-inst

Vim 使用一个命令删除除第一个缓冲区以外的所有缓冲区

我正在使用perlsupport插件对代码进行语法检查。当它进行语法检查时,会将带有警告和错误的文件放入缓冲区。有时我想快速关闭除第一个缓冲区之外的其他缓冲区,因为它是我当前正在使用的脚本 我尝试了2、:bd和2、$:bd和:bd 2 Quickfix\List和:bd 2[Quickfix\List]以及其他变体,但没有成功。谢谢 我应该补充一点,我知道我可以列出缓冲区,找到最后一个缓冲区编号,并执行类似于2,N:bd的操作,但我希望只有一个命令可以变成快捷方式。您可以编写一个命令,用于生成正

Vim 如何将有效值设置为visual bell?

我想在我的mvim中得到一个可视铃声。我设置:设置vb以获得可视铃声。但是,闪光不明显,因为闪光持续时间太短 根据帮助: 在GUI中,“t|vb”默认为“|f”,这会反转显示 20毫秒。如果要使用不同的时间,请使用“| 40f”, 其中40是以毫秒为单位的时间 所以默认的20毫秒是短的,我想把它改为更长的时间 我的问题是无法将“t_vb”的值设置为有效值: 我通过按Ctrl-V然后按Esc然后按| 100f进行设置,vim投诉“参数无效” 我像:set t|vb=“|100f”,vim没有抱怨

问题设置vim colorscheme和自动完成

有人知道我该怎么解决这个问题吗 我已安装Base16 Shell 256色方案。下载了整个Base16方案系列,并遵循他们概述的每一步。 我的个人资料和文件: 这可能意味着,当我进入su时,它有点坏了: 霍莉·考夫,维姆所唤起的强烈感情真是不可思议 对于可能有类似“问题”的人,以下是答案 :语法打开 当您以超级用户(su)的身份编辑文件时,它将使用Root用户的.vimrc。因此,您可以将~/.vimrc复制到根用户的主目录中的/root/.vimrc 我通常使用符号链接而不是复制,这样我只需

Vim折叠:如何映射<;空间>;以递归方式打开/关闭?

在vim中,通常建议将正常模式下的键映射到za——切换当前折叠打开/关闭。但我个人认为这还不够。特别是,我想将映射为递归地打开/关闭当前折叠,即 If currently folded, map <space> to zO If currently unfolded, map <space> to zC 如果当前折叠,映射到zO 如果当前展开,则映射到zC 如何在我的.vimrc中实现这一点?zA与zA相同,只需根据当前折叠递归切换折叠。它应该符合您的要求。zA与zA

如何在VIM中使用单个命令从A转换为B

我想从以下地址获得: 0010|C|||N55555555|E0222222220010 对下列事项: 0010|C|||N55555555|E022222222|1.0 最后四位数字表示小数点后一位的数字,例如: 0010|C|||N55514200|E0222222220300 我希望命令将其转换为: 0010|C|||N55555555|E022222222|30.0 我想输入一个命令,它将大量转换这些字符串。任何帮助都将不胜感激 您可以使用子替换表达式(请参见:help sub

如何仅在安装了taglist.vim或存在Tlist_Get_Tagname_By_Line()函数时设置statusline?

我的.vimrc中有以下内容,它根据光标的位置显示函数名(它使用taglist.vim中的函数) Q.如果存在Tlist\u Get\u Tagname\u By\u line(),如何仅设置状态行? 我的问题是,如果没有安装taglist.vim,当您打开程序时,vim会对此进行投诉,这非常烦人: E117: Unknown function: Tlist_Get_Tagname_By_Line Press ENTER or type command to continue E15: Inva

必须为每个打开的新文件设置Neovim foldtext

如何使foldtext全局应用于每个文件?。我试过的似乎都不管用。如果我运行:set foldtext=NeatFoldText(),我可以让它工作,但我不想在每个文件上都这样做。这一定很简单,但我不知道怎么做。是的,我在init.vim中设置了set foldtext=NeatFoldText()。还可以排除字符串?中用于注释的字符 褶皱看起来像这样: 1 · dein

Vim 如何(以良好的渐进复杂性)从(非常长的)行中删除所有特定字符?

我有一行2590万个字符,其中240万个是逗号,我想删除行中的所有逗号 如果我使用命令:s/,//g,它将构造一个正则表达式,并在该行上重复运行,直到没有逗号为止。根据经验测量,这似乎在O(n^2)时间内运行。因此,我的正则表达式在这行上运行了一个多小时 使用宏是不好的,因为发生重画,当你处于这样一个长行的中间时,它往往有点贵。 拆分行似乎是最好的选择,但由于文件的结构,我需要创建一个新的缓冲区来干净地执行此操作 是的,有更好的方法来输出这么多数据,而不涉及具有荒谬列数的CSV,让我们假设我没有

VIM突出显示IFDEF和IF语句

可以在VIM中突出显示#DEFINE语句吗 VIM确实能够正确地为#if 0着色,但不能为更复杂的表达式着色。下面是它的样子: 有没有办法确定第二个的颜色?我正在编写一个定义了大量代码的代码库,如果没有正确的突出显示,就很难阅读。 谢谢 您可以使用高亮显示命令覆盖颜色。创建文件~/.vim/after/syntax/c.vim,并添加以下行: highlight cDefine ctermfg=4 cterm=bold 它将以粗体浅蓝色设置定义指令 此外,这可以帮助您选择颜色:我找到了一个适

是否可以在至少一个编辑器(升华文本3、Vim或Visual Studio代码)中使用标记语法的多色标题?

基本上,我希望我的标题如下所示: 我如何用降价语法实现这一点?我更喜欢sublime文本,但如果我能在sublime文本3、Vim或Visual Studio代码中实现这一点,我会很高兴。最后,如果让副标题产生多色是困难的,那么,我如何将所有标题的标签颜色更改为相同的颜色呢。例如,我所有的标题都有绿色的标签,但标题的字体颜色是#FFFFFF 谢谢您的帮助。在Vim中,您可以通过在名为~/.Vim/after/syntax/markdown.Vim的新文件中添加以下内容来覆盖颜色方案: syn

Vim中的语法高亮显示丢失,但仅针对特定文件名

我在服务器上工作并使用vim,偶尔连接会中断。当我恢复连接并尝试重新打开正在处理的文件时,我选择删除旧的交换文件(我经常保存)。但是,在我这样做之后,所有语法高亮显示都将从文件中消失,甚至不能通过键入“:syntax on”来返回,只要它具有该文件名 例如,假设我正在处理一个名为file.py的文件。然后我失去了连接,重新打开文件删除swp文件。语法突出显示将消失,“:syntax on”不起任何作用 如果重命名文件file2.py,则高亮显示将返回。但是,如果我创建一个名为file.py的全新

vim:不同线路的多个条件

当几个条件仅匹配时,是否有任何方法可以在线上执行操作。 对于exmaple,我的文本如下 This is a blue coat This is a red coat This is a purple coat That is a coat (附言:本文是从另一个类似问题中借用的。) 如果当前行与^This匹配,而下一行与red匹配,则执行常规命令添加一些文本{Esc} 有一种简单的方法可以实现这一点,如: :%s/^This.*\ze\n.*red/&some text to be

  1    2   3   4   5   6  ... 下一页 最后一页 共 408 页