如何在插入模式下启动vim?


69

每当我输入vim时,就有99%的机会进入插入模式并编辑文件。我可以使vim始终以插入模式启动吗?


16
真?我唯一想以插入模式启动的时间是第一次打开空白文件时。每次之后,我更有可能需要先导航到文件中的其他位置。您是否真的有99%的时间在第一行插入文本?
韦恩

2
@lwburk我习惯使用基于GUI的编辑器..目前,我使用向下箭头进行导航。
Santosh Kumar 2012年

7
与其他所有文本编辑器一起使用(我挑战您再举一个例子!),如果您打开文件,移动光标并开始键入内容,则键入的内容将显示在文件中。对于大多数不习惯的人来说vim,这是一种公认​​的(且节省时间)的习惯。有了vim,但是,这样做的结果是有些随机的-通常你会输入你移动了一下周围,无意中切换到输入模式和您键入的内容被插入一些随机点休息。有时您删除内容。要弄清发生的事情需要花一点时间,而且您经常会错过一些东西。
drevicko 2012年

5
@lwburk编写git commit消息时不是这样的:)
Santosh Kumar

2
+1这对于简化编写提交消息非常有用。在这种情况下,需要在文件前加上其他行,仅作为参考。
Bengt 2014年

Answers:


57

您可以这样启动vim:

vim -c 'startinsert' FILENAME

如果需要,可以编辑.bashrc文件(如果使用的是bash)并添加以下行:

alias vim="vim -c 'startinsert'"


2
这仅在除去单引号之后才对我有用startinsert,否则vim会加载抱怨找不到标记的信息。这适用于Windows上的gvim。
2013年

1
那是因为单引号在Windows上不能像这样工作。
史蒂夫·贝内特

2
我使用它来在提交git时立即开始输入:git config --global core.editor "vim -c 'startinsert'"
DanielBöhmer16年

你可以在里面做.vimrc吗?
AK_18年

44

您可以使用vim +star,它甚至更短。注意:star的缩写:help :start

如果默认情况下需要这种行为,最好的选择是添加行

autocmd BufRead,BufNewFile * start

进入你的~/.vimrc。还请参阅:h 'insertmode',其中概述了针对这种功能的特殊选项。但是,这可能会使您难以退出插入模式,这对于提高vim忍者技能至关重要。


4
在我看来,这应该是公认的答案,因为它不依赖于bash的配置文件,这在使用非交互式无登录shell(-c)运行gvim时可能是相关的。
Bengt 2014年

如果要一直使其成为标准,则应将其添加VimEnter到事件列表中,这样,即使您vim不带任何参数就调用它,它仍然可以正常工作。
Skillmon喜欢topanswers.xyz

20

您可以,而且非常简单。

:startinsert命令进入插入模式。(这与在普通模式下键入i完全相同的命令行模式。)只需将其放入vimrc中即可在启动时运行。与其他一些建议不同,这不会干扰ESC正常返回到正常模式。


1
vim +star也不会干扰恢复到正常模式
Christopher Bottoms 2014年

12

此外,还有一个称为“简易模式”的内容,从vim -y或开始evim。与仅以插入模式开始相比,这是一个更为根本的偏离:它具有与其他编辑器匹配的某些键绑定,而普通模式命令是通过按Ctrl+O而不是来完成的Esc。因此,处于插入模式是规则而不是例外。


我认为,从OP中读取+1,这很可能是他所追求的。本质上:他想要的不是vim。或者至少是vim。
sehe 2012年

2
哇,“简单模式”很奇怪。而且很难戒烟。blog.tommorris.org/post/1230874385/…–
史蒂夫·贝内特

我尝试了简易模式,但不知道如何退出。以上链接的博客文章现在是一个404
泰勒Edmiston的

@TaylorEdmiston是的,帖子已经消失了,我在Wayback Machine中找不到它。但是,要退出,您一定会做C-o : q RETURN
echristopherson
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.