File: usr_42.dex

package info (click to toggle)
vimhelp-de 7.3.101122-2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 660 kB
  • sloc: makefile: 34
file content (389 lines) | stat: -rw-r--r-- 16,051 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
*usr_42.txt*	Für Vim version 7.3.  Letzte Änderung: 2008-Mai-05

		     VIM BENUTZERHANDBUCH - von Bram Moolenaar

			      Neue Menüs hinzufügen


Soweit wissen Sie, dass Vim sehr flexibel ist.  Die schließt die in der
graphischen Oberfläche benutzten Menüs ein.  Sie können Ihre eigenen
Menü-Einträge definieren, um bestimmte Befehle schneller erreichbar zu
machen.  Die ist nur für Benutzer, die mit der Maus glücklich sind.

|42.1|	Einführung
|42.2|	Menübefehle
|42.3|	Verschiedenes
|42.4|	Werkzeugleisten- und Aufklapp-Menüs

Nächstes Kapitel: |usr_43.txt|  Dateitypen (filetypes) benutzen
 Voriges Kapitel: |usr_41.txt|  Ein Vim-Skript schreiben
Inhaltsübersicht: |usr_toc.txt|

==============================================================================
*42.1*	Einführung

Die Menüs, die Vim benutzt, werden in der Datei »$VIMRUNTIME/menu.vim«
definiert.  Falls Sie Ihre eigenen Menüs schreiben wollen, mögen sie sich
zuerst diese Datei ansehen wollen.
   Um einen Menü-Eintrag zu definieren, benutzen Sie den Befehl »:menu«.  Die
Grundform dieses Befehls ist wie folgt: >

	:menu {menue-eintrag} {tasten}

{menue-eintrag} beschreibt, wo im Menü der Eintrag stehen soll.  Ein
typischer {menue-eintrag} ist »File.Save«, was den Eintrag »Save« im
Menü »File« repräsentiert.  Der Punkt wird benutzt, um die Namen zu
trennen.  Beispiel: >

	:menu File.Save  :update<cr>

Der Befehl »:update« schreibt die Datei, falls sie modifiziert wurde.
   Sie können eine weitere Ebene hinzufügen: »Edit.Settings.Shiftwidth«
definiert ein Untermenü »Settings« im Menü »Edit«, mit einem Eintrag
»Shiftwidth«.  Sie könnten sogar noch tiefere Ebenen benutzen.  Benutzen Sie
dies nicht zu sehr, Sie müssen die Maus um einiges bewegen, um so einen
Eintrag zu benutzen.
   Der Befehl »:menu« ähnelt sehr dem Befehl »:map«: Die linke Seite gibt an,
wie das Element ausgelöst wird, und die rechte Seite definiert die Zeichen,
die ausgeführt werden.  {tasten} sind Zeichen, sie werden benutzt, als wenn
man sie eingeben würde.  Wenn also im Einfügemodus {tasten} einfacher Text
ist, wird dieser Text eingefügt.


SCHNELLZUGRIFF

Das kaufmännische Und-Zeichen wird benutzt, um einen Schnellzugriff
anzuzeigen.  Sie können zum Beispiel Alf-F benutzen, um »File« auszuwählen,
und S für »Save«.  (Die Option 'winaltkeys' kann dies allerdings
deaktivieren!)  Danach sieht {menu-eintrag} so aus: »&File.&Save«.  Die
Schnellzugriffstasten werden im Menü unterstrichen.
   Sie müssen acht geben, dass jede Taste nur einmal in jedem Menü verwendet
wird.  Ansonsten können Sie nicht wissen, welche der beiden tatsächlich
benutzt wird.  Vim gibt hierüber keine Warnung aus.


PRIORITÄTEN

Die tatsächliche Definition des Menü-Eintrags File.Save ist wie folgt: >

	:menu 10.340 &File.&Save<Tab>:w  :confirm w<CR>

