Questions tagged «vim»

Vim是可用于大多数主要平台的免费和开放源代码的模式文本编辑器。它可以在许多文本编辑任务中实现高效率,但学习曲线陡峭。要学习基础知识,请运行“:help vimtutor”。对于非编程问题,请使用https://vi.stackexchange.com/。

4
获取Vim中设置的当前值
有没有一种简单的方法可以找出指定的Vim设置的当前值?如果我想知道的当前值,例如tabstop,我可以运行: :set tabstop 不传递任何参数,Vim会告诉我当前值。这对许多设置都很好,但是对于正确或错误的设置都没有好处。例如,如果我想找出的当前值expandtab,则运行: :set expandtab 实际上将启用expandtab。我只想了解它是否已启用。 我想要的是这样的: :echo &l:expandtab 但似乎很冗长。有没有更快的方法?
274 vim 

12
在Vim中删除换行符
有没有一种方法可以删除Vim中行尾的换行符,以便将下一行追加到当前行? 例如: Evaluator<T>(): _bestPos(){ } 我想将所有内容放到一行上,而不要复制行并将其粘贴到上一行中。看来我应该能够将光标放在每一行的末尾,按一个键,然后使下一行跳到光标所在的同一行上。 最终结果: Evaluator<T>(): _bestPos(){ } Vim有可能吗?
271 unix  vim  shell  ssh  vi 

7
如何快速删除VIM中从光标位置开始的一行?
我希望能够删除从VIM中光标位置开始的行的其余部分。有一个简单的命令可以做到这一点吗? 为了帮助说明,这是在命令之前。 The quick brown dog jumps over the lazy fox. ^ |----- Cursor is here. 这是在命令之后 The q ^ |----- Cursor is here.
267 vim 

7
Vim for Windows-如何键入以保存和退出文件?
使用Windows XP时,我不小心键入,git commit -a而不是git commit -am "My commit message",现在我正在查看CMD提示符,里面充满了提交消息的文件版本(“请输入您的提交消息...”)。我已将消息添加到顶部,但现在我不知道如何保存和离开。我试图按Ctrl+ W+ Q,但是它什么也没做,只是^在光标所在的位置添加。 我也先尝试了Esc,然后尝试了Ctrl+ W+ Q,但是它说No write since last change (add ! to override)。



7
在vim中,如何返回搜索之前的状态?
在vim中进行编程我经常去搜索某些东西,将其拉回去,然后回到原处,插入并修改它。 问题是,在搜寻之后,我需要手动找到回到原来的方式。 有没有一种自动的方法可以返回到上一次搜索时的状态?
258 vim  vi 

11
关闭文件而不退出VIM应用程序?
我使用:e和:w命令来编辑和写入文件。我不确定是否有“关闭”命令来关闭当前文件而不离开Vim? 我知道该:q命令可用于关闭文件,但是如果它是最后一个文件,则Vim也将关闭;实际上在Mac OS上MacVim确实退出了。只有Vim窗口关闭,我可以使用Control- N再次打开空白的Vim窗口。我希望Vim保持打开状态并保持空白。
258 vim 

11
Vim中的自动补全
经过长时间的“培训”,我终于切换到了Vim。但是我在自动补全方面遇到了一些麻烦。键入时如何获得代码建议? 我通常开发PHP,Ruby,HTML,C和CSS。
258 vim  autocomplete  macvim 

7
Vim中的自动补全
简而言之,我正在寻找Vim编辑器可以正常工作的自动完成功能。我之前曾争论过,Vim完全替代了Linux下的IDE,尽管这确实是正确的,但它缺少一个重要功能:自动完成。 我了解Ctrl+ N,丰富的Ctags集成,Taglist,cppcomplete和OmniCppComplete。las,这些都不符合我对“自动完成工作”的描述: Ctrl+N(仅当您忘记了如何拼写class或时,才能很好地工作)while。那好吧。 Ctags给您起了基础,但有很多缺点。 Taglist只是一个Ctags包装器,因此继承了它的大多数缺点(尽管它对于列表声明非常有效)。 cppcomplete根本无法按承诺工作,并且我无法弄清楚我做错了什么,或者它是否在“正常工作”并且限制是设计使然。 OmniCppComplete似乎与cppcomplete具有相同的问题,即自动完成无法正常工作。此外,该tags文件再次需要手动更新。 我知道这样一个事实,甚至没有完善的现代IDE也不能提供良好的C ++代码完成功能。这就是为什么到目前为止,我已经接受Vim在这一领域的不足。但是我认为基本的代码完成水平要求不高,实际上是生产使用所必需的。所以我正在寻找至少可以完成以下任务的东西。 语法意识。cppcomplete承诺(但对我而言不兑现)以下内容的正确,作用域自动完成: variableName.abc variableName->abc typeName::abc 实际上,其他任何东西都完全没有用。 可配置性。我需要(轻松地)指定源文件的位置,并因此指定脚本从何处获取其自动完成信息。实际上,我的目录中有一个Makefile,它指定所需的包含路径。Eclipse可以解释其中的信息,为什么还没有Vim脚本? 最新。更改文件中的内容后,我希望自动完成功能能够反映这一点。我不想要手动触发ctags(或一些类似)。另外,更改应该是增量的,即当我只更改一个文件时,重新解析整个目录树(可能很大)是完全不可接受的ctags。 我忘记了什么吗?随时更新。 我对大量的配置和/或修改很满意,但是我不想从头开始编写解决方案,而且我也不擅长调试Vim脚本。 最后一点,我真的很喜欢Java和C#的相似之处,但我想这太令人希望了:ctags仅解析代码文件,Java和C#都具有庞大的预编译框架,需要对其进行索引。不幸的是,在没有IDE的情况下开发.NET甚至比C ++更像是PITA。
257 c++  vim  ide  autocomplete 

10
如何在vim中停止换行
我喜欢长行显示在多个终端行上;我不喜欢vim在我的实际文本中插入换行符。我应该更改.vimrc的哪一部分?
257 vim 


18
在Vi中将内容从一个文件复制并粘贴到另一个文件
我正在处理两个文件,我需要从一个文件复制几行并粘贴到另一个文件中。我知道如何在同一文件中复制(yy)和粘贴(p)。但这不适用于其他文件。怎么做? 另外,有没有办法剪切粘贴?我曾尝试使用Google谷歌搜索,但是大多数资源都只讲复制粘贴。
256 vim  copy-paste  vi  cut 

5
为什么\ ra newline for Vim?
来自问题如何在Vim中替换换行符?。像这样在换行符替换文本时必须使用\ r :%s/%/\r/g 但是,当用字符替换行尾和换行符时,您可以这样做: :%s/\n/%/g 手册的哪一部分记录了这些行为,其背后的原因是什么?
253 vim 

4
Vim:将光标移至最后一个位置
(g)Vim中是否可以将光标移动到其先前位置(在正常模式下)?在上一个光标位置列表中来回循环的操作是理想的。而且只需切换到最后一个位置就足够了(就像cd -在带有目录的bash中一样)。 这是一个小示范: line |1| <- cursor position line 2 line 3 line 4 假设我做了2j,现在是这样: line 1 line 2 line |3| <- cursor position line 4 现在,我想按一下(不是2k很明显的东西)以移回第一位置,也可能移至先前的位置。
251 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.