vim-don';是否在svn工作副本中保存备份?

我喜欢vim自动保存备份文件,但当我使用vim编辑svn工作副本中的文件时,这很烦人,因为文件已经“备份”,并且会造成混乱 当我编辑一个不在svn工作副本中的文件时,如何将vim配置为仅保存备份?这不是对您特定问题的回答,但我认为是一个更好的解决方案。为什么不将所有文件备份到一个单独的目录中,而不管它们是否在源代码管理中 这是我的vimrc的方法。这将在公共~/.vim_backups目录中创建备份: " Use a common directory for backups and swp fi

Vim CTAG-仅显示相关或上下文标记

我有一个与Vim一起工作的Ctags设置。 我当前的设置如下: set tags=./tags;/ set tags+=~/.ctags/*/tags 它基本上在当前目录中查找标签文件,直到/,并且在~/.ctags目录中查找标签,在那里我为不同目录中的不同项目排序了标签 现在,除以下情况外,一切正常: -我有两个标记文件定义为:~/.ctags/ruby/tags和~/.ctags/php/tags -我在一个PHP项目中工作,CTRL+]将我带到一个Ruby项目的标记处(由于上面定义的第二

Vim中的保壳代用品

可以在Vim中完成吗 我的意思是:寻找“坏工作” 用“GoodJob”代替就行了 下列替代品 'badjob' -> 'goodjob' 'BadJob' -> 'GoodJob' 'badJob' -> 'goodJob' 'BADJOB' -> 'GOODJOB' 我不知道这是否是您正在寻找的解决方案。。。但我用过这个: vim中没有其他支持…当然可以 :s/\cbad/\=strpart(子匹配(0),0,1)==toupper(strpart(子匹

为什么赢了';Vim编译我的C代码?

可能重复: 我一直在尝试使用GVIM7.2编译一个简单的c代码。 我已经安装了Borlandbcc32编译器,但我一直收到消息 “make未被识别为内部或外部命令” 我做错了什么?我应该在我的\u virmrc文件中包括哪些内容 更正问题或需要设置什么配置来编译代码?该错误表明Vim无法找到make 故障排除步骤: 是否安装了make 路径中是否包含make可执行文件的目录 您可以从命令行运行make 您能否从vim内部运行make 有助于: 您正在使用哪个版本的Windows 要在系统

如何在Vim中水平拆分多个垂直拆分窗口?

基本上,我想从1)到2) 我通常先水平拆分,然后垂直拆分,但由于我想让它进行三向差分,通过运行启动vim要方便得多: $ vimdiff file1 file2 file3 然后做一些事情来打开下面的拆分窗口 1) +----+----+----+ ¦ ¦ ¦ ¦ ¦ f1 ¦ f2 ¦ f3 ¦ ¦ ¦ ¦ ¦ +----+----+----+ 2) +----+----+----+ ¦ ¦

我可以让Vim忽略文件顶部的许可证块吗?

有没有办法使用折叠或其他Vim脚本黑魔法在文件顶部隐藏许可证块?我不喜欢它们占据我编辑窗格中如此大的一部分;我喜欢在第一次打开文件时了解它在做什么,而不是满脸的样板文件。删除它们怎么样?真的 源代码受权利所有权和许可的保护,而不是受样板文件的保护。至少在大多数情况下,它不需要在那里 如果GPL和其他类似方案确实要求文本存在,则可以将其移动到文件底部或其他任何位置。这取决于许可证块是否有一致的格式以及您使用的编程语言。例如,python倾向于使用“foldexpr”来定义折叠,因此要添加它,您必须

ZSH:如何在命令行中运行Vim风格的替换命令?

在Zsh命令行上时,我忘记了数组语法: $ hello=[1,2,3,4] %ERR: 我想通过替换来解决这个问题。在Vim中,我将执行:.s@@@g。 因此,如何通过在当前行上运行命令来编辑当前行,或将其称为当前缓冲区?仅使用自定义zle小部件,例如: function _-sedsubs() { emulate -LR zsh local SEDARG="s" zle -R "Substitution: $SEDARG" local key=""

什么';Vim中:update和:w之间的区别是什么?

我意识到在gvimControl+S中,作为:update命令。我总是使用Ctrl+S保存,因此我假设:update是“刷新更改”的另一种说法。:update与write:w基本相同吗?如果我为:w更换:update,我会有问题吗 编辑:我想将:更新更改为:w因为我有一个文件,上面写着“仅准备就绪,请添加!”,我认为这是帮助中唯一的解决方案: :[range]up[date][!] [++opt] [>>] [file] Like ":

如何使用vimscript在状态行中写入带有文件名、行和列号的文本?

有没有一种方法可以通过编程方式在vim windows下面的栏上进行写入?我指的是显示文件名、光标行+列以及窗口底部上方文档百分比的栏。它称为状态行 您可以通过键入:help statusline获得更多信息 这是我使用的一个,包括右下角的行和列 set statusline=%f%m%r%h\ [%L]\ [%{&ff}]\ %y%=[%p%%]\ [line:%05l,col:%02v] | | | | | | |

Vim 导航笨重

我一直致力于钻研vim,以便更快地为ruby/python编写代码,而且我很难在文件中导航 主要是指在插入模式和导航模式之间切换。也许我还不完全习惯这个编辑器,但是不断地切换插入模式和退出插入模式感觉非常尴尬 这会随着时间而消失吗?有什么诀窍可以加快插入和退出插入模式的速度吗?阅读这篇优秀文章的“误解1”部分:许多人喜欢将jj或jk定义为在插入模式下键入以返回正常模式(而不是按escape)的内容,这会让你的手一直放在家里的那一排,加快速度。您可以将其放入.vimrc中进行映射(或者只选择其中一

Vim 当我重写文本时,如何将缓冲区可视模式更改为空?

我最近偶然发现了这个有用的功能: nnoremap D“\u D 允许我执行“Dd”或“D$”,以便在不覆盖默认缓冲区的情况下删除内容。但是 nnoremap V“\u V 当我尝试通过选择并粘贴文本来替换文本时,它似乎不起作用 对我如何做到这一点有什么建议吗? 提前谢谢。我不太明白你想达到什么目的 d是一个运算符,因此您可以决定将删除操作的结果放入给定的寄存器中;\在您的案例中注册 但是v不是操作员,它只是从正常模式切换到视觉模式的命令。所以我认为“\u v没有多大意义 您可能会想到另一个操作

如何在vim中将符号链接扩展到文件名的完整路径?

我用的是Mac和MacVim 7.3 我有一个符号链接~/some/symlink,它是一个指向真实文件~/some/actual\u文件的链接 当我输入“vim~/some/symlink”时,它会在vim中显示文件,vim的状态行显示名称为~/some/symlink,这很有意义 如何从vim中获取“real”文件~/some/actual_文件的完整路径?我希望vim状态行显示~/some/actual\u文件,而不是~/some/symlink 我希望vim函数resolve()可以工作

VIM中是否有类似于^E+;J

是否有一个组合键,其行为就像我按下ctrl-E,然后按j,即文本向上滚动一行,但相对于屏幕,光标保持在原来的位置 我知道我可以用:map实现我想要的功能,但在此之前,我想知道是否已经有了一些“内置”功能有z命令 z。重画,窗口中心的线[计数](默认值 光标线)。将光标放在列表中的第一个非空位置 线路 zz类似于“z.”,但将光标保留在同一列中。 小心:如果caps lock处于启用状态,则此命令将变为 “ZZ”:写入缓冲区并退出!{不在Vi} 这些映射使上下滚动一行成为可能,焦点集中在中心线上(

如何使用VIM复制相同位置但不同名称的编辑文件

我试图找到一个命令、宏或插件的组合,将我在VIM中编辑的文件(实际上是macvim)复制到同一位置,但名称不同。我相信这可以通过一个简单的方法实现: !cp $CURRENT_FILE_PATH $NEW_PATH 但我不知道使用什么变量,也不知道语法 :!cp % %:h/new_name %扩展到当前文件名 %:h扩展到当前文件名的目录 要了解更多信息: :帮助展开() :帮助文件名修饰符 :另存为%:p:h/new\u name 有关更多信息: :h :saveas +回答得

Vim CTAG是否可以遵循#包含指令?

我正在尝试在Makefile中创建一个目标,以便使用CTAG自动创建标记文件 我有一个源文件(.cpp文件)列表,但没有所有头文件的列表(我使用g++-MM创建头依赖项列表) 我本以为CTAG在生成标记时会遵循.cpp文件中的任何#include指令,但我的假设似乎是错误的 如果我创建一个简单的标记文件,如下所示: ctags --fields=+iaS --extra=+q myClass.cpp ctags --fields=+iaS --extra=+q myClass.cpp my

Vim 为什么窗口拆分强制为只读?

我正在使用vim进行编程。在一天的开始,我将打开一个文件,然后进行几个窗口拆分,并将一些文件打开到缓冲区中,以便它们随时可用。直到最近,这才奏效 然而,在过去的一周左右,情况发生了变化;我的一个可写缓冲区被切换为只读,我不知道为什么。以下是命令的顺序: 打开文件a.h vsplit/ 打开fileA.cpp C-w C-w切换到包含文件a.h的窗口 sp/ 对于步骤1-4,所有窗口都是可编辑的。当我执行步骤5时,新的文件浏览窗口是只读的(正如预期的那样),但是现在保存fileA.cpp的窗口也被

Vim 在VI/M ex命令中标记一个字符块

对于VI/M来说,从第M行到第n行标记一个行块以准备删除、剪切和通过,或者复制和粘贴是非常困难的 :M,N d :M,N m p :M,N t p 如果VI/M还需要标记一个从第M行第i个字符到第n行第j个字符的字符块,是否可以实现与上述类似的 @编辑 除了下一个关于视觉块模式的回答外,关于键入简洁的ex命令的选项如何 @编辑2 要澄清一组字符的含义: 字符的方形块,由可视块模式寻址,在正常模式下按Ctrl-v可直接调用 连续字符的zipzag区域,由视觉字符模式寻址,在正常模式下按v键可

突出显示VIM中的所有大写单词

在我的.vimrc文件中,我添加了 match Title /EXAMPLE/ 所以,当我输入示例时,这个单词会高亮显示,效果很好,我的问题是,如何高亮显示所有大写字母?不仅仅是一个例子,还有其他的一切 --> THIS IS AN EXAMPLE --> SECOND EXAMPLE --> ETC 我想突出上面的句子。这样做 match Title /[A-Z]/ 这将突出显示所有大写字母这适用于所有大写的单词 :syn match Error "\v<[A-Z

vim不区分大小写搜索,带敏感替换

我有一个包含以下内容的文件: test Test 目前,如果我想用“foo”替换“test”的所有情况,用“foo”替换“test”,我必须使用两个命令: :%s/test/foo/g :%s/Test/Foo/g 有什么方法可以用一个命令来完成吗?我认为tim pope的这篇文章可以解决您的问题,安装它并 %subversit/{t}est/{f}oo/g或%subversit/test/foo/g(感谢您的评论)将实现我的granpappy所说的技巧,每个插件都有一个vim one li

Vim 如何快速切换到另一个选项卡页中的上一个窗口?

我真的很喜欢Ctrl-O和Ctrl-I来回跳跃。 如果我打开fileA,则使用:tabe fileB在新的选项卡页中打开另一个文件。 在第二个选项卡页面中,我键入Ctrl-O以跳回上一个位置。 Vim只是在当前窗口中显示fileA,而不是切换到第一个选项卡页。 现在我有两个选项卡页面显示相同的文件。这不是我想要的。 我可以使用:drop fileA,但我需要提供全名。这还不够好。 有什么好方法可以在windows交叉选项卡页面之间切换吗?是的,switchbuf设置: set switchbuf

使用vim、sed或awk修改/操作文本(再次)

对不起,还有一个关于上一个的问题- 我想在峰值数和范围之间添加下划线。我从维姆那里得到了奇怪的结果 MACS_peak_1 range=chr1:569425-569625 5'pad=0 3'pad=0 strand=+repeatMasking=none TTCGCTAGATAAAATGCCCTAGCCATTCTTACACAAGGCACA CCTACCCCTTACTCTACTAGTTATTCGAACCATCAGCTACT 到 MACS_峰值_1_范围=chr1:569425-569625 5

如何在vim插件vimwiki中转义特殊字符

例如,我想写以下内容: $VAR可通过“$VAR”访问 但当我在vimwiki中编写它并将其转换为html时,它看起来像: \(VAR can be reached by "\)VAR" 因为$是一个特殊的字符 如何在不使用{{{{and}}的情况下转义wimwiki中的特殊字符 我已经读过: 但这没用 在autoload\vimwiki中找到文件“html.vim” 更改(第323行): 致: 这将打破内联数学函数,希望这将帮助你 return '\('.s:mid(a:value

vim配置以打开.conf文件的语法

我在python项目下有一个名为“logging.conf”的配置文件,该文件如下所示: [formatters] keys: console, logging [formatter_console] format: %(asctime)s | %(message)s [formatter_logging] format: %(message)s etc etc etc 尝试了:语法在上,没有发生任何事情,.conf文件看起来非常简单。我是否可以打开一些语法,使.conf文件更加丰富多彩

Vim 重新映射箭头键以在NERDTree中移动目录

当使用NERDTree时,我想重新映射左右箭头以在目录上下移动 我相信左箭头必须映射到“u”,但我不知道只有当NERDTree是活动窗口时才如何映射 谢谢 试试这个: autocmd FileType nerdtree nmap <buffer> <left> u autocmd文件类型nerdtree nmap u

如何删除Gvim的开始消息?为什么我的标记函数不起作用?

当我在Windows下打开我的Gvim时,它会给出上述信息。如何删除它 第二个问题是关于Gvim的“标记”功能。 默认情况下,它应与Gvim一起安装,并可在安装后使用。我是在自己的电脑里做的。但今天,当我在办公室电脑上做同样的事情时,“标记”功能不起作用 在我的vimrc文件中,我设置如下: let mapleader=";" 所以每次我只要按“;”然后“m”激活标记功能,但失败。消息框显示:echomg从cscope和标记列表插件输出。在GVIM启动过程中,由于GUI尚未初始化,它们会出现在

在vim中显示阴影映射

我试图找出是否有办法确定某些映射是否隐藏了其他映射。有人知道这是否可能以及如何可能吗 编辑:我有一个大的.vimrc。我想知道当我还是(vim)初学者时创建的旧映射是否与本机vim映射相关联 谢谢 编辑:我有一个大的.vimrc。我想知道我是否创建了旧映射 当我还是(vim)初学者时,我正在跟踪原生vim映射 简而言之,你不可能知道 有一件事需要澄清,“原生vim映射”。这是什么意思?我猜你指的是一些内置的vim命令,比如dd,gg,G。。。它们不是映射 以dd为例,如果您不知道dd存在,您可以

Vim 如何将两个操作合并为一个(使其可由';';重复并可立即撤消)

考虑一个简单的例子:比方说,我只是键入foo,然后按左键,然后键入bar。现在我有了fobaro 当我按下按钮时。键,仅重复条部分,撤消时也是如此 所以我想在按下时重复整个fobaro,并在按下u时立即完全解开 我正在编写插件(),它可以实现一些类似的技巧,我希望它不会破坏撤消历史。我不知道如何将其与您的插件联系起来,但听起来您可以只录制一个宏- qq i foo<esc><Left> i bar<esc> q 重复is当您在插入模式下移动光标时,Vim开始

Quickfix的着色会导致Vim

当我在Vim中使用grep时,如何将quickfix中的结果着色 我试过: set grepprg=grep\--color=always \-n\$*\/dev/null 但它不起作用 我在cygwin上使用Vim 7.4,我也在LinuxMint15上尝试过它。请帮助,谢谢。使用--color=always,您指示grep始终输出ANSI颜色序列(看起来像^[[32;40m),即使输出不是到终端 不幸的是,Vim不理解这些序列;它有自己的(基于正则表达式的)语法高亮显示 虽然这个插件可以将前

部分重叠(*非*嵌套)正则表达式匹配的vim语法高亮显示?

我有一个包含任意字符串的长.vim文件要突出显示。我有它的工作,除了两个表达式重叠,第一个是突出显示,第二个不是。例如,其中两行是 the third part part of the trilogy 。。。在短语“三部曲的第三部分”中,只有前三个词被正确地突出显示,因为第二行不匹配。是否有匹配两行的内容,因此整个短语会突出显示?这里根本不清楚您要匹配的内容,但是 third.*\n.*the 我将跨越界限 如果要突出显示第三部分和第三部分 third.*\n*part will work

如何移除vim中特定列的回车?

我在vim中有从pdf文件转换的文本 我遇到的问题是,段落内的每一行都以回车结尾,在段落之间没有空行来区分每一段的开头或结尾。因此,如果我把文本放在MicrosoftWord中,我就不能缩小文本并将段落环绕在它周围 如果段落之间有一条空行,这将很容易: %norm vipJ 但因为没有,所以我只考虑在最后一个字符是字母且列为65或更多时删除额外的回车。我知道如何查找和替换任何信件 但我的问题是,如果行中的最后一个字符位于第65列,我如何才能在vim中执行搜索和替换? 更新:到目前为止,我设法做

Vim 如何在intellij idea中更改编辑器行为

我刚刚安装了IntelliJIdea 14.0.2。我不知道它的默认编辑器,但它现在正在vi选项中打开我的源文件。所以,不要让我做默认的动作,比如Ctrl+v,Ctrl+d,我以前很喜欢它 那么,如何改变这种行为,比如在sublime-editors?如果您不需要vi键绑定,请卸载IdeaVIM插件。在菜单栏中禁用下面的选项 工具->VimEmulator(Ctrl+Alt+V)如果您想使用vim和快捷键(如Ctrl+C/Ctrl+V/Ctrl+X),可以在以下位置将快捷键重新定义为IDE快捷键

使用vim airline在vim中的选项卡之间切换

我使用的插件工作得很好,但是,在选项卡之间切换的唯一方法是用户:bp或:bn,这是:bprevious或:bnext的快捷方式。问题是,如果我在第一个选项卡上,想切换到最后一个选项卡,即第十个选项卡,那么我必须键入:bn十次才能到达那里如何直接切换?可能按下箭头键会有好处。您的问题是,您安装了一个插件,该插件设计用于混淆Vim的常规命令和工作流,甚至不知道这些常规方法。你走的捷径把你带到了死胡同,所以你唯一合理的解决办法就是回到大路,正确地学习Vim,而不需要训练车轮和拐杖 所以…从你们的问题来

Vim 你完成了我的安装问题

我正在尝试在我的大学服务器上安装YouCompleteMe,该服务器运行Debian Linux(在我的用户主页中)。 当我跑步时: ./install.sh 在“构建CXX对象”阶段之后,我遇到了以下错误 [98%]构建CXX对象ycm/cmakfiles/ycm_core.dir/ycm_core.cpp.o [100%]构建CXX对象ycm/cmakfiles/ycm_client_support.dir/versioning.cpp.o [100%]构建CXX对象ycm/cmakfil

Vim pymode:表示<;C-C>;组合键

我在vim pymode文档中遇到了以下组合键(…我假设),/。如何解释它们?和都表示Ctrl+C 我相信你可以推断出如何键入其他内容 请参见:帮助键符号

Vim/Sed:仅删除单个空行

如何仅删除sed/vim中的单个空行 已经解决了几个问题,但是我想保留多个空行(或作为单个空行),以便: this kind of thing 变成 this kind of thing 这个很好用: :%s/^\n\(^\n\)*/\1/ 这个很好用: :%s/^\n\(^\n\)*/\1/ 另一种方法是使用:g。它并不比:%s解决方案更快或更好,但感觉它更容易阅读(至少对我来说): 另一种方法是使用:g。它并不比:%s解决方案更快或更好,但感觉它更容易阅读(至少对我来说)

