2012-05-26 1 views

Antwort

7

Es gibt eine system() Funktion in vim, versuchen Sie dies:

:call system('date') 
3

Ich tue dies mit traditioneller vi, so nehme ich an, es würde auch mit vim arbeiten.

In meinem .exrc ich habe:

map ^_ !}fmt 71 72^M 

(Das ist ein ^_ eingegeben, indem Sie ctrl-V ctrl-_ und ein ^M eingegeben, indem Sie ctrl-V ctrl-M

Als ich getroffen ctrl-_ in vi, es neu formatiert meine aktuelle Zeile zu 72 Zeichen.

+1

es gibt '' für '^ _' und' 'für'^M' (in vim, nicht in vi). Schlage nicht vor, rohe Steuercodes in vimrc zu verwenden, da dies die Ausgabe von Werkzeugen, die Text erwarten (wie 'cat vimrc | grep fmt'), aussortiert. Es kann auch VCS-Systeme dazu bringen, vimrc als eine Binärdatei zu verwenden, wodurch die einfache 'vcs diff'- und die verschrottende Ausgabe von' vcs diff -a' genauso deaktiviert wird wie für 'grep'. Es gibt auch 'nnoremap' in vim für diese Art von Sache (Sie brauchen hier weder Modus anders als normal noch Benutzerzuordnungen). – ZyX

+0

Gute Punkte. Vielleicht wird das OP zwischen meiner (vi-orientierten) Antwort und Ihrer Verfeinerung eine gute Antwort bekommen. :-) – ghoti

+0

Was in aller Welt hat das mit der Frage zu tun? – Lambart