最常用的vim命令/按键是什么?

最常用的vim命令/按键是什么?,vim,keyboard-shortcuts,macvim,Vim,Keyboard Shortcuts,Macvim,我是一个试图从Textmate切换到MacVim的Ruby编程人员,我在浏览VIM中可以做的大量事情和所有按键时遇到了困难。我已经听腻了“你可以用‘I’来插入文本,或者用‘a’来在字符后面追加文本,或者用‘a’来在行尾追加文本,或者……”我无法想象每个人都用全部20个不同的按键来导航文本,用10个左右的键开始添加文本,用18种方式直观地选择一个内部块。还是你 我理想的备忘单应该是30-40个最常用的按键或命令,每个人每天都会使用这些按键或命令来编写代码,还有rubyists每天使用的绝对必要的插

我是一个试图从Textmate切换到MacVim的Ruby编程人员,我在浏览VIM中可以做的大量事情和所有按键时遇到了困难。我已经听腻了“你可以用‘I’来插入文本,或者用‘a’来在字符后面追加文本,或者用‘a’来在行尾追加文本,或者……”我无法想象每个人都用全部20个不同的按键来导航文本,用10个左右的键开始添加文本,用18种方式直观地选择一个内部块。还是你

我理想的备忘单应该是30-40个最常用的按键或命令,每个人每天都会使用这些按键或命令来编写代码,还有rubyists每天使用的绝对必要的插件和10个最常用的命令。理论上,一旦我掌握了这一点,并开始像在Textmate中一样精通VIM,那么我就可以开始学习成千上万的其他VIM命令,这将使我的效率更高

或者,我学习VIM的方式是否完全错误?

这是学习VIM有史以来最伟大的事情

我无法想象每个人都用20个不同的按键来导航文本,用10个左右的键开始添加文本,用18种方式直观地选择一个内部块。还是你

我知道

理论上,一旦我掌握了这一点,并且开始像在Textmate中一样精通VIM,那么我就可以开始学习成千上万的其他VIM命令,这将提高我的效率


这是正确的方法。从基本命令开始,然后选择可以提高工作效率的命令。我喜欢以下关于如何使用vim提高工作效率的提示。

您看过vim的内置教程了吗?如果没有,请转到命令行并键入
vimtutor
。这是学习初始命令的好方法

Vim具有难以置信的灵活性和强大功能,如果您像大多数Vim用户一样,您将学习许多新命令,忘记旧命令,然后重新学习它们。内置的帮助很好,值得定期浏览以了解新内容

在互联网上有一些关于vim的常见问题解答和备忘。我建议搜索
vim+faq
vim+cheatsheet
。这是一个很好的来源。

转到并了解开始时需要的内容。并不是页面上的所有内容都是从一开始就必须的,所以请选择你想要的

从那里开始,一切都使用vim。“hjkl”、“y”和“p”会让你走很长的路,即使这不是最有效的方式。当你遇到一个你不知道有效完成任务(或根本不知道有效完成任务的秘诀)的任务时,你发现自己做了不止几次,那就去查一下吧。渐渐地,它将成为第二天性

很多月前,我发现vim让人望而生畏(在它的末尾没有“m”的时候),但它只花了大约一周的稳定使用时间就变得高效了。我仍然觉得它是完成工作最快的编辑器。

有一个很好的备忘单。我认为学习这些命令有两点:

  • 定期阅读备忘单。不必担心使用所有这些键,也不必记住所有键,只要知道命令存在即可。当你发现自己在做重复的事情时,查阅命令并使用它
  • 如果你发现自己经常做一些事情(比如在某个特定字符
    d$
    之后删除整行内容),请快速在谷歌上搜索,看看是否能找到相应的命令
  • 写下您认为有用的命令,并在编写代码时将该列表保存在可以看到的位置。我反对打印一些东西,而是鼓励您一次只为几个命令使用post-it便笺
  • 如果可能的话,观察其他程序员使用vim,当您看到他们做了一些有趣的事情时,询问他们正在使用什么命令
除了这些提示,还有一些基本概念你应该了解

  • vim将使用相同的字符表示相同的功能。例如,要删除字符后的行,请使用
    d$
    。要突出显示特定字符后的行,请使用
    v$
    。因此请注意,
    $
    表示您将在光标当前所在的行的末尾执行某些操作
  • u
    表示撤消,
    ctrl+r
    表示重做
  • 将数字放在命令前面将重复执行该命令
    3dd
    将删除光标所在的行和后面的两行,类似地,
    3yy
    将复制光标所在的行和后面的两行
  • 了解如何浏览缓冲区使用
    :ls
    列出缓冲区,使用
    :bn
    :bp
    循环浏览缓冲区
  • 通读
    :help
    中的教程这可能是“学习诀窍”的最佳方法,您将通过使用了解其他命令

大多数人做的是从简单的基础开始,比如我、yw、yy和p。您可以继续使用箭头键四处移动,用鼠标选择文本,使用菜单等。然后,当有什么东西使您速度减慢时,您可以查找更快的方法来执行此操作,并逐渐添加越来越多的命令。您可能会在一段时间内每天学习一个新命令,然后它将逐渐增加到每周一个。一个月后你会觉得相当有效率。一年后,你会有一个相当扎实的曲目,2-3年后,你甚至不会有意识地思考你的手指在打什么,如果你必须为某人拼写出来,那会显得很奇怪。我在1993年学习了vi,但仍然每年学习2到3个新命令

这是我曾经写过的一份提示单,里面有我经常使用的命令:

工具书类
一般的
  • 几乎所有命令的前面都可以有数字f
    alias vil="vim  +\"'\"0"