标签: vim

Vim最有效的捷径是什么?

我听过很多关于Vim的消息,包括优点和缺点.看起来你应该(作为开发人员)使用Vim比使用任何其他编辑器更快.我正在使用Vim来做一些基本的东西,而且我最好用Vim的效率低 10倍.

当你谈论速度时你应该关心的两件事(你可能不太关心它们,但你应该这么做)是:

  1. 使用左手和右手交替使用键盘是最快捷的方式.
  2. 永远不要触摸鼠标是第二种尽可能快的方法.移动手,抓住鼠标,移动鼠标并将其带回键盘需要很长时间(而且您经常需要查看键盘才能确保将手正确地移到正确的位置)

这里有两个例子,说明为什么我对Vim的效率低得多.

复制/剪切和粘贴.我一直这样做.使用所有当代编辑器,您可以Shift 用左手按下,然后用右手移动光标以选择文本.然后Ctrl+ C副本,你移动光标和Ctrl+ V贴.

有了Vim,它太可怕了:

  • yy 复制一行(你几乎不想要整行!)
  • [number xx]yyxx行复制到缓冲区中.但你永远不知道你是否选择了你想要的东西.我经常做的[number xx]dd,然后u撤消!

另一个例子?搜索和替换.

  • PSPad中:Ctrl+ f然后键入您要搜索的内容,然后按Enter.
  • 在Vim:中/,然后键入要搜索的内容,然后如果\每个特殊字符前放置了一些特殊字符,则按Enter.

与Vim的一切都是这样的:似乎我不知道如何以正确的方式处理它.

NB:我已经阅读过Vim 备忘 单了 :)

我的问题是:

你使用Vim的方式是什么让你比现代编辑更有效率?

vi vim

1127
推荐指数
43
解决办法
76万
查看次数

将文本粘贴到vim时关闭自动缩进

我正在努力学习Vim.

当我从剪贴板将代码粘贴到我的文档中时,我会在每个新行的开头添加额外的空格:

line
  line
    line
Run Code Online (Sandbox Code Playgroud)

我知道你可以关闭自动缩进但我无法让它工作,因为我有一些其他设置冲突或某事(在我的.vimrc中看起来非常明显,但是当我把它们取出时似乎并不重要).

当我粘贴代码时如何关闭自动缩进但在编写代码时仍然有自动缩进?这是我的.vimrc档案:

set expandtab  
set tabstop=2  
set shiftwidth=2  
set autoindent  
set smartindent  
set bg=dark  
set nowrap  
Run Code Online (Sandbox Code Playgroud)

vim configuration editor indentation auto-indent

1119
推荐指数
16
解决办法
35万
查看次数

什么是在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
Run Code Online (Sandbox Code Playgroud)

假设我想取消注释第一def ... end部分中的所有行.在Vim中这样做的有效方法是什么?

一般来说,我正在寻找一种简单流畅的方式来评论和取消注释.在这里,我正在处理Ruby代码,但它可能是JavaScript(//)或Haml(-#).

vim comments

1081
推荐指数
28
解决办法
83万
查看次数

如何在Vim中有效地处理多个文件?

我已经开始使用Vim开发Perl脚本,并开始发现它非常强大.

我喜欢的一件事是能够一次打开多个文件,vi main.pl maintenance.pl然后在它们之间跳转:

:n
:prev
Run Code Online (Sandbox Code Playgroud)

并查看打开的文件

:args
Run Code Online (Sandbox Code Playgroud)

要添加文件,我可以说:

:n test.pl
Run Code Online (Sandbox Code Playgroud)

我希望将其添加到我的文件列表中,但它会清除我当前的文件列表,当我输入时:args我只test.pl打开了.

那么我怎样才能将文件添加到我的args列表中并将其删除?

vi vim

1074
推荐指数
19
解决办法
56万
查看次数

Vim中的remap,noremap,nnoremap和vnoremap映射命令有什么区别?

Vim中的remap,noremap,nnoremap和vnoremap映射命令有什么区别?

mapping vim command

1045
推荐指数
4
解决办法
18万
查看次数

将标签重新定义为4个空格

我目前的设置假设8个空格; 我怎么能重新定义它?

vim

1041
推荐指数
10
解决办法
78万
查看次数

.vimrc文件中的<leader>是什么?

<leader>在许多.vimrc文件中看到,我想知道它是什么意思?它是干什么用的?只是对目的和用法的一般概述将是伟大的.

vim macvim

999
推荐指数
5
解决办法
31万
查看次数

我如何使用vim寄存器?

我只知道一个使用寄存器的实例是via CtrlR*,我从剪贴板粘贴文本.

寄存器的其他用途是什么?怎么用?

关于VI寄存器的所有知识(让我们关注vi 7.2) - 与我们分享.

vi vim

893
推荐指数
16
解决办法
25万
查看次数

你母亲从未告诉过你的Vim的黑暗角落是什么?

有很多问题让人们谈论常见的技巧,特别是" Vim + ctags提示和技巧 ".

但是,我没有提到Vim的新手会觉得很酷的常用快捷方式.我说的是一个经验丰富的Unix用户(他们是开发人员,管理员,两者等),他们认为他们知道我们99%的人从未听过或梦到过的东西.有些东西不仅让他们的工作变得更轻松,而且还很酷,而且很酷.毕竟,Vim居住在世界上最黑暗角落最丰富的操作系统中,因此它应该只有少数特权知道并希望与我们分享的错综复杂.

unix vi vim editor

788
推荐指数
48
解决办法
12万
查看次数

让Vim将所有空格都显示为一个字符

我找不到让Vim将所有空格显示为角色的方法.我发现的只是标签,尾随空格等.

vi vim

735
推荐指数
19
解决办法
59万
查看次数

标签 统计

vim ×10

vi ×5

editor ×2

auto-indent ×1

command ×1

comments ×1

configuration ×1

indentation ×1

macvim ×1

mapping ×1

unix ×1