Questions tagged «vim»

vim(Vi IMproved)是支持不同编辑模式的文本编辑器。


2
避免使用formatoptions + = a重新格式化项目符号列表
我按Vim formatoptions +=a中所述使用Vim:自动换行用于文档,以便在编写文档时自动格式化行,尤其是Markdown文档。 我的问题是Vim还要重新格式化项目符号列表,因为每个项目符号点之间都有空白行。 Vim重新格式化的方式是什么 This is wath we will do: * task 1, * task 2, * task 3. 进入 This is wath we will do: * task 1, task 2, task 3. (我也不明白为什么星号在此重新格式化过程中消失。) 如何使Vim停止重新格式化这些列表?
9 vim  markdown 

4
如何在.vimrc中映射ALT键?
为了能够添加空白行没有进入插入模式,我试图映射ALT-o和ALT-O以o<ESC>和o<ESC> 我已经尝试了以下内容 .vimrc map <M-o> o<ESC> map <M-O> O<ESC> 和 map <ALT-o> o<ESC> map <ALT-O> O<ESC> 和(如下所示) map <A-o> o<ESC> map <A-O> O<ESC> 但没有任何作用。它只是给出通常的行为,好像ALT-o尚未定义。 这是我第一次更改.vimrc文件,并且找不到文档告诉您如何指定各种键的位置。但是我可以通过以下方式验证我的.vimrc文件正在被读取: map <Enter> ihello<ESC> 成功映射<Enter>到插入hello并返回到命令模式。 我在Cygwin中使用vim。

3
使用sudo运行vim时“未指定协议”
最近,我开始使用时收到“未指定协议” sudo vim。我猜这只是一个警告,因为一切都正常工作(我可以打开,编辑和保存文件)。如果我使用该消息,则不会出现该消息,sudo -E vim因此我认为/etc/profile最近编辑时做错了什么,但不确定。我怎样才能解决这个问题?

1
为什么在vim的插入模式下看不到两个不同文件之间的区别?
让我们创建两个文件: $ echo -n 'test' > test.txt $ wc test.txt 0 1 4 test.txt 该文件test.txt不包含尾随换行符。 $ echo 'test' > test_n.txt $ wc test_n.txt 1 1 5 test_n.txt 该文件test_n.txt包含尾随换行符。 上面两个文件明显不同,但是vim在插入模式下两个文件的预览没有任何区别: $ vim test.txt $ vim test_n.txt 为什么没有区别(换行或某些特殊区别)? vim在插入模式下如何添加或删除这样的附加字符?
8 vim  newlines  vi-mode 

2
如何暂停VIM历史记录?
编辑文件时,通常通常连续执行很多UNDO,例如20次。在VIM中,通常通过按u20次来执行此操作,这会使VIM在历史记录堆栈中的20个位置“向上”移动。如果您随后确定change,则最后20条历史命令将全部丢失,并由代替change。我想change不失去这20个职位。因此,我想我想告诉VIM在我之前停止记录历史,然后在change以后恢复历史记录(不想change在历史记录中)。 编辑 试图变得更加清晰:我有一个函数FF,在写入缓冲区时会更新文件的最后几行。因此,如果我执行20 undos + write,最后一个write将打开一个新的撤消分支。我尝试undojoin在里面添加内容FF(尝试遵循下面的jlmg的建议),但是序列write-undo-write给出了一个错误:undo之后不允许使用undojoint。我可以sed ....在离开后改为执行一些操作vim,但是由于我是通过使用此方法,SSH所以我更喜欢仅使用vim的解决方案(在卸载缓冲区后执行命令不会写入文件)。 编辑2尝试在VIM中执行此操作:打开一个空白文件,然后执行以下操作: i1<ESC>:wa2<ESC>:wa3<ESC>:wa4<ESC>uu:w 如果现在执行a <CTRL>R,则VIM将写回3,再进一步<CTRL>R输入4。即使:w每次都执行一次,也会发生这种情况<CTRL>R。但是,如果每次:w执行a 时,您都通过执行功能BufWritePre,<CTRL>R则不会写3回。这就是我想要做的,这就是为什么我写了“暂停历史记录”的原因,但是也许我要问的是不可能的,除了处理全部内容undotree()。
8 vim 