Vim ^没有找到J有向图

我运行了:registers,注意到每行末尾都有一个^J "" def^J "0 abc^J "1 def^J 由于以前从未见过它,我做了一些研究,发现了描述有向图的页面 在我希望找到^J的地方,我找到了^@,当我运行:有向图时,我发现了同样的事情 右边的描述告诉我这是一个换行符,考虑到^J在行的末尾,这是有意义的,但是如果^@已经分配给空有向图,为什么两个源都将LF映射到^@ 这是打字错误吗 更新:LF被转换为NULL:显然^J是换行符的正确表示形式,而^@表示NULL。文档问题

Vim,缩进不保存

我只是仔细查看了我在Vim中编写的一些文件,并从本地Git repo推送到Github。Vim中出现的许多缩进并没有传输到Github。是否需要在.vimrc中更改设置以确保保存来自Vim的缩进 听起来您可能在使用制表符。选项卡字符可以根据您使用的编辑器进行不同的解释,尽管看起来很奇怪,它们根本没有显示在Github视图中 我建议将制表符改为空格。在Vim中,您可以使用“:”指定设置 要使它们在会话之间保持不变,您需要将其存储在名为的文件中(只需使用“set”而不是“:”) 然后可以指定选项卡

vim脚本中的回显字符串和变量

