2009-10-06 17 views
609

Ich sehe die Nachricht recording unten in meinem gvim 7.2-Fenster.Was ist vim Aufzeichnung und wie kann es deaktiviert werden?

Was ist das und wie schalte ich es aus?

+40

Um vim Aufnahme für eine gute zu deaktivieren, fügen Sie 'q ' zu Ihrer .vimrc Datei zuordnen. –

+1

Ich kann nicht glauben, dass du die Aufnahme abschalten willst! Ich würde ein wirklich nerviges Popup zeigen "Bist du sicher?" wenn man darum bittet, es auszuschalten (oder wahrscheinlich Optionen wie das Windows 10 Update geben möchte). – 0xc0de

Antwort

833

Beginn der Aufnahme von q<Brief> und Sie können es durch Eingabe q Ende wieder.

Aufnahme ist eine sehr nützliche Funktion von Vim.

Es zeichnet alles auf, was Sie tippen. Sie können es dann einfach wieder abspielen, indem Sie @<Schreiben> eingeben. Record Suche, Bewegung, Ersatz ...

Eines der besten Merkmale von Vim IMHO.

+83

Wie an anderen Orten gesehen, ist es q gefolgt von einem Register.Ein wirklich cooler (und möglicherweise nicht intuitiver) Teil davon ist, dass dies die * gleichen * Register sind, die von Dingen wie delete, yank und put verwendet werden. Das bedeutet, dass Sie Text aus dem Editor in ein Register ziehen und als Befehl ausführen können. – Cascabel

+43

Noch eine Sache zu beachten ist, Sie können eine beliebige Zahl vor dem @ zu wiederholen die Aufnahme, die oft wie (100 @) Ihre Aktionen 100 Mal spielen –

+6

Sie können es später hinzufügen, indem Sie das Register mit put/yank bearbeiten. Aber ich weiß nicht, warum Sie die Aufnahme als Teil eines Makros aktivieren oder deaktivieren möchten. ('q' beeinflusst nichts, wenn im Einfügemodus getippt wird.) – anisoptera

12

Dies bedeutet, dass Sie sich im "Makro aufnehmen" -Modus befinden. Dieser Modus wird durch Eingabe von q gefolgt von einem Registernamen eingegeben und kann durch erneutes Eingeben von q beendet werden.

+0

Es wird tatsächlich durch Eingabe von 'q' eingegeben, gefolgt von einem beliebigen Registernamen, der 0-9, az, AZ und". – ephemient

+3

Eigentlich ist es q {0-9a-zA-Z "} - Sie können ein Makro aufnehmen ein beliebiges Register (benannt nach Zahl, Buchstaben, "). Falls Sie es wirklich benutzen wollen ... führen Sie den Inhalt eines Registers mit @ aus. Siehe': help q' und ': help @' wenn Sie es sind daran interessiert, es zu benutzen – Cascabel

22

Wie andere gesagt haben, ist es Makroaufnahme, und Sie schalten es mit q aus. Here's a nice article über How-To und warum es nützlich ist.

92

Typ : h Aufnahme um mehr zu erfahren.

       *q**recording* 
q{0-9a-zA-Z"}   Record typed characters into register {0-9a-zA-Z"} 
         (uppercase to append). The ' q ' command is disabled 
         while executing a register , and it doesn't work inside 
         a mapping . {Vi: no recording} 

q      Stops recording . (Implementation note: The ' q ' that 
         stops recording is not stored in the register , unless 
         it was the result of a mapping) {Vi: no recording} 


                 *@* 
@{0-9a-z".=*}   Execute the contents of register {0-9a-z".=*} [count] 
         times. Note that register ' % ' (name of the current 
         file) and ' # ' (name of the alternate file) cannot be 
         used. For " @= " you are prompted to enter an 
         expression . The result of the expression is then 
         executed. See also | @: |. {Vi: only named registers} 
18

Typing q beginnt Makroaufzeichnung und die Aufnahme stoppt, wenn der Benutzer q trifft wieder.

Als Joey Adams erwähnt, die Aufnahme zu deaktivieren, die folgende Zeile in .vimrc in Ihrem Home-Verzeichnis hinzuzufügen:

map q <Nop> 
+6

nur Antwort über "wie man abschneidet" Teil der Frage. Nun, es macht Aufnahme unzugänglich, effektiv ausschalten - zumindest niemand erwartet vi, einen separaten Thread für diesen Code zu haben, denke ich, einschließlich mir. – n611x007

Verwandte Themen