Die Zahl 10.340 wird die Prioritätsnummer genannt.  Sie wird vom Editor
benutzt, um zu entscheiden, wo der Menü-Eintrag zu platzieren ist.  Die erste
Zahl (10) gibt die Position auf der Menü-Leiste an.  Niedriger bezifferte
Menüs werden weiter links positioniert, höhere weiter rechts.
   Dies sind die für die Standard-Menüs benutzten Prioritäten:

	  10	20     40     50      60       70		9999

	+------------------------------------------------------------+
	| File	Edit  Tools  Syntax  Buffers  Window		Help |
	+------------------------------------------------------------+

Beachten Sie, dass dem Menü Help eine sehr hohe Zahl gegeben wurde, um es weit
rechts erscheinen zu lassen.
   Die zweite Zahl (340) entscheidet die Platzierung des Eintrags innerhalb
des Menüs, das heruntergeklappt wird.  Niedrige Zahlen für den Anfang, hohe
Zahlen für das Ende.  Dies sind die Prioritäten im Menü File:

			+-----------------+
	    10.310	|Open...	  |
	    10.320	|Split-Open...	  |
	    10.325	|New		  |
	    10.330	|Close		  |
	    10.335	|---------------- |
	    10.340	|Save		  |
	    10.350	|Save As...	  |
	    10.400	|---------------- |
	    10.410	|Split Diff with  |
	    10.420	|Split Patched By |
	    10.500	|---------------- |
	    10.510	|Print		  |
	    10.600	|---------------- |
	    10.610	|Save-Exit	  |
	    10.620	|Exit		  |
			+-----------------+

Beachten Sie, dass zwischen den Zahlen Raum gelassen wurde.  Hier können Sie
Ihre eigenen Einträge einfügen, wenn Sie dies wirklich wollen (oft ist es
besser, die Standard-Menüs in Ruhe zu lassen und für eigene Einträge ein neues
Menü hinzuzufügen).
   Wenn Sie ein Untermenü erzeugen, können Sie der Priorität ein weiteres
».nummer« hinzufügen.  Also hat jeder Name in {menue-eintrag} seine
Prioritätsnummer.


SONDERZEICHEN

In diesem Beispiel ist {menue-eintrag} »&File.&Save<Tab>:w«.  Dies bringt
einen wichtigen Punkt vor: {menue-eintrag} muss ein Wort sein.  Falls Sie
Punkte, Leerzeichen oder Tabulatoren verwenden wollen, benutzen Sie entweder
die Notation mit <> (zum Beispiel <Space> und <Tab>) oder den
Rückwärtsschrägstrich (\) als Fluchtzeichen. >

	:menu 10.305 &File.&Do\ It\.\.\. :exit<CR>

In diesem Beispiel enthält der Name des Menü-Eintrags »Do It...« ein
Leerzeichen, und der Befehl ist »:exit<CR>«

Das Zeichen <Tab> in einem Menü-Eintrag wird benutzt, um den Teil, der den
Menü-Namen definiert, von dem Teil zu trennen, der einen Hinweis an den
Benutzer gibt.  Bei dem Menü-Punkt File.Save ist »&File.&Save<Tab>:w« der
benutzte {menue-eintrag}.  Also ist der Name »File.Save« und der Hinweis
»:w«


TRENNLINIEN

Die Trennlinien, die benutzt werden, um verwandte Menü-Einträge zu gruppieren,
können über einen Namen definiert werden, der mit »-« beginnt und endet.  Wenn
mehrere Trennlinien verwendet werden, müssen die Namen verschieden sein.
Ansonsten sind die Namen nicht entscheidend.
   Der Befehl einer Trennlinie wird nie ausgeführt, dennoch müssen Sie einen
definieren.  Ein einfacher Doppelpunkt tut es.  Beispiel: >

	:amenu 20.510 Edit.-sep3- :

==============================================================================
*42.2*	Menübefehle

Sie können Menü-Einträge definieren, die nur in bestimmten Modi
bestehen.  Dies funktioniert genau wie die Variationen des Befehls »:map«:

	:menu		normaler, visueller und Modus des hängenden Operators
	:nmenu		Normal-Modus
	:vmenu		visueller Modus
	:omenu		Modus des hängenden Operators
	:menu!		Einfüge- und Befehlszeilen-Modus
	:imenu		Einfüge-Modus
	:cmenu		Befehlszeilen-Modus
	:amenu		Alle Modi

