Questions tagged «vim»

Vim是一个高度可配置的文本编辑器,旨在实现高效的文本编辑。它是vi编辑器的改进版本。

4
如何复制我正在输入的单词?(没有模式开关......)
有时我想设置一个起始标记,然后输入一个单词(通常是一个长变量名),在完成单词后我可以设置一个结束标记。然后我可以将单词存储在我的寄存器中,这样我就可以粘贴它而无需任何额外的动作,模式切换等。 我该怎么做?或者有更好的“vim-way”来达到类似的效果? 谢谢。
4 vim 

1
vim中scp的等效cd
当netrw在vim中使用令人愉快的支持来打开文件时,直接打开效果很好,如 :e scp://hostname//path/to/file 但是,您无法通过更改工作目录 :cd scp://hostname//path/ 有没有办法获得这种或同等的行为?关键部分是我希望能够使用相对路径来编辑文件。 请随意在答案中使用脚本或插件。
4 vim 

2
用户唯一的.vimrc文件,用于root用户的服务器
我在办公室里陷入了一场IDE战争,那里有多个用户在我们的服务器上拥有root访问权限,并喜欢用自己的方式使用VIM。不幸的是,我们已将服务器锁定到足够的位置,如果您想要执行任何操作,则需要具有root访问权限。显然(虽然这显然不受欢迎),我们厌倦了在输入的每个命令之前键入sudo,这将要求我们不断地输入我们一遍又一遍强制要求的复杂密码,所以我们自然都会执行sudo su -登录时的命令以避免所有这些。 当然,当谈到VIM和自定义.vimrc文件时,我们经常踩到别人的自定义.vimrc文件,我们在这些文件中有一些重击功能,用户可能会覆盖我们不知道的功能更不用说有耐心去学习了。 当作为linux上的root用户时,有没有办法让我们所有人仍然维护我们的.vimrc文件而不必每次有人想要使用VIM时反复覆盖该文件?理想情况下,我们有许多虚拟机都安装了VIM,因此所有服务器上的通用解决方案都是最好的,我们确实在/ home / username下的服务器上安装了Microsoft Windows用户特定的主目录。 有什么建议适应这个?
4 linux  vim 

1
Vim自定义语法突出显示,包括指定范围内的其他语言语法
VIM 7.3.46 我有一个自定义语法文件,用于使我的笔记更具可读性。 我想定义一个范围,它将在某些边界字符中应用现有语法文件(例如php,javascript或其他)的语法高亮显示。 例如, Notes.txt Notes would be here, blah blah... More notes, then a javascript code block with proper js highlighting below this: **jsbegin** $('#jquerystuff').change(function(){ var example = $(this).val(); alert(example); }); **jsend** 所以我正在寻找这样的东西放入vim语法文件: so <sfile>:p:h/javascript.vim so <sfile>:p:h/php.vim syn region notesJS matchgroup=javascript start="**jsbegin**" end="**jsend**" contains=javascript syn region notesPHP matchgroup=php …


1
vim:复制带引号的字符串没有空格?
是否有一个很好的键盘快捷键复制只是一个引用字符串,没有空格? ya' 非常接近,但正如手册所述, 包括任何尾随空格,除非没有,则包括前导空格。 我不想要空白时期。只需引用标记引用标记,以及内部的内容。 出于好奇,保留空白的用例是什么?(大多数vim键似乎有理由做他们做的事情...)
4 vim 



2
在包装过程中Vim连接线
我正在formatoptions格式化我的文件。但是,如果我在tex文件中有换行符,则Vim会加入这些行,并删除该字符。如何在Vim中定义没有连接线的硬包装? 更新: 我执行以下命令时可以观察到这一点 ggVGgq
4 vim  vimrc 

1
为什么GNU屏幕会干扰Vim的Ctrl-Pageup切换标签?
我通常使用 按Ctrl + 上一页 和 按Ctrl + 向下翻页 在Vim中切换标签。但是当在GNU屏幕内运行Vim时,它们不会切换标签,而是具有切换大小写的效果。 我在我的运行中运行以下绑定 .screenrc: bindkey "^[[1;5D" prev bindkey "^[[1;5C" next 这些让我可以在两者之间移动 screen 标签 按Ctrl + ← 和 按Ctrl + → 。 但禁用这些绑定并不能解决我的问题所以我不认为他们是罪魁祸首。 我假设我的终端模拟器,屏幕和Vim之间有一些我不理解的互动。 编辑:我找到了通过 这个答案 那个用vim开始的 TERM 环境变量集(重写)到 xterm 是一个可行的解决方法,像这样: TERM=xterm vim 但我认为问题仍然存在,因为我想知道为什么这是必要的。

1
colorschemes搞砸了vim(mac OSX,iTerm2,zsh,vim 7.2和7.3)
出于某些原因,在vim中我的颜色看起来很怪异。有一些颜色方块看起来像曝光和一个叫BusyBee,但我不确定为什么我的其他颜色方案看起来很奇怪。看起来没有显示足够的颜色。我知道colorscheme是错误的,因为我安装了MacVim,所以我知道颜色应该是什么样子。我甚至安装了Xcode,因为我在某处看到了这个解决方案。 我正在使用iTerm2所以我知道它支持256种颜色。我将终端类型设置为xterm-256。我在vim中有语法高亮。我甚至尝试升级到vim 7.3但我仍然遇到同样的问题。 有想法该怎么解决这个吗?
3 vim  terminal  colors  zsh 

2
Vim映射Control和Dash的组合键
是否有可能绑定 <C--> (要么 <C-dash> 要么 <C-minus>,我实际上不知道)在vim的东西,像 <C-W><C-Q>? 这是什么意思 <C--> 在默认绑定?

1
如何在vim中创建自定义键盘快捷键?
例如 - 在Perl中编码时,我有时需要注释掉一堆行。 我做的是像 :80,96 s/^\(.*\)$/#\1/ 我想为此创建一个自定义快捷方式,以便我可以做类似的事情 :80,96 cm 用于评论和 :80,96 uc 为了取消注释。 我应该把什么放进去 ~/.vimrc?

1
如何禁用特定行的vim文本宽度?
我已textwidth设置为80个字符,我将其设置为75个字符的gitcommit文件。 问题是,我公司的git提交总是有一个最后一行,表明有关提交的一些元数据(是否要破坏版本号,相关票证等等)。我想做的是关闭最后一行的textwidth。最后一行将始终以“(patch)”,“(minor)”或“(major)”(对于semver autopublishing)开头。 我目前拥有它,以便在我的语法文件中使用以下内容突出显示此元数据行: syn match autoPublishLine "^\((patch)\|(minor)\|(major)\).*" hi def link autoPublishLine Special 这可以按照我的预期工作,但我真正想要做的还是取消设置此行的textwidth,因此它不包含这一行的单词。 知道我怎么会这样做吗?

2
为什么要提供vi和vim?
我认为我说RedHat和其他发行版同时提供了vi 和 Vim。 有没有人知道提供这两者的理由是什么时候假设提供Vim它涵盖了vi的功能? ETA:它不是符号链接,它们是不同的二进制文件。 $ ls -lh /bin/vi -rwxr-xr-x 1 root root 747K Jul 7 2012 /bin/vi $ ls -lh /usr/bin/vim -rwxr-xr-x 1 root root 1.9M Jul 7 2012 /usr/bin/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.