在vim脚本中具有以下简单功能: function me#Tabwidth(width) let &tabstop = a:width let &shiftwidth = a:width set expandtab echom "Tab width set to " + a:width endfunction 该函数在vimrc文件中被这样调用 command -nargs=* Tabwidth :call me#Tabwidth(<f-a

Vim:如何跟踪哪个插件负责一个特性?

我刚刚安装了此repo中的点文件: 当我试图保存一个javascript文件时,会出现一个lint部分。但是我不知道它来自哪个插件: 有没有办法知道这是从哪里来的?我试着删除一个我认为应该负责的插件,但这只是尝试和错误。有更系统的方法吗?简短回答 该功能由一个名为插件的插件提供,插件本身是内置功能的第三方包装器(:help:make,:help quickfix),插件本身使用外部程序(最有可能)。您必须阅读该插件的文档::help syntastic 长话短说 定制的全部目的是根据您的需要调

在Vim中使用F5键执行php脚本

我想保存并执行一个用php编写的脚本,只需在vim中按F5键 因此,我将这一行添加到.vimrc文件中: :map <F5> :w<CR> :!php<CR> :映射:w:!php 但它不起作用 编辑.vimrc文件时,我如何才能做到这一点。这些对我来说很有用(对于F3): autocmd文件类型php nnoremap:w!:!菲律宾比索% autocmd文件类型php inoremap:w!:!php%i autocmd文件类型php nnoremap