Um zu vermeiden, dass die Befehle eines Menü-Eintrags umbelegt werden,
benutzen Sie die Befehle »:nnoremenu«, »:anoremenu« usw.


DIE BENUTZUNG VON :AMENU

Der Befehl »:amenu« ist ein wenig verschieden.  Er nimmt an, dass die
gegebenen {tasten} im Normalmodus ausgeführt werden sollen.  Wenn Vim im
visuellen oder im Einfüge-Modus ist, wenn der Menü-Punkt benutzt wird, muss
Vim zuerst zum Normal-Modus zurückkehren.  »:amenu« fügt für Sie ein CTRL-C
bzw. CTRL-O ein.  Falls Sie zum Beispiel diesen Befehl benutzen:
>
	:amenu  90.100 Mine.Find\ Word  *

Dann sind die resultierenden Menü-Befehle:

	Normal-Modus:		*
	Visueller Modus:		CTRL-C *
	Modus des hängenden Operators:	CTRL-C *
	Einfüge-Modus:		CTRL-O *
	Befehlszeilen-Modus:	CTRL-C *

Im Befehlszeilenmodus verlässt das CTRL-C den bis dahin getippten Befehl.  Im
visuellen Modus und im Modus des hängenden Operators beendet CTRL-C den Modus.
Das CTRL-O im Einfüge-Modus führt den Befehl aus und kehrt dann zum Einfüge-
Modus zurück.
   CTRL-O funktioniert nur für einen Befehl.  Wenn Sie zwei oder mehr Befehle
benutzen müssen, packen Sie sie in eine Funktion und rufen diese Funktion auf.
Beispiel >

	:amenu  Mine.Next\ File  :call <SID>NextFile()<CR>
	:function <SID>NextFile()
	:  next
	:  1/^Code
	:endfunction

Dieser Menü-Eintrag geht mit »:next« zur nächsten Datei in der Argumentenliste.
Dann sucht es die Zeile, die mit »Code« beginnt.
   Das <SID> vor dem Funktionsnamen ist die Skript-ID.  Die lässt die Funktion
lokal zur aktuellen Vim-Skript-Datei werden.  Dies vermeidet Probleme, wenn
eine andere Skript-Datei eine Funktion mit demselben Namen definiert.  Siehe
|<SID>|.


STILLE MENÜS

Das Menü führt die {tasten} aus, als ob Sie sie getippt hätten.  Für einen
Befehl mit »:« bedeutet dies, dass Sie den Befehl auf der Befehlszeile sehen.
Falls es ein langer Befehl ist, erscheint eine Aufforderung, die Eingabetaste
zu drücken.  Dies kann sehr nervig sein!
   Um dies zu vermeiden, machen Sie das Menü still.  Dies wird mit dem
Argument <silent> gemacht.  Nehmen Sie zum Beispiel den Aufruf von NextFile()
im vorigen Beispiel.  Wenn Sie dieses Menü benutzen, sehen Sie dies auf der
Befehlszeile:

	:call <SNR>34_NextFile() ~

Um diesen Text auf der Befehlszeile zu vermeiden, fügen Sie »<silent>«
als erstes Argument ein: >

	:amenu <silent> Mine.Next\ File :call <SID>NextFile()<CR>

Benutzen Sie »<silent>« nicht zu oft.  Es wird für kurze Befehle nicht
benötigt.  Falls Sie ein Menü für jemand anderes machen, gibt es diesem
einen Hinweis, was er hätte tippen können, statt die Maus zu benutzen,
wenn er den ausgeführten Befehl sehen kann.


MENÜS AUFLISTEN

Wenn ein Menü-Befehl ohne den Teil {tasten} benutzt wird, listet er die
bereits definierten Menüs auf.  Sie können ein {menue-eintrag}, oder einen
Teil davon, angeben, um bestimmte Menüs aufzulisten.  Beispiel: >

	:amenu

