Questions tagged «vim»

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

10
如何退出Vim编辑器?
Наэтотвопросестьответына 堆栈溢出нарусском:Каквыйтиизредактора六илиVim的? 我被困住了,无法逃脱。它说: "type :quit<Enter> to quit VIM" 但是当我键入它时,它只是出现在对象主体中。
3760 vim  vi 



11
如何在Vim中用换行符替换字符
我正在尝试用,新行替换当前文件中的每个文件: :%s/,/\n/g 但它会插入看起来像a的^@字符串,而不是实际的换行符。该文件不在DOS模式下或其他任何状态。 我该怎么办? 如果您像我一样好奇,请查看问题,为什么\ ra newline for Vim?也一样
1967 vim  replace  escaping  newline  vi 

30
Vim清除最后一个搜索突出显示
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 在Vim中进行搜索后,我将所有出现的事件突出显示。如何禁用它?我现在再次搜索找不到的乱码。 有没有一种方法可以暂时禁用突出显示,然后在需要时重新启用它?
1903 vim  highlight 

13
如何在Vim中进行不区分大小写的搜索
我想搜索一个大写单词,例如文件中的COPYRIGHT。我尝试执行类似的搜索: /copyright/i # Doesn't work 但这不起作用。我知道在Perl中,如果我将i标志放入正则表达式中,它将把正则表达式变成不区分大小写的正则表达式。Vim似乎有其自己的方式来表示不区分大小写的正则表达式。


7
vim“使用sudo编写”技巧如何工作?
许多人可能已经看到了允许您在需要root权限的文件上写命令的命令,即使您忘记使用sudo打开vim时也是如此: :w !sudo tee % 问题是我不明白这里到底发生了什么。 我已经想通了: w为此 *:w_c* *:write_c* :[range]w[rite] [++opt] !{cmd} Execute {cmd} with [range] lines as standard input (note the space in front of the '!'). {cmd} is executed like with ":!{cmd}", any '!' is replaced with the previous command |:!|. 因此它将所有行作为标准输入传递。 该!sudo tee零件tee具有管理员权限。 为了使所有人都有意义,%应该输出文件名(作为的参数tee),但是我找不到关于此行为的帮助参考。 tl; dr有人可以帮我剖析此命令吗?
1410 vim  sudo 

10
Tab键== 4个空格,在Vim中花括号后自动缩进
如何使vi - Vim从不使用制表符(将空格转换为制表符,太糟糕了!),使制表符键== 4个空格,并像Emacs一样在大括号块之后自动缩进代码? 另外,如何保存这些设置,这样我就不必再次输入它们了? 我已经看到了与此相关的其他问题,但是它似乎总是与我想要的有点偏离。


21
将文本粘贴到Vim中时关闭自动缩进
我正在努力学习Vim。 当我从剪贴板将代码粘贴到文档中时,在每一行的开头都有多余的空格: line line line 我知道您可以关闭自动缩进,但由于其他设置有冲突或其他原因(在我的.vimrc中看起来很明显,但是取出它们似乎并不重要),我无法使它起作用。 如何在粘贴代码时关闭自动缩进功能,但是在编写代码时仍然具有vim自动缩进功能?这是我的.vimrc文件: set expandtab set tabstop=2 set shiftwidth=2 set autoindent set smartindent set bg=dark set nowrap

30
在Vim中注释/取消注释行的快速方法是什么?
我有一个在vi中打开的Ruby代码文件,其中的行注释为#: class Search < ActiveRecord::Migration def self.up # create_table :searches do |t| # t.integer :user_id # t.string :name # t.string :all_of # t.string :any_of # t.string :none_of # t.string :exact_phrase # # t.timestamps # end end def self.down # drop_table :searches end end 假设我要取消注释第一def ... end部分中的所有行。在Vim中执行此操作的有效方法是什么? 总的来说,我正在寻找一种简单而流畅的方式来注释和取消注释行。在这里,我正在处理Ruby代码,但是可能是JavaScript(//)或Haml(-#)。
1167 vim  comments 

30
Vim最有效的快捷方式是什么?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我听说过很多有关Vim的信息,无论是利弊。看来,使用Vim(作为开发人员)应该比使用任何其他编辑器更快。我正在使用Vim来做一些基本的事情,而我最多只能将Vim的生产率降低 10倍。 在谈论速度时,您只需要注意两件事(您可能不太在意速度,但应该注意): 交替使用左右手是使用键盘的最快方法。 永远不要触摸鼠标是尽可能快的第二种方法。您需要花费很多时间才能动手,抓住鼠标,移动鼠标,然后将其重新带回键盘(而且您经常必须查看键盘以确保将手正确地放回正确的位置) 这里有两个例子,说明了为什么我对Vim的工作效率低得多。 复制/剪切和粘贴。我一直都在做。在所有当代编辑器中,您都Shift 用左手按下,然后用右手移动光标以选择文本。然后Ctrl+ C复制,您移动光标并Ctrl+ V粘贴。 使用Vim太可怕了: yy 复制一行(您几乎从不想要整行!) [number xx]yy将xx行复制到缓冲区。但是您永远不会确切知道是否选择了想要的东西。我经常必须做[number xx]dd然后u撤消! 另一个例子?搜索并替换。 在PSPad中:Ctrl+,f然后输入要搜索的内容,然后按Enter。 在Vim:中/,然后键入要搜索的内容,然后\在每个特殊字符之前放置一些特殊字符,然后按Enter。 Vim的一切都是这样:似乎我不知道如何正确地处理它。 注:我已经阅读Vim的备忘 表 :) 我的问题是: 与现代编辑器相比,使用Vim的方式有何提高?
1126 vim  vi 


28
如何有效地在Vim中处理多个文件
我已经开始使用Vim开发Perl脚本,并且开始发现它非常强大。 我喜欢的一件事是能够使用以下方法一次打开多个文件: vi main.pl maintenance.pl 然后在它们之间跳: :n :prev 并查看打开哪个文件: :args 要添加文件,我可以说: :n test.pl 我希望将其添加到我的文件列表中,但是它将清除当前的文件列表,并且在我键入时:args我只能test.pl打开。 那么,如何在args列表中添加和删除文件?
1098 vim  vi 

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.