Vim 在“vi”中的所选内容中查找并替换`

如何在vi中的选择中查找和替换?此处有更多帮助如果您使用视觉模式进行选择,则: :'<,'>s/regex/replacement/options :”在视觉模式下选择文本(我想这就是您正在做的),然后按:开始键入命令,您将在命令行中看到如下内容: :'<,'> :”如果要对文件中的所有实例进行全局搜索和替换(使用可选正则表达式),我将执行以下操作: :%s/foo/bar/g 省略g以进行局部替换。此处建议的大多数其他解决方案适用于发生选择的整个行,这可能不是您想

如何让Vim自动放置结束括号?

在编辑.scm文件时,如果Vim能在我开始()时自动放置结束大括号,那就太好了。你可以根据自己的喜好映射开始大括号: :imap ( ()<left> :imap() 尝试使用插件。关于这个主题有很多提示和插件。请查看vimtips站点中的。我也需要一个,并且我已经尝试了一些插件: 自动关闭,有点咄咄逼人 简单配对,取决于Python。如果您在Linux上,这不是问题,但在Windows上,将Vim版本与您拥有的Python解释器匹配可能会有问题 我的建议是ClosePairs,您

Vim 检测文件更改,提供重新加载文件

我通常使用gVim进行编辑,但有时在远程连接到我的机器时使用vim 当我在gVim中打开一个文件,并且该文件已从外部更改(例如,存储库中的新更新)时,gVim提供重新加载该文件 然而,当Vim发生这种情况时,在您尝试保存该文件之前,它不会执行任何操作。它只是警告您文件已更改,但不提供重新加载 是否存在使Vim的行为与gVim匹配的设置?这是使用名为FileChangedShell的自动命令完成的。我是个新手,不会发布链接,但是你最好的选择是阅读vim文档中的autocmd部分(用谷歌搜索) 但要

Vim 我如何搜索“如何搜索”\";没有前面的“\r";在维姆?

如果Vim看到不一致的行尾,它将不会转换文件格式。如何找到这些内容?将\r\n替换为\n,然后再将\r\n替换为\r\n怎么样 应该是这样的: :%s/\r\n/\n :%s/\n/\r\n 要将所有\r\n为\n的行尾更改为\r\n,请使用 :%s/\r$// 这将搜索紧跟着换行符的所有\r字符,并将其替换为换行符。请使用dos2unix或unix2dos之类的实用程序将换行符转换为所需格式。unix和windows系统都有这些实用程序的本机实现。Zero width look b

当光标在单词中间时,如何删除单词? 当光标位于VIMM中的某个中间位置(无论是在结尾还是在单词的开头),如何删除一个单词?< /P> < P> BDW 应该执行。

back到单词的开头,delete到下一个word在正常模式下(按Esc键后),您需要的是以下按键: diw(意思:删除内部单词) -或- daw(意思:删除一个单词) 第二个命令还删除单词后面的所有空格,如果单词后面没有空格,则删除单词前面的所有空格 有关更多相关命令: :help diw :help daw 我发现“diw”(删除内部单词)是直接删除单词的方法 进入正常模式后(按Esc键) fspacedb will删除这个词。这是如何与编程相关的?还有谁会使用vim?@Adam——一位数

我如何在vim上找到带有拉扯文本的文本?

让我们说,我扯下了下面这个词: 奶酪。 现在我想在文本文档中查找奶酪。我按了正斜杠(/)。。。这就是我的终点。 有没有办法用拉扯过的词来搜索?另外,是否有一种方法可以使用拉长的单词进行替换(s:/yanked/beef/g)?最近拉长的文本将存储在0和“寄存器中(如果没有明确指定寄存器,例如”xy) 然后,您可以使用Ctrl-RX将任何寄存器的文本粘贴到最后一行(搜索模式/或最后一行命令模式:),其中X是您要粘贴的寄存器 例如: /Ctrl-R0 将在正向搜索命令模式中粘贴寄存器0的内容 猛拉文

Vim仅在行的开头保留空格

我正在使用 :set noet|retab! 但我遇到的问题是,它将整个文件中4个空格的所有实例替换为选项卡。 我需要vim只替换行开头的4个空格的实例 如果我把它拿走!在retab的末尾,不会在任何位置替换空格 我尝试过使用某个人创建的自定义函数: " Retab spaced file, but only indentation command! RetabIndents call RetabIndents() " Retab spaced file, but only indentat

在indent/html.vim中使用indent/javascript.vim的最佳方法<;脚本>;标签

在indent/html.vim中使用indent/javascript.vim作为标记的最佳方式是什么 编辑: 同位语,正如我建议的那样,我真的应该多给你一点,这样你就可以帮助我了 可以找到我的vim设置 我目前正在使用来自的html.vim 我正在使用来自的javascript.vim 对于预期的文件类型,这两种方法都非常有效 谢谢 戴夫你想解决的问题是什么?什么不起作用?这是什么意思 通过发出以下命令,您可以告诉Vim该文件是一个HTML+JS文件(因此可以利用这两种特定于语言的特性集):

Vim 维姆:有开关车窗的命令吗

我需要一个:命令来切换窗口,因为我正在函数中使用它。所以W不行。使用: wincmd k 我得到了我需要的我在函数中使用普通w时也遇到了问题 我的问题是,我在execute中运行它,您需要从第一个尖括号中退出,结果是execute(“normal\w”)。希望这仍然能帮助一些人理解它 有关更多帮助,请使用:help normal和:help在Vim中执行哦,不,我可以使用wincmd w但我不知道。为什么normal w会失败?@CiroSantilli,因为我使用的是Vim函数。我试过正常!

Vim+;天顶编码。我怎样才能获得崇高的行为?

我开始使用vim和zencoding插件。例如,我键入div,点击mapkey并得到以下结果(其中我是光标位置): I 如果我点击回车键,我会得到: <div> I</div> 我 但是我想得到这个(就像在SublimiteText2中使用相同的zencoding插件): 我 我怎么做?也许在zencoding插件或vim中的secret mapkey中有一些设置 对不起我的英语 UPD我尝试使用SparkUp,但根本不起作用。我的vimrc文件中有Pytho

Vimscript-映射函数

假设我有一个函数,给我一个作为参数传递的字符的ASCII值,并将其命名为AsciiFunc(已经晚了,我想不出有创意的名称了)。是否可以定义一个调用AsciiFunc并将键入的字符传递给它的映射。例如,如果函数映射到a,则按af将调用函数ascifunc并将“f”作为参数传递 为了避免混淆,我知道ga给出了光标下字符的ascii和其他信息,这不是我要寻找的。我正在寻找一种方法,以避免为AsciiFunc可以作为参数的每个可能值创建多个映射。您可以在AsciiFunc()内部调用getchar()

Ctrl+;S(水平拆分)不与vim中的命令T一起工作

我无法让水平分割工作。Ctrl+enter不执行任何操作,Ctrl+S不执行任何操作 我已经在谷歌上搜索了一段时间,到目前为止,我找到的唯一解决方案都与OSX有关 在ArchLinux和Ubuntu上,都有相同的问题(但配置也相同) 我没有使用Janus或类似的东西,只是一个非常基本的配置 set t_Co=256 set tabstop=2 set expandtab set shiftwidth=2 set fileencoding=utf-8 set encoding=utf-8 set

如何在Vim中禁用退格和删除键?

我想使用Vim进行无干扰的写作,而不是使用PyRoom/TextRoom,其中提到了VimRoom,可以告诉我如何获得大多数设置 我只想知道如何启用文本室样式的流模式: 如何禁用退格和删除键(而不是像d$这样的快捷键)?您可以通过将单个键映射到特殊的目标来禁用它们: :inoremap <BS> <Nop> :inoremap <Del> <Nop> :inoremap :重新映射 (假设您只希望在插入模式下禁用它们。)您可以在没有vim的情况

如何将pythonshell编辑器更改为vim

关于如何更改pythonshell编辑器,我总是有这样一个问题 简单的例子: $python Python 2.7.3 (default, Aug 1 2012, 05:14:39) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import datetime >>> help(datetime) help

Vim 不加载小脚本(在solarized文件夹中)

我正在尝试对病原体进行正确的vim配置。 特别是,我以推荐的方式安装在bundle文件夹中: $ cd vim-colors-solarized/colors $ mv solarized.vim ~/.vim/colors/ 因此,我可以使用好的颜色主题,并且我有solarized文档。然而,用solarized给出的小脚本不起作用。它映射不正确,我无法从命令行调用它。但我看不出有什么不对 这是我的包文件夹的组织: - Bundle - vim-colors-solarize

如何阻止VIM转换线端(带spf13线束)

我有VIM 7.3版,其中spf13捆绑包在Debian Linux上运行。我希望vim不要转换任何行尾,只需将它们放在一边。我怎样才能做到这一点呢?我知道发生了什么。首先,我假设vim正在更改我的行尾,因为每当我更改文件中的任何内容,然后查看svn(或git)中的差异时,我都会看到一堆我从未接触过的修改过的行。此外,这些行似乎都没有任何变化,所以我假设发生变化的一定是行的结尾。我错了 这里实际发生的事情是在我的.vimrc文件(随spf13扩展包提供)中使用了autocmd函数,它本质上允许您

Vim 是否可以使用ASCII NUL作为搜索/替换分隔符?

换句话说,正如您可以使用:s/x/y/g和:s | x | y | g和:s#x#y#g一样,您也可以使用:v\0x\0y\0norm 0?下的文本说明了可能的分隔符: 与围绕模式和替换字符串的“/”不同,您可以 可以使用任何其他单字节字符,但不能使用字母数字字符, “\”、“”或“|” 请注意,(显示为^@=CTRL-@)在内部表示为换行符(ASCII 10)(请参见:help),但您可以通过CTRL+V、0 0 0或CTRL+V、CTRL+@在命令行中输入它 因此,尽管您可以使用分隔符字符键

VIM ctrl+;要更改的选项卡选项卡将光标向后移动

我在论坛上发现了这段代码,它让我在标签之间切换时的生活更轻松,我把它放在了我的~/.vimrc中。幸运的是,它工作得很好。不幸的是,每当我按ctrl+tab键更改tab键时,光标都会向后移动一个字符。有人能帮我把光标放在一个地方吗 set showtabline=2 :nmap <C-S-tab> :tabprevious<cr> :nmap <C-tab> :tabnext<cr> :nmap <C-t> :tabnew<cr&

如何在vim中水平镜像视觉选择?

我有一组表示设计的平面文件(对于好奇的人来说,这些是游戏《矮人堡垒》的堡垒蓝图): 其中一个看起来像这样: `,`,`,`,`,`,d,d,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,d,d `,`,`,`,`,`,d,d,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,d,d `,`,d,d,d,d,d,d,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,d,d `,`,d,d,d,d,d,d,`,`,`,