Dies listet alle Menüs auf.  Das ist eine lange Liste! Geben Sie besser den
Namen eines Menüs an, um eine kürzere Liste zu bekommen: >

	:amenu Edit

Dies listet nur die Menü-Einträge mit »Edit« für alle Modi auf.  Um nur
einen bestimmten Menü-Eintrag für den Eingabe-Modus aufzulisten: >

	:imenu Edit.Undo

Geben Sie acht, dass Sie exakt den richtigen Namen eingeben.
Groß-/Kleinschreibung ist hier entscheidend.  Aber die »&« für den
Schnellzugriff können weggelassen werden.  Ein <Tab> und was danach kommt
kann ebenfalls weggelassen werden.


MENÜS LÖSCHEN

Um ein Menü zu löschen, wird derselbe Befehl wie fürs Auflisten verwandt,
nur dass das »menu« zu »unmenu« wird.  Also wird »:menu« »:unmenu«,
»:nmenu« wird »:nunmenu« usw.  Um den Eintrag »Tools.Make« für den
Eingabemodus zu löschen: >

	:iunmenu Tools.Make

Sie können ein ganzes Menüs mit allen seinen Einträgen löschen, indem
Sie den Namen des Menüs verwenden.  Beispiel: >

	:aunmenu Syntax

Dies löscht das Menü Syntax und alle Einträge darin.

==============================================================================
*42.3*	Verschiedenes

Sie können das Aussehen der Menüs mit Kennzeichen in 'guioptions'
verändern.  In der Voreinstellung sind alle, außer »M«, aktiviert.  Sie
können ein Kennzeichen mit einem Befehl wie folgt entfernen: >

	:set guioptions-=m
<
	m		Wenn entfernt, wird die Menüleiste nicht angezeigt.

	M		Wenn hinzugefügt, werden die vorgegebenen Menüs nicht
			geladen.

	g		Wenn entfernt, werden inaktive Menü-Einträge nicht
			eingegraut, sondern komplett entfernt.  (Funktioniert
			nicht unter allen Systemen.)

	t		Wenn entfernt, wird das Abzieh-Feature nicht aktiviert.

Die gepunktete Linie am Anfang eines Menüs ist keine Trennlinie.  Wenn Sie
diesen Eintrag auswählen, wird das Menü »abgezogen«: Es wird in einem
eigenen Fenster angezeigt.  Dies nennt sich Abziehmenü (tearoff).  Dies ist
nützlich, wenn Sie dasselbe Menü oft benutzen.

Für die Übersetzung von Menü-Einträgen siehe |:menutrans|.

Weil die Maus benutzt werden muss, um einen Menü-Eintrag auszuwählen, ist
es eine gute Sachen, für das Auswählen einer Datei den Befehl »:browse«
zu verwenden.  Und »:confirm«, um einen Dialog statt einer Fehlermeldung
zu erhalten, z.B. wenn der aktuelle Puffer Änderungen enthält.  Diese
beiden können kombiniert werden: >

	:amenu File.Open  :browse confirm edit<CR>

»:browse« lässt einen Datei-Browser erscheinen, um die zu editierende Datei
auszuwählen.  »:confirm« öffnet einen Dialog, wenn der aktuelle Puffer
Änderungen enthält.  Ihre Auswahlmöglichkeiten sind Sichern der Änderungen,
sie verwerfen oder den Befehl abzubrechen.
   Für kompliziertere Einträge können die Funktionen confirm() und
inputdialog() benutzt werden.  Die vorgegebenen Menüs enthalten ein Paar
Beispiele.

==============================================================================
*42.4*	Werkzeugleisten- und Aufklapp-Menüs

Es gibt zwei besondere Menüs: ToolBar und PopUp.  Einträge, die mit diesen
Namen beginnen, erscheinen nicht in der normalen Menü-Leiste.


WERKZEUGLEISTE (TOOLBAR)

Die Werkzeugleiste erscheint nur, wenn das Kennzeichen »T« in der Option
'guioptions' steht.
   Die Werkzeugleiste benutzt Piktogramme statt Text, um den Befehl zu