Vim 如果在另一个窗口中选择,如何防止在一个窗口中进行缓冲区搜索?

在VIM上,我经常在同一个文件上打开两个窗口,一个用于读取,另一个用于写入。但是,当我在一个窗口上选择一些文本时,另一个窗口会寻找我刚才选择的文本,从我正在阅读的地方移开,让我非常恼火。我如何防止这种行为?我相信两个窗口是指使用vsplit或hsplit打开的拆分窗口。如果是这种情况,可以通过禁用scrollbind来关闭此行为 :设置滚动绑定或:设置scb现在情况更糟了。两个窗口的滚动位置似乎已连接。如果我滚动一个窗口,另一个窗口将跟随。另一个窗口似乎可以独立于第一个窗口滚动,但如果我将光标更

VIM错误E510“;Can';“不制作备份文件”;尽管没有备份

我相信这是在Windows从睡眠中恢复后发生的。当我重新启动VIM时,问题消失了。我使用VIM 8.1 我的vimrc包含: set nobackup set noswapfile set noundofile silent execute '!mkdir "'.$TMP.'/vim"' set backupdir=$TMP/vim/ 中的解决方案对我没有帮助,因为我不使用备份(据我所知)。Vim仍然会写入备份文件,以防止写入过程中出现故障。写入成功后,将删除此备份文件。它可以被禁用,但如果