Vim在python文档字符串中获取'gq'命令的正确行为

假设我在python脚本中有以下文档行 def cdf(): """ Each line in the printed output will contain a fraction and a number, such that the given fraction of all numbers in the log file have values less than or equal to the given number. """ 如果我突出显示字

使用Python支持重新编译VIM,以实现clang_complete

我已经在谷歌上搜索了大约一个小时,很多人都有同样的问题,尽管我似乎无法得到答案。我正试图让clang_完成工作,我知道我需要Vim中的Python支持。根据:version,我的Vim编译缺少-python和-python3。简单问题:在Linux Debian上,如何使用python支持重新编译Vim?要启用python解释器,请尝试 ./configure --enable-pythoninterp=yes --enable-python3interp=yes && make

VIM:如何将c-](标记)映射到dog+;查找标签?

通常,Ctrl-]的默认映射似乎是“光标下的查找标记”。如果我想要所有可能的标签点击列表,我必须按“g”,然后按ctrl-] 我如何noremap成为g+“光标下的查找标记”?我希望结果会像往常一样出现在屏幕底部的窗口(?)中 当然,我之所以想要这个,是因为我经常忘记“g”。有时候,最明显的解决方案就是你所需要的: nmap <C-]> g<C-]> nmap-g 我从来没有意识到这个主题是相同的,但是,是的,它是重复的。

停止vim';当按下一把钥匙时,它会延迟动作

假设我有一个映射到函数的键。当按下该键时,vim的动作就好像该键被按下了很多次(应该是这样),并多次调用该函数。当函数需要一段时间才能完成时,会出现问题。读取输入键的速度快于进行函数调用的速度。释放键时,该函数仍被调用多次。我想在按键释放时停止调用该函数。这可能吗 如果我的故事不清楚,让我举个例子。我正在使用插件vimsmoothscroll。按“K”键时,它会在大约0.5秒内将光标向上移动15行,从而产生平滑的滚动效果。假设我按住“K”键1秒钟。这为完成2个函数调用提供了时间。然而,Vim将其

vim:netrw跳过搜索目录

当使用:Ex搜索当前项目下的文件时,我希望通过搜索跳过某些目录。netrm文档说可以使用“g:netrm_list_hide”选项来实现这一点,但我对这些选项的实验表明,它只适用于文件名,而不适用于目录名 谷歌搜索也无法解决这个问题。有人知道解决方法吗?摘自 要隐藏目录名,只需在列出它们时添加一个尾随斜杠。例如,要隐藏目录.git/,请使用以下命令 let g:netrw_list_hide='^\.git/$' 我想你的意思是netrw?我不知道有什么名字叫netrm

Vim 隐藏MiniBufExplorer的灯线

有没有办法不显示某些windows-MinibufeExplorer或NERDTree的状态行(我正在使用) 您可以在本地清除'statusline'设置(am空值将显示默认值,但您可以只选择背景色组,使其有效消失): 要将其自动应用到MiniBufExpl窗口,您可以使用一个:autocmd,或者基于特征缓冲区名称(bufWinter事件),或者如果插件在filetype事件上设置了一个'filetype'。是的,我认为这是我们能做的最好的事情。非常感谢。 :setlocal statusli

Ideavim折叠和扩展代码块

在ideavim插件中折叠和扩展代码块的关键绑定是什么 (za适用于eclipse的vrapper,但不适用于ideavim)来源: zo在光标下打开一个折叠。当给出计数时 许多深的褶皱将被打开。在视觉模式下,一级 将为选定区域中的所有行打开折叠 zc关闭光标下的一个折叠。当给出计数时 许多深的褶皱闭合。在视觉模式下,一层褶皱 对于选定区域中的所有线,此选项都是关闭的。 将设置“可折叠” zM关闭所有折叠:将“foldlevel”设置为0。 将设置“可折叠” zR打开所有褶皱。这将“foldle

有时vim映射插入字符而不是执行命令

我的一些映射将打印一些字符,而不是执行我想要的命令。看起来有时候执行速度不够快。它通常发生在我快速编程输入和扩展方法之后 以该映射为例: inoremap <leader>s <ESC>:w<cr> 然后我点击回车键,代码扩展到 public function something() { | } 然后我继续实施: public function something() { return "something|" } 当执行s该位置的文件时

Vim clangcomplete将路径添加到includes

今天我有一个简单的问题。我正在使用这个vim配置- 问题在于铿锵完成。它可以工作,但当我想添加更多的包含以获得更好的完成时,就什么都没有发生——它不会检测到新的头 例如,获取#包括。这是我添加到.clang_complete文件中的内容,该文件位于main.c所在的目录中: -I/usr/include/x86_64-linux-gnu/sys/ 我通过调用 find/usr/include/-name-types.h 有什么不对劲?您能给我看一些包含unix头的工作.clangu_完整文件吗?

