我被困住了,无法逃脱.它说:
"type :quit<Enter> to quit VIM"
Run Code Online (Sandbox Code Playgroud)
但是当我输入它时它只是出现在物体中.
应该是微不足道的,它甚至可能在帮助中,但我无法弄清楚如何导航它.如何在vi中快速缩进多行?
我正在尝试用,
新行替换当前文件中的每个:
:%s/,/\n/g
Run Code Online (Sandbox Code Playgroud)
但它插入的内容看起来像是一个^@
而不是实际的换行符.该文件不是DOS模式或任何东西.
我该怎么办?
如果你像我一样好奇,请检查问题为什么\ raim的换行?同样.
如何复制Vim中以类似的方式,以一整行Ctrl+ D中的IntelliJ IDEA/ReSharper的或Ctrl+ Alt+ ↑/ ↓在Eclipse?
我知道如何一般在命令模式中移动,特别是跳到线路等.但是跳到我目前所在线路末端的命令是什么?
我听过很多关于Vim的消息,包括优点和缺点.看起来你应该(作为开发人员)使用Vim比使用任何其他编辑器更快.我正在使用Vim来做一些基本的东西,而且我最好用Vim的效率低 10倍.
当你谈论速度时你应该关心的两件事(你可能不太关心它们,但你应该这么做)是:
这里有两个例子,说明为什么我对Vim的效率低得多.
复制/剪切和粘贴.我一直这样做.使用所有当代编辑器,您可以Shift 用左手按下,然后用右手移动光标以选择文本.然后Ctrl+ C副本,你移动光标和Ctrl+ V贴.
有了Vim,它太可怕了:
yy
复制一行(你几乎不想要整行!)[number xx]yy
将xx
行复制到缓冲区中.但你永远不知道你是否选择了你想要的东西.我经常做的[number xx]dd
,然后u
撤消!另一个例子?搜索和替换.
/
,然后键入要搜索的内容,然后如果\
在每个特殊字符前放置了一些特殊字符,则按Enter.与Vim的一切都是这样的:似乎我不知道如何以正确的方式处理它.
我的问题是:
你使用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列表中并将其删除?
我只知道一个使用寄存器的实例是via CtrlR*,我从剪贴板粘贴文本.
寄存器的其他用途是什么?怎么用?
关于VI寄存器的所有知识(让我们关注vi 7.2) - 与我们分享.
有很多问题让人们谈论常见的技巧,特别是" Vim + ctags提示和技巧 ".
但是,我没有提到Vim的新手会觉得很酷的常用快捷方式.我说的是一个经验丰富的Unix用户(他们是开发人员,管理员,两者等),他们认为他们知道我们99%的人从未听过或梦到过的东西.有些东西不仅让他们的工作变得更轻松,而且还很酷,而且很酷.毕竟,Vim居住在世界上最黑暗角落最丰富的操作系统中,因此它应该只有少数特权知道并希望与我们分享的错综复杂.
vi ×10
vim ×10
editor ×4
indentation ×2
auto-indent ×1
escaping ×1
newline ×1
replace ×1
unix ×1
whitespace ×1