kennzeichnen.  Zum Beispiel lässt der {menue-eintrag} »ToolBar.New« das
Piktogramm »New« auf der Werkzeugleiste erscheinen.
   Der Editor Vim hat 28 eingebaute Piktogramme.  Hier können Sie eine Tabelle
finden: |builtin-tools|.  Die meisten werden in der voreingestellten
Werkzeugleiste verwandt.  Sie können neu definieren, was diese Einträge tun
(nachdem die vorgegebenen Menüs eingerichtet sind).
   Sie können eine andere Bitmap für einen Werkzeugleisteneintrag hinzufügen.
Oder einen neuen Werkzeugleisteneintrag mit einer Bitmap definieren.
Definieren Sie zum Beispiel einen neuen Werkzeugleisteneintrag mit: >

	:tmenu ToolBar.Compile  Compile the current file
	:amenu ToolBar.Compile  :!cc % -o %:r<CR>

Nun müssen Sie das Piktogramm erzeugen.  Für MS-Windows muss es im Bitmap-
Format sein, mit dem Namen »Compile.bmp«.  Für Unix wird das Format XPM, der
Dateiname ist »Compile.xpm«.  Die Größe muss 18 mal 18 Pixel sein.  Unter
MS-Windows können auch andere Größen verwendet werden, aber dies sieht
hässlich aus.
   Setzen Sie das Bild in das Verzeichnis »bitmaps« in einem der Verzeichnisse
in 'runtimepath'.  Für Unix z.B. »~/.vim/bitmaps/Compile.xpm«.

Sie können Tooltips für die Einträge in der Werkzeugleiste definieren.
Ein Tooltip ist ein kurzer Text, der erläutert, was ein
Werkzeugleisteneintrag macht.  Zum Beispiel »Open file«.  Er erscheint,
wenn der Mauszeiger auf dem Element ist, ohne sich für einen Moment zu
bewegen.  Dies ist sehr nützlich, falls die Bedeutung des Bildes nicht so
offensichtlich ist.  Beispiel: >

	:tmenu ToolBar.Make  Run make in the current directory
<
	Anmerkung:
	Geben Sie auf Groß-/Kleinschreibung acht.  »Toolbar« und »toolbar«
	unterscheiden sich von »ToolBar«!

Um ein Tooltip zu entfernen, benutzen Sie den Befehl |:tunmenu|.

Die Option 'toolbar' kann benutzt werden, um Text statt Bilder anzuzeigen,
oder sowohl Text wie auch Bild.  Die meisten Leute benutzen nur die Bilder,
weil der Text ziemlich Raum einnimmt.


AUFKLAPP-MENÜ

Das Aufklappmenü klappt auf, wo der Mauszeiger ist.  Unter MS-Windows
aktivieren Sie es, indem Sie die rechte Maustaste drücken.  Dann können Sie
einen Eintrag mit der linken Maustaste auswählen.  Unter Unix wird das
Aufklappmenü benutzt, indem Sie die rechte Maustaste drücken und halten.
   Das Aufklappmenü erscheint nur, wenn 'mousemodel' auf »popup« oder
»popup_setpos« gesetzt wurde.  Der Unterschied zwischen den beiden ist, dass
»popup_setpos« den Cursor auf die Position des Mauszeigers setzt.  Wenn Sie
innerhalb einer Auswahl klicken, wird die Auswahl unverändert benutzt.  Wenn
es eine Auswahl gibt, Sie aber außerhalb klicken, wird die Auswahl entfernt.
   Es gibt für jeden Modus ein eigenes Aufklappmenü.  Also gibt es nie graue
Einträge wie in den normalen Menüs.

Was ist die Bedeutung des Lebens, des Universums, von allem?	*42*
Douglas Adams, die einzige Person, die wusste, worum es bei dieser Frage
wirklich geht, ist nun unglücklicherweise tot.  Also mögen Sie sich jetzt
fragen, was die Bedeutung des Todes ist ...

==============================================================================

Nächstes Kapitel: |usr_43.txt| Dateitypen (filetypes) benutzen

Copyright: siehe |manual-copyright| vim:tw=78:ts=8:ft=help:norl: