我主要将Vim用于快速编辑,而不是长时间的工作。从这种意义上讲,我发现退出键盘的过程特别费力:Esc,Shift +;,w,q,Enter。特别是在插入模式下。

评论

@jasonwryan是正确的-如果您处于命令模式,则ZZ非常快,但是比较不太正确。您的按键顺序假定您处于插入模式。要退出插入模式,Ctrl- [比Esc更快。 Shift-:是一个按键-您不能键入:单独输入会更快。因此您可以节省一些,但不多。

您不应该使用Esc退出插入模式,因为Esc键与现代键盘上的其他键相距甚远。使用Ctrl +]或创建自己的映射。

正确打字涉及移动手/手臂,而不要伸展手指。 Esc和left Control非常好-多年来从未开发过Emacs小指。

获取法语键盘-您可以消除这种转变。

无效指针,不是用Ctrl + C代替Ctrl + [代替Esc吗?

#1 楼

Shiftzz在命令模式下保存文件并退出。

评论


这是绝对需要Shift还是Z Z(大写)?另外,您是否不需要处于命令模式下才能工作,这使其成为Esc Z Z?

–用户
'13 -10-1在11:26



另外,ESC Z Q退出而不保存

–卡洛斯·坎德罗斯(CarlosCampderrós)
13年10月1日在12:31

Strg + z z是错误的。它将vim进程发送到后台

– hek2mgl
13年10月1日在15:37

@MichaelKjörling:Z Z只需大写即可。

– LarsH
13年10月1日于16:40

不过,这只会关闭一个文件。我打开了很多标签,所以要花很多Z。

–菲利普
13年10月2日,16:26

#2 楼

在正常模式下,ZZ会在修改后保存当前文件,并退出或关闭当前窗口/选项卡(与:x相同,但:wq不会写入文件,即使文件没有被修改)。在所有窗口,选项卡和隐藏缓冲区中写入所有修改后的文件后,无条件地需要:xa(如果由于某种原因而无法写入某些文件,它仍然不会退出)

要无条件退出而不更改任何内容:ZQ(与:q!相同)。

评论


我认为您是指正常模式。 “命令模式”很容易与命令行模式混淆

–大卫·布朗(David Brown)
13年10月1日在20:14

@DavidBrown,命令模式是传统名称,但是我同意普通模式的模棱两可。我已经修改了答案。

–StéphaneChazelas
13年10月1日在20:35

#3 楼

:x是小于:wq
的一键

评论


虽然不如Shift + Z Z!

– CodeMedic
13-10-1在17:04



@CodeMedic如果您有nno,那将是最快的方式:和nno; :,虽然。 (加上vno相同)。我对交换存疑,但您永远不会回头。 :nno,::silent!取消映射::无声!取消映射; 和:nno,; :nno; ::nno:; :vno; ::vno:; 支持奇数yap @“等。

– jthill
2015年10月10日19:47



只想评论:x与:wq不同。 :x仅在发生更改并退出时才保存。 :wq始终保存(即使没有更改)并退出。

–瓦勒里·斯特劳奇(Walery Strauch)
20-10-24在18:43

#4 楼

魔法棒。仅两次敲击!将其放入您的〜/ .bashrc
bind -r '\C-s'
stty -ixon

2nd。将此放置到您的〜/ .vimrc
inoremap <C-s> <esc>:w<cr>                 " save files
nnoremap <C-s> :w<cr>
inoremap <C-d> <esc>:wq!<cr>               " save and exit
nnoremap <C-d> :wq!<cr>
inoremap <C-q> <esc>:qa!<cr>               " quit discarding changes
nnoremap <C-q> :qa!<cr>

3rd。重新启动vim
获得更高的工作效率!

评论


为什么要使用CTRL + D / CTRL + Q来保存并退出,而不仅仅是ZZ和ZQ?

–埃文·卡洛尔(Evan Carroll)
16-2-29在20:39

嗨,埃文(Evan),按Ctrl + d /按Ctrl + Q只需两个按键,而ZZ和ZQ则需要三个按键。 shift + z + z / shift + q + q。如果我们经常这样做,一个保存键就很重要。此外,我们使用ctrl + s作为保存快捷方式,我认为它比ZZ或ZQ更直观。

–脑90
16-3-2在3:09



我一直认为ZQ很危险。您可能打算打ZQ而不保存,但是如果您不小心打了Z两次,您就已经离开了并且没有意义地保存了文件。

–基思·德文斯(Keith Devens)
18年5月29日在21:56

如果您使用的是Mac,请使用〜/ .bash_profile。并记住来源。

–雪崩
18年7月16日在11:24



Ctrl按钮对我不起作用,但是我投票赞成第二名,您简洁地列出了该企业最需要的命令之一。谢谢。

–Mugé
20-04-19在14:01

#5 楼

为频繁使用的任务创建自定义映射。如果您经常退出vim,请用很少的击键创建一个映射,例如

nnoremap <leader><leader> :xa<cr>


如果使用<leader>let mapleader = ","设置为逗号,则两次击逗号是一种快速的退出方法vim并保存您的更改。如果要在插入模式下再保存一个击键,还请创建一个对应的插入模式映射:

您击中了<leader两次。

评论


感谢您提供详尽的答案,它鼓励我学习更多有关vim的知识(我倾向于避免这样做)!

–vemv
13年10月1日在9:11

@vemv,您应该以相反的方式进行工作-每当您必须多次执行相同的操作时,看看是否有办法阻止这种情况!

–Wayne Werner
13-10-1在18:49

#6 楼

Q代表“退出”怎么样?

只需移动一个键(即Shift和Q)。这也是我很少偶然碰到的按键组合。

默认情况下,vim将Q映射到switch to "Ex" mode。如果您发现“ Ex”模式像我一样毫无用处(或烦人),那么您将根本不会错过其默认功能。 >
" allow quit via single keypress (Q)
map Q :qa<CR>


如果未保存的缓冲区会在退出前提示您。

评论


在我的VIM Q中,默认情况下已经以某种方式将其映射到:q。谢谢你的提示。

–user13107
14年7月26日在13:03

#7 楼

这是VIM的备忘单

VIM备忘单

To quit the vi editor without saving any changes you've made:

If you are currently in insert or append mode, press Esc. 

Press  :  (colon). The cursor should reappear at the lower left corner of the screen beside a colon prompt. 

Enter the following:
  q!
This will quit the editor, and all changes you have made to the document will be lost.


更多:: >关闭和保存文件

When you edit a file in vi, you are actually editing a copy of the file rather than the original. The following sections describe methods you might use when closing a file, quitting vi, or both.
Quitting and Saving a File

The command ZZ (notice that it is in uppercase) will allow you to quit vi and save the edits made to a file. You will then return to a Unix prompt. Note that you can also use the following commands:

:w  to save your file but not quit vi (this is good to do periodically in
    case of machine crash!).
:q  to quit if you haven't made any edits.
:wq to quit and save edits (basically the same as ZZ).
Quitting without Saving Edits

Sometimes, when you create a mess (when you first start using vi this is easy to do!) you may wish to erase all edits made to the file and either start over or quit. To do this, you can choose from the following two commands:

:e! reads the original file back in so that you can start over.
:q! wipes out all edits and allows you to exit from vi.


评论


最后2个应该添加“自上次保存文件以来”……这是“显而易见的”,但初学者可以理解“很棒,这是因为我打开了vi”,如果在会话期间保存了它们,则发现没有,“ q!根本不会恢复原始文件,“:e!”也不会恢复。它只会丢弃自上次打开或保存文件以来的修改(以最新的为准)。

–奥利维尔·杜拉克(Olivier Dulac)
13-10-2在15:03



#8 楼

我从vim退出并保存的简单方便的解决方案是:

Ctrl + X快捷键。

将此代码添加到.vimrc文件中: >
"Fast quit and save from normal and insert mode
:map <C-X> <ESC>:x<CR>
:imap <C-X> <ESC>:x<CR>


评论


很好,但是为什么无法映射?

–friederbluemle
17年5月1日在18:18

@friederbluemle在我的身边,Ctrl + S和Ctrl + Q(停止/继续输出)直接映射到终端,因此vim不会获得这些击键。了解自己:进入编辑模式(i),然后按,然后按。如果打印了^ Q,vim会看到,否则终端可能会吞下它。

– Tino
20-04-27在20:19

#9 楼

尝试

nno : ;
nno ; :
vno : ;
vno ; :


如果您使用fFtT,这将需要一些时间来适应,但是现在退出只是; x需要保存,; q不保存。另外,其他所有功能也变得更快。