我可以写一个vim映射,允许我在下一个[计数]行上以可链接的方式执行编辑重复吗?

Vim的dot重复功能是其最强大的功能之一,其强大的根源不在于它的能力如何,而在于它的简单和快速 这实际上有点有限。例如,我经常希望它能做的事情是多“记录”一点。例如,我在bash脚本中有一个很长的行,我想缩短它来清理脚本 注:我使用方括号演示Vim光标的位置 [y]um -y install autoconf automake binutils bison flex gcc gcc-c++ gettext libtool make patch ftp pkgconfig man ncurses

Vim YouCompleteme可以工作,但无法使用选项卡完成

我使用vundle安装了YouCompleteMe。 然后安装所有插件并使用 ./install.sh --clang-completer 以下是我的vimrc的外观: syntax on set expandtab set cindent set tabstop=4 retab set shiftwidth=4 set hlsearch set paste set ic set number colorscheme molokai set t_Co=256 set nocompatible

在vimrc中使用iab时出错

我需要转换 for(int到for(int 自动在我的vim编辑器中 因此,我在我的vimrc中写了以下声明 iab for(int for (int 但它给出了以下错误 line 158: E474: Invalid argument 这个错误的原因是什么 另外,我如何编写一个通用语句来转换 for(int to for (int for(;; to for (;; etc... 缩写有三种类型: 完整id缩写仅包含'iskeyword'字符 end id缩写以'iske

为什么vim总是说';已在最早的更改中';当我试图撤销时?

我在任何地方都找不到这个问题,所以这是给下一个人的 不知何故,我的vim,它是高度定制的,有大量插件,比我想调试的复杂得多,间歇性地陷入一种状态,如果我点击“u”,它会说“已经在最早的更改中”。当我按CTRL-R时,它说“已经在进行最新的更改”。但它不会撤销或重做任何事情 非常令人沮丧。当undolevels为负值时会发生这种情况,这显然是用来防止vim undo耗尽内存的。出于某种原因,我的undolevels设置为-123456 将你的水平设置为一个大的正数,比如999999,一切都会恢复正

为什么` syntax keyword`命令在~/.vimrc中不突出显示关键字?

我希望每当我正在编辑的任何文件包含单词TODO或LATER时,都应该使用TODO突出显示组对其进行语法突出显示 我在~/.vimrc中有以下内容 colorscheme elflord syntax keyword Todo TODO LATER 我在一个名为foo.txt的文本文件中有以下内容 TODO foo LATER bar 当我打开这个文件(gvim foo.txt)时,我看到应用了elflord配色方案,但没有突出显示TODO和以后的 但是,当我在命令行模式下输入:syntax关

vim-如何在新窗口中显示手册页?

K在新窗口中显示当前单词的手册页 但是,:Map以水平分割的方式显示它(在将运行时!ftplugin/man.vim添加到.vimrc之后) 如何设置vim以在新窗口中打开手册页 我知道我可以通过点击Ctrl-w来最小化拆分,但是有没有办法从一开始就在新窗口中打开它?您可以定义自己的命令,而不是加载ftplugin/man.vim: :command! -nargs=+ Man !man <args> :命令-纳格斯=+人!人 这定义了一个命令Man,它接受一个或多个参数(-na

vim-更改选定文本的颜色

我正在用vim编辑一个文档,它不是代码。我是vim新手,来自Windows背景。我正在尝试选择一块文本并更改其颜色。我知道如何使用视觉模式选择文本。你能告诉我如何改变选择的颜色吗 我想定义预设,例如红色、绿色、蓝色、黄色等,并对所选文本执行类似操作-:set color=red 这可能吗?你能告诉我怎么做吗?请检查。 m要启用映射,您可以选择文本并使用不同颜色高亮显示,如下所示。(限制:不支持列选择。) 突出显示模式的简单示例==>文本要突出显示。 您还可以在模式中指定regex hi-Cus

Vim 如何使用''&引用&引用;,(),[],{}等?

我是维姆的新手。我按了太多按钮来进行基本的文字换行: string->“string” 多字长串->多字长串 a+b*c->(a+b)*c (elem0,elem1,elem2)->[elem0,elem1,elem2](可选) 我正在手动执行所有操作:进入开始、插入模式、按键、正常模式(第二个字符也是如此) 如何做得更快?例如:直观地选择文本,智能地将其与所需内容包装在一起。甚至没有视觉选择。您可以使用visuall模式进行此操作。例如,您有字符串^将是光标定位。在正常模式下启动 1. str

Vim在多行上拖动文本对象的方法

如果我有 - 'autoindent' is set by default - 'autoread' is set by default - 'backspace' defaults to "indent,eol,start" - 'backupdir' defaults to .,~/.local/share/nvim/backup (|xdg|) - 'complete' doesn't include "i" - 'directory' defaults to ~/.local/share

如何服用';密码';像vimscript中的输入?

在vim输入字段上键入密码时,不应显示密码(或应显示类似******的内容)。如何实现这一点?您可以尝试使用inputsecret()函数: let username = input('Enter username: ') let passw = input('Enter password: ') 来自:h inputsecret()的函数说明: 很抱歉成为那个家伙,但你应该考虑不要这么做! let username = inputsecret('Enter username: ') le

如何从vim:scriptnames文件中删除重复项?

我在学维姆。当我打开程序时,我会遇到以下情况: The airline statusline funcref function('airline#extensions#mundo#statusline') has already been added.The airline statusline funcref function('airline#extensions#mundo#statusline') has already been added. : 该错误消息表明您已安装了两次airl

Vim没有创建.swp文件

我在vim中工作,我的操作系统(Mac OS X El Capitan)崩溃了 我试图从vim(通常)创建的.swp文件中恢复。但是,我注意到vim并没有创建它们。我已经设置了交换/备份目录,但运气不好 顺便说一句:我正在使用这个广为人知的vim配置()我发现了这个问题,IDK为什么默认情况下,如果您使用这个广为人知的vim配置(()),备份和交换模式将被禁用 要修复它,只需将这些行添加到vim配置文件中 set swapfile set backup 我发现了一个问题,IDK为什么,但是如果

Vim NERDTree高光线条颜色

我已经找到了如何更改文件夹等的颜色,但是当光标在上面高亮显示时,我该如何更改它呢 我不喜欢突出显示的文件夹变成白色。我希望它保持灰色,因为让它变成与文件相同的颜色太令人困惑了 用于终端vim :highlight CursorLine ctermfg=grey 麦克维姆 :highlight CursorLine guifg=grey 请参阅:帮助突出显示以了解更多选项 您可能想试试这个插件github.com/tiagofumo/vim nerdtree syntax highlight。

xml.vim插件不起作用

我似乎无法让任何xml.vim插件为我的vim设置工作。我试过两种(及其前身)。它们似乎完全没有功能。我试图从vim(:help xmlc-d)中查看他们的文档,除了默认的xml语法帮助之外,没有显示任何内容 我一直在使用标准方式(例如,git克隆)病原体安装它们https://github.com/sukima/xmledit.git ~/.vim/bundle/xmledit)。安装后,我尝试打开test.xml文件以加载helptext,但没有结果 我在这里看到了另一个问题,但没有解决,也

从vimscript完成触发器文件

也许我的问题的答案是显而易见的,但即使经过一段时间的搜索,我也找不到任何有用的东西 我目前正在编写一个小型vim latex自动完成插件,它根据编辑上下文建议完成。代码的相关部分如下所示: function! Complete_latex(findstart, base) if a:findstart " locate the start of the base ".... else if s:envname_required()

Vim重命名变量

大多数人说vim是最伟大的编辑 但有没有什么方法可以像升华一样快速地重命名变量呢 例如: function f($items) { $items; .... $items; } 庄严地说: 转到项目变量 单击ctrl+d两次 重命名变量 在VIM中: 搜索/项目 连续波 写下新名字 “n”表示下一次出现,然后“.”表示重复 显然,在vim中,击键次数更多 有人知道更简单更快的重命名变量方法吗 谢谢解决方案很少: 更改命令 转到项目,然后点击: *Ncgn{new nam

Vim 将文件追加到现有参数列表

给定一个现有的参数列表 file1.txt [file2.txt] 我们如何将一个或多个文件附加到该列表中,使其看起来像这样 file1.txt [file2.txt] file3.txt file4.txt 我所尝试的: args {:args file3.txt file4.txt} 你在找命令。[count]影响位置,默认为当前条目。在你的例子中,一个简单的 :argadd file3.txt file4.txt 行。还有一个变体可以立即切换到添加的文件(以及有关参数列表管

Vim 为什么SHIFT+;V(可视线)不是多行插入方式CTRL+;V(视觉块)有什么作用?

我只是好奇,为什么我必须使用视觉块选择来插入多行而不是视觉行 造成这种差异的幕后原因是什么 提前谢谢 您可以将其理解为“行模式”和“列模式”。如果要在多行的同一列中添加内容,请使用“ctrl-v”(列模式)。您可以将其理解为“行模式”和“列模式”。如果要在多行的同一列上添加内容,请使用“ctrl-v”(列模式)。分块选择是更通用的选择,即允许在任何位置插入多行。当然,您可以将linewise(甚至characterwise)选择视为这种情况的退化情况,但它不太通用(linewise只允许在第1列

在vim中沿左边距创建一个4-5个字符的列

作为一个上下文,我正在考虑为vim制作一个插件,该插件将沿着左边距(理想情况下是数字列的左边)内联特定的调试和/或分析信息,需要4-5个字符宽。然而,我找不到任何方法来实现这一点。我已经到处搜索过了,我能找到的最接近的东西是用于在符号列中插入符号的vimscript代码,但符号列的宽度固定为2个字符 我考虑过制作自己的临时列(在数字列的右侧,在正常可编辑的文本区域)并以某种方式将其标记为只读的可能性,但这似乎也不可能——根据我所读的,整个缓冲区必须是只读的或非只读的;您不能仅将一部分设置为只读

为什么Vim忽略&;差别?

在my.vimrc中,我有一个函数: function! SetPHPOptions() setlocal shiftwidth=4 tabstop=4 softtabstop=4 expandtab if !&diff call tagbar#autoopen(0) endif endfunction 这称为: autocmd FileType php call SetPHPOptions() 但是当我运行vimdiff file1.php file2.php时

Vim 在文件保存时终止进程

我试图告诉neovim在关闭其配置文件(sxhkdrc)后杀死sxhkd并运行sxhkd。这就是我的init.vim中的内容 autocmd BufWritePost *sxhkdrc pkill sxhkd; setsid sxhkd 我得到以下错误 "sxhkdrc" 9L, 136C written Error detected while processing BufWritePost Autocommands for "*sxhkdrc": E492: Not an editor c

有没有办法使用'';键而不是'';用于在vim中重复内联搜索的键(';f';键)

我是新来的维姆和我学到了f键可以重复;今天的钥匙 但是我已经用过了;作为领导者的关键。 有没有办法使用。改为键?当然,您可以映射。做……的工作;: 但是,这样您就失去了的功能。(重复上一个更改),除非重新映射该更改 冒着听起来说教的风险,但从长远来看,适应Vim比尝试适应Vim要好得多——至少在你不再是初学者之前。例如,在这种情况下,我会说。(重复最后一个命令)是比;(重复上一次f-search)是,特别是因为leader可以作为默认键\as,或空格作为键,丢失的可能性要小得多。谢谢您的建议!(