2
pkg安装后vim在哪里?
在FreeBSD中采取前几个摇动步骤。首先从vim我认为的安装开始,但是: root@rpi:~ # pkg install vim Updating FreeBSD repository catalogue... FreeBSD repository is up-to-date. All repositories are up-to-date. Checking integrity... done (1 conflicting) Cannot solve problem using SAT solver, trying another plan Checking integrity... done (0 conflicting) The most recent version of packages are already installed root@rpi:~ # vim vim: …

2
Vim的标点符号为⸮
我发现自己越来越多地使用d'irony(⸮)点。但是,vim拼写不能将其识别为有效的标点符号。 如何将其添加到vim中以便拼写有效?


2
在没有X的vim之间复制/粘贴
在vim中,"+p从系统剪贴板粘贴。但是,在非GUI盒上通过SSH远程工作时,此功能不可用。 在这种环境下可以实现复制/粘贴吗? 仅从终端复制文本是不够的,因为它还会复制超出文件范围的内容(例如,如果使用tmux,则会复制全屏显示,因为它们都是纯文本)。

3
Vim:逐行粘贴行
假设我有一个包含以下内容的文件: xxx yyy zzz 和另一个文件: kkk qqq ppp 我想获得: xxxkkk yyyqqq zzzppp 在Vim中使用某些命令可以做到吗?(我尝试使用VISUAL BLOCK,但没有成功)。 在我的特定情况下,我有两个要粘贴很多行的大文件,因此答案也可能是一些shell命令,但是我想知道即使在同一文件中也有办法做到这一点。
8 vim  command  editors 

3
寻找一个集中的全屏终端
那里有几种不同的“无干扰的编辑器”可供编写:它们提供了一个全屏,最小化的环境,目的是迫使自己专注于手头的任务。 我想与做类似的事情vim。虽然我可以在终端中简单地将其启动,然后按F11使其进入全屏状态,但我也想将宽度限制为大约75个字符,并将所使用的区域居中。 考虑一下文字处理器如何在程序中间提供一个虚拟页面,这就是我想要的。有点。 是否可以通过特殊的终端程序或vim中的某些设置来执行此操作?如果其中一个GUI vim程序具有此功能,或者有其他我没想到的实现方法,那么这也将是一个有用的答案。

3
在Fedora上用Vim全局替换Vi
在基于Debian的系统上,Alternatives系统同时处理vi和vim可执行文件。因此,如果vim安装并执行vi,那么您也会得到vim,我觉得很好,因为我绝对讨厌classic vi。 在Fedora 17“ Beefy Miracle”上,替代系统显然不能同时解决这两个问题。但是有一个配置文件,/etc/profile.d/vim.sh其中添加了一个shell别名来vi执行vim。由于某些原因,它对系统用户(包括root用户)不执行此操作。 但是,即使我手动为所有用户设置了别名,当我打电话时,sudo vi我也开始使用classic vi而不是vim。那可能是因为sudo不能启动shell或配置文件仅在交互式shell会话中执行。 我现在正在寻找的是一种vi完全卸载classic的方法,以使符号链接甚至在系统更新后也不会丢失。如何删除经典vi但不能删除vimFedora 17?还是有更好的方法? 更新:据yum provides vi我发现vi,该包装提供了该包装vim-minimal。但是我不能简单地删除它,因为它会自动删除它的包sudo。即使我确实将其删除,然后尝试再次安装sudo,vim-minimal也将再次作为依赖项安装。 更新:根据要求,输出rpm -qf /usr/bin/vi: vim-minimal-7.3.444-1.fc17.x86_64 和ls -l /usr/bin/vi: -rwxr-xr-x. 1 root root 782248 13. Feb 2012 /usr/bin/vi
8 fedora  vim  vi 

3
VIM在您键入时看到正则表达式匹配
如果键入,/regex则光标会暂时跳到第一个匹配项,并且所有匹配项都将突出显示。随我键入而更新。当我准备进行替换时,是否有可能出现这种现象?例如,当我处理一个复杂的正则表达式时:%s/\<regex\>/,我想知道什么匹配,然后再扣动触发器并更改所有内容。有办法吗?

2
使用Ctrl-C退出块插入模式
在vim中,如果处于块插入模式(Ctrl-V, Shift-I)并使用Ctrl-C(而不是)退出Esc,它将取消块编辑(仅编辑第一行)。 为什么是这样?在几乎所有其他情况下,Ctrl-C并且Esc是同义的。(理想情况下,有一种方法可以解决此问题-我现在已经习惯了Ctrl-C,如果我必须重新学习,那真是太可惜了……)
8 vim 

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.