Vi & Vim

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

1
调用:search()后是否可以获得匹配的字符串
在vimscript函数中,我需要l:matched在调用后为变量分配匹配的字符串search(),我想知道是否有比我目前正在做的事情更短的方法: let l:pattern = '\v^Foo: \zs.*' let l:line = search(l:pattern) let l:line_text = getline(l:line) let l:matched = matchstr(l:line, l:pattern) 理想情况下,我想要类似 let l:matched = search_text(l:pattern) 没有诉诸getline()。有没有我似乎找不到的vim函数?
15 vimscript  search 


5
设置和插件为root(`sudo vim`)时?
当我需要以根用户身份编辑文件并使用sudo vim somefile.conf并且我无法使用任何键绑定,设置和插件时,这真令人沮丧。 当我需要以root身份进行编辑时,是否可以获取所有自定义内容? 我正在为插件使用vim-plug。

5
列出有效的配色方案?
我刚刚发现了该:colorscheme命令。有没有一种方法可以从Vim获取有效的配色方案列表?我希望能够从Vim内部而不是从Internet上的列表中执行此操作。

2
如何检查Vimscript中Vim选项的值?
在Vimscript中,如何检查Vim选项的当前值? 详细地说,我想发出一个命令,从“全GUI模式”(guioptions=+tM)切换到“黑客模式”(guioptions=-tM)。 但是,我似乎找不到解析:set guioptions?值的方法

2
如何告诉Vim不要尝试解压缩文件
我试图.xlsx在Vim中打开文件,但出现错误: ***error*** (zip#Browse) unzip not available on your system 我知道这是一个二进制文件,但我想做一些校验和,并可能转换为十六进制。 我注意到,如果更改扩展名,Vim不再尝试解压缩它。这引出我的问题: 有没有办法告诉vim打开文件而不尝试解压缩文件? FWIW,我在Windows 7下使用Vim 7.4。



6
如何查看插件是否处于活动状态
vim-latexsuite打开适当的文件时,如何确定是否已安装并激活文件类型插件(例如)?另一个受欢迎的编辑器将指示相关的“次要模式”处于活动状态。什么是vim等效项?

1
Ctrl-n完成需要很长时间才能“扫描包含的文件”
我正在重新学习我的vim技能,并使用Ctrl-n命令来完成它。我在Perl中编程。当我处于插入模式并按Ctrl-n时,我在终端底部收到一条消息,提示它“正在扫描包含的文件”,看起来像在扫描perl发行目录中的文件。可能要花几秒钟才能完成。似乎它对我包含的已注释掉的软件包执行了此操作: #use Moose; 因此,我必须删除这些行才能使此功能具有任何价值。我想念什么吗? 我正在使用perl-support插件。



3
如何在netrw中复制文件?
当前的工作目录为./A/B/。键入时vim,将打开一个空文档,并使用命令打开netrw :e.。窗口被分割vs.,并且我可以导航到上一级目录,即./A/。现在,我要将文件a_file.jpg从复制./A/B/到./A/。 我yy在目标文件和p目标窗口(目录)中进行了尝试,但没有达到我的目标。 有什么方法可以在不安装额外插件的情况下实现目标?

5
从撤消文件撤消更改时,可以得到通知吗?
我已经在Vim中使用撤消文件功能了一段时间了。这是一个非常好的功能。 但是,令人烦恼的是,很容易意外撤消上次打开文件时所做的更改。可能是2分钟前,一个小时前,上周或一个月前。 例如,假设我打开了一个文件,进行了一些更改,然后关闭并更改了一些其他文件,然后发现我不需要进行更改,或者可能只是一些临时调试语句。 以前,我只能按住该u键,直到Vim说“已经是最旧的更改” :wq,然后完成。但是现在我必须非常小心,不要撤消上次打开文件时所做的更改。没有明显的方法可以看到您何时执行此操作。 有什么办法可以使这个更明确吗?例如,将其显示在某个地方,发出警告甚至要求确认。

2
防止Vim在退出后清除终端
如果我做: $ less file 然后按q退出less,我less仍然看到与仍在运行时在屏幕上显示的文本相同的文本。 但是,如果我这样做 $ vim file 而且:q,我的终端空白... 退出less和后我的终端的屏幕截图vim: 我可以以某种方式防止这种情况发生吗?这仅在我的Linux系统上。我的FreeBSD系统实际工作正常(使用各地相同的软件/设置,TERM是xterm-color两个,vim -u NONE不有所作为)。 我想要的示例:
15 terminal  linux  quit 

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.