从Vim切换到Emacs-如何高效地编辑代码

目前我尝试从vim切换到emacs,在编辑代码时遇到了一些困难。对于大多数非常简单的vim击键,我发现了类似SimpleMovement的emacs版本 h,j,k,l是C-b,C-n,C-p,C-f w,b是M-f,M-b I,A是C-A,C-e 但是对于我习惯的一些“更高级”的特性,我不确定emacs的工作方式是什么 以下是我在使用emacs时当前工作流中遇到的一些问题 请告诉我emacs人员是如何做这些事情的(显然没有使用vim仿真),或者emacs友好的工作流是什么 用f 当我在vim

重新配置vimrc时,vim文件类型设置丢失

按照说明,我有一个ftdetect文件~/.vim/ftdetect/cheat.vim,其中有一行: au BufNewFile,BufRead*.cheat/*设置文件类型=cheat 这将在~/.vim/ftplugin/cheat.vim处加载一个简单的配置文件: 它可以正常加载,但当I source ~/.vimrc时,cheat.vim的设置会丢失。最好的长期解决方案是避免使用本地选项和类似选项直接执行vimrc覆盖文件类型设置,但最简单的修复方法通常是重新编辑文件。类型 :edit

vim:如何替代正斜杠、星号和左花括号?

在vim中,当我执行echo-substitute(“/*{”、“/*{”、“,“g”)时,它会打印出/*。即使转义所有字符(echo-substitute(“\/\*{”、“\/\*{”、“,“g”))也会导致/* 我只想用零长度替换/*{。我做错了什么?弄明白了,我是个白痴。我只需要避开表达式{pat}部分的星号。我当时的心态是,第二个字段只是{string}字段,而不是{pattern}字段--所以我甚至没有考虑模式匹配 因此,答案是: echo替换(“/*{”、“/\*{”、“g”)

在vimscript中的光标后插入文本块

我原以为这会容易些,但我还没有做到。我想运行一个函数,在光标后插入一个特定的文本块(这是我经常插入的一些文本) 一旦完成,我会将按键映射到这样的函数。我不能使用append(),因为我不想创建新行,只想像“a”命令那样在光标后追加一些文本。您可以使用 exe "normal! a".functionresult."\<esc>" 我可能对列偏移量有错误(我已经检查了代码的行为),但这就是我的想法 请注意,根据插入的触发方式,仅使用表达式映射可能更简单 inoremap <si

Vim 删除到行首-d0会留下额外的空间

我试图用d0删除行首的缩进行,但这会留下额外的空间,我必须用x删除 用例是,我经常想在两行之间插入一个空行,是的,我可以使用'o'或'o'和'Esc',但我经常出于习惯进入插入模式并输入一行。vim中的autoindent添加了一行额外的空间(即使使用smartindent),因此我留下了一些悬空空间,必须用“d0x”删除 额外的“x”看起来很尴尬,因为“D”删除到行尾,没有留下额外的空间,是的,我可以使用“0D”在一个更少的笔划中完成同样的操作。但我想听听你对这种情况的最佳处理方法的意见。谢谢

如何在vim编辑器中快速按enter键

这是一个天真的问题。因为我键盘上的回车键太远了,所以按下它很不方便。 在vim中是否有一个与enter类似的键,以便我可以按enter键。 非常感谢。我个人使用的重映射密钥如下: 对于enter->inoremap kk 逃生> IORAMP JJ/代码> /P>嗯,也许考虑重新映射?e、 g.:inoremap?键盘有多大导致回车键“太远”?

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