Hallo, nachdem ich gerade wieder einmal mehrere Minuten warten musste, bis eine laengere Textpassage im vim eingefuegt war, ist jetzt doch langsam eine Problemloesung angesagt. Meistens starte ich den vim mehrmals. Einmal um einen Text zu schreiben, und mehre um Textabschnitte aus anderen Dateien mit der Maus herueberzukopieren. Nach einiger Zeit beginnt das Schreiben und besonders Einfuegen im vim jedoch immer schwerfaelliger zu werden. top zeigt, dass allein der vim eine CPU-Last von 96 bis 98 Prozent verursacht. An der Groesse der zu bearbeitenden Datei kann es nicht liegen, da das Problem auch bei Dateien von wenigen Tausend Byte (eben waren es 26 000 Byte) auftritt. Die einzufuegenden Passagen liegen zwischen wenigen Dutzend und 20 000 Byte, die weiteren geoeffneten Dateien sind in der Regel ebenfalls keine 30 000 Byte gross. Installiert ist vim 6.1. Da ich nicht einmal eine Idee habe, unter welchem Sichwort ich suchen koennte, helfen auch die vim-Doku und google nicht weiter. Fuer Anregungen waere ich deshalb sehr dankbar. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Am Mon, 11 Nov 2002 schrieb Heinz W. Pahlke:
Da ich nicht einmal eine Idee habe, unter welchem Sichwort ich suchen koennte, helfen auch die vim-Doku und google nicht weiter.
Fuer Anregungen waere ich deshalb sehr dankbar.
Kann Dir leider nicht direkt weiterhelfen, da das Problem bei mir so noch nicht aufgetreten ist bzw. mir zumindest nicht aufgefallen ist. Aber vielleicht wendest Du Dich mal an die vim-users-Mailingliste, da liest Bram Molenaar, der Hauptentwickler, selbst mit und die Leute können Dir sicher kompetent helfen. Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
Hallo, On 11-Nov-2002 Christoph Maurer wrote:
Aber vielleicht wendest Du Dich mal an die vim-users-Mailingliste, da liest Bram Molenaar, der Hauptentwickler, selbst mit und die Leute können Dir sicher kompetent helfen.
Mit meinem phantastischen Englisch versuche ich es immer erst einmal in deutschsprachigen Listen. Aber wenn hier niemand eine Idee hat, werde ich mich mal ransetzen und mein Problem in englisch beschreiben. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
On Mon, 11 Nov 2002, Heinz W. Pahlke wrote:
nachdem ich gerade wieder einmal mehrere Minuten warten musste, bis eine laengere Textpassage im vim eingefuegt war, ist jetzt doch langsam eine Problemloesung angesagt.
Meistens starte ich den vim mehrmals. Einmal um einen Text zu schreiben, und mehre um Textabschnitte aus anderen Dateien mit der Maus herueberzukopieren.
Nach einiger Zeit beginnt das Schreiben und besonders Einfuegen im vim jedoch immer schwerfaelliger zu werden. top zeigt, dass allein der vim eine CPU-Last von 96 bis 98 Prozent verursacht.
An der Groesse der zu bearbeitenden Datei kann es nicht liegen, da das Problem auch bei Dateien von wenigen Tausend Byte (eben waren es 26 000 Byte) auftritt. Die einzufuegenden Passagen liegen zwischen wenigen Dutzend und 20 000 Byte, die weiteren geoeffneten Dateien sind in der Regel ebenfalls keine 30 000 Byte gross.
probier mal :set undolevels=-1 sonst verwende einen original vi, der geht immer, ueberall ... :-)) Achim
Hallo, On 11-Nov-2002 Achim Hoffmann wrote:
probier mal
:set undolevels=-1
NEIN! Dann geht ja kein undo mehr :-((( Aber ich habe mal undolevels von 1000 (ist wohl die Standardvorgabe) auf 100 herabgesetzt. Vielleicht hilft das ja schon.
sonst verwende einen original vi, der geht immer, ueberall ... :-))
Ueberall vielleicht schon, aber immer? Auch mit der Maus ;-) Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
On Mon, 11 Nov 2002, Heinz W. Pahlke wrote:
On 11-Nov-2002 Achim Hoffmann wrote:
probier mal
:set undolevels=-1
NEIN! Dann geht ja kein undo mehr :-(((
undo, oder warten :-))) (oder auf mehrere GB RAM aufruesten)
Aber ich habe mal undolevels von 1000 (ist wohl die Standardvorgabe) auf 100 herabgesetzt. Vielleicht hilft das ja schon.
Der erfahrene Anwender weiss was er tut, undo ist obsolete ... 100 undo, vielleicht sollte man anstatt ueber das Werkzeug (vi,vim) mal ueber die Aarbeitsweise nachdenken (zu min. wenn man 30kB im Puffer hat ;-) OT:
sonst verwende einen original vi, der geht immer, ueberall ... :-))
Ueberall vielleicht schon, aber immer? Auch mit der Maus ;-)
ja immer (einschliesslich DOS und CP/M). Die Maus hat nichts mit vi zu tun, allenfalls mit der Application aus der heraus der vi gestartet wird (aber lassen wir diese Diskusion lieber:) Wozu braucht man eine Maus wenn man vi hat?
Hallo, On 11-Nov-2002 Achim Hoffmann wrote:
On Mon, 11 Nov 2002, Heinz W. Pahlke wrote:
On 11-Nov-2002 Achim Hoffmann wrote:
probier mal
:set undolevels=-1
NEIN! Dann geht ja kein undo mehr :-(((
undo, oder warten :-)))
Hiess vim nicht "undo und nicht warten" :-))) Oder so aehnlich ;-)
(oder auf mehrere GB RAM aufruesten)
Ich will hier kein Office 2000 betreiben ;-)
Der erfahrene Anwender weiss was er tut, undo ist obsolete ...
Nein, in. Damit kann man so einfach wie mit keinem anderen Programm HTML schreiben und gleich im Browser pruefen, wie das Ergebnis aussieht. Und gefaellt etwas nicht, schnell mal ein paar Angaben geaendert, wieder geprueft, uebernommen oder mit undo zur vorherigen Version zurueckgekehrt.
Die Maus hat nichts mit vi zu tun, allenfalls mit der Application aus der heraus der vi gestartet wird (aber lassen wir diese Diskusion lieber:)
xterm. Aber muss die Anwendung das nicht auch unterstuetzen?
Wozu braucht man eine Maus wenn man vi hat?
Zum markieren (loeschen, kopieren) und einfuegen :-) Oder geht das auch anders ;-))) Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
On Mon, 11 Nov 2002, Heinz W. Pahlke wrote:
undo, oder warten :-)))
Hiess vim nicht "undo und nicht warten" :-))) Oder so aehnlich ;-)
(oder auf mehrere GB RAM aufruesten)
Ich will hier kein Office 2000 betreiben ;-)
ich fuerchte eine Kroete must du schlucken ...
Wozu braucht man eine Maus wenn man vi hat?
Zum markieren (loeschen, kopieren) und einfuegen :-) Oder geht das auch anders ;-))) klar (bezogen auf diese mail z.B.):
/kopieren d4W''p fertig, und naechste Aufgabe (waehrend die anderen noch die Maus unter den Hartkecksen suchen:-))
Hallo, On 11-Nov-2002 Achim Hoffmann wrote:
/kopieren d4W''p
fertig, und naechste Aufgabe (waehrend die anderen noch die Maus unter den Hartkecksen suchen:-))
Lass mir doch auch ein Vergnuegen ;-) Aber der Uebeltaeter ist gefunden: au BufNewFile,BufReadPost *.html so | natuerlich in /usr/local/share/vim/vim61/indent/html.vim | einer Zeile map ,y :source /usr/local/share/vim/vim61/indent/html.vim<cr>gg=G<cr> Zur Not kann ich auch ohne arbeiten, aber lieber waere es mir schon, wenn ich es irgendwie wieder reinbekommen koennte. Pfade und so stimmen uebrigens; habe es gerade noch einmal kontrolliert. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Hi, Heinz W. Pahlke wrote:
Aber der Uebeltaeter ist gefunden:
au BufNewFile,BufReadPost *.html so | natuerlich in /usr/local/share/vim/vim61/indent/html.vim | einer Zeile
map ,y :source /usr/local/share/vim/vim61/indent/html.vim<cr>gg=G<cr>
Sieht bei mir so aus: autoindent filetype plugin indent on Statt der au Buf..., verwende ich: autocmd FileType html :so <Datei mit Pfad> um was zu sourcen. Ich weiss nicht ob das schneller ist aber HTH. -- - maik
Hallo, On 11-Nov-2002 Maik Holtkamp wrote:
Sieht bei mir so aus:
autoindent filetype plugin indent on
Steht hier ebenfalls drin.
Statt der au Buf..., verwende ich:
Naja, habe einfach einen Tipp hier aus der Liste umgesetzt. Mit dem selbst zusammenbauen tue ich mich da doch sehr schwer.
autocmd FileType html :so <Datei mit Pfad>
um was zu sourcen. Ich weiss nicht ob das schneller ist aber HTH.
Ich werde es mal ausprobieren. Das map ,y :source /usr/local/share/vim/vim61/indent/html.vim<cr>gg=G<cr> muss doch aber trotzdem noch drin stehen, oder? Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Hi, Heinz W. Pahlke wrote:
On 11-Nov-2002 Maik Holtkamp wrote:
Sieht bei mir so aus:
autoindent filetype plugin indent on
Naja, habe einfach einen Tipp hier aus der Liste umgesetzt. Mit dem selbst zusammenbauen tue ich mich da doch sehr schwer.
Ja, das geht mir ähnlich :(. Wenn ich das aber richtig verstanden habe sollte das so laufen: autoindent versucht anhand der Endung zu erkennen um welchen filetype es sich handelt. Das "filetype plugin indent on" sorgt dann dafür, dass die html.vim aus dem indent Verzeichnis zu tragen kommt. Braucht also nicht extra gesourced werden. Bei mir rückt er jedenfalls automatisch ein, wenn ich html schreibe, ohne dass ich die Datein extra source. Wenn ich nicht ganz daneben liege solltes Du die Zeile gar nicht brauchen. Ach ja, bei mir steht noch shiftwidth=3, da sich indent AFAIK auf shifwidth bezieht könnte das noch sinnvoll sein.
autocmd FileType html :so <Datei mit Pfad>
um was zu sourcen. Ich weiss nicht ob das schneller ist aber HTH.
Ich werde es mal ausprobieren. Das
map ,y :source /usr/local/share/vim/vim61/indent/html.vim<cr>gg=G<cr>
IMO braucht Du das nur wenn Du eine html Datei schreibst, diese aber nicht auf den filetype html passt (also beispielsweise auf .test endet). Wenn Du dann manuell html Einrückungen einschalten willst drückst Du ,y. Aber, ich bin erst bei Kapitel 5 der Buchempfehlung, vieles ist schneller gelesen als behalten und es ist halt englisch ;). -- - maik
* Maik Holtkamp schrieb am 11.Nov.2002:
Heinz W. Pahlke wrote:
On 11-Nov-2002 Maik Holtkamp wrote:
Sieht bei mir so aus:
autoindent filetype plugin indent on
Naja, habe einfach einen Tipp hier aus der Liste umgesetzt. Mit dem selbst zusammenbauen tue ich mich da doch sehr schwer.
Ja, das geht mir ähnlich :(. Wenn ich das aber richtig verstanden habe sollte das so laufen:
autoindent versucht anhand der Endung zu erkennen um welchen filetype es sich handelt.
nö, autoindent nicht. Autoindent behält einen Einzug, dh. ein paar Leerzeichen bzw. Tabs am Zeilenanfang, bei, wenn man eine neue Zeile beginnt, oder öffnet. autoindent gibt es auch im Orginal vi. Dem Orginal vi interessiert keien Filetypen. Siehe auch :help autoindent
Das "filetype plugin indent on" sorgt dann dafür, dass die html.vim aus dem indent Verzeichnis zu tragen kommt. Braucht also nicht extra gesourced werden.
Das allerdings ist richtig. Siehe :help filetype :help plugin :help filetype-plugin :help filetype-indent filetype unterscheidet nach Dateiname und auch nach den ersten und letzten Zeilen im Text.
Bei mir rückt er jedenfalls automatisch ein, wenn ich html schreibe, ohne dass ich die Datein extra source.
Das kommt durch Deinen filetype plugin indent on
Wenn ich nicht ganz daneben liege solltes Du die Zeile gar nicht brauchen. Ach ja, bei mir steht noch shiftwidth=3, da sich indent AFAIK auf shifwidth bezieht könnte das noch sinnvoll sein.
So ist es. Default ist shiftwidth=8. Siehe: :help shiftwidth
autocmd FileType html :so <Datei mit Pfad>
um was zu sourcen. Ich weiss nicht ob das schneller ist aber HTH.
Autocmd braucht Du normalerweise nicht. Ein autocmd macht vim schon für Dich, um zu erkennen, um welchen Filetype es sich handelt. Du hast doch Syntaxhighlighting? Dann macht das schon vim. Es sei denn, Du willst neue Syntaxregeln einführen, die vim noch nicht kann. Aber .html kennt vim.
Ich werde es mal ausprobieren. Das
map ,y :source /usr/local/share/vim/vim61/indent/html.vim<cr>gg=G<cr>
Wenn Du das hast, kannst Du mit ,y die html Syntax einlesen. Diese Zeile brauchst Du nur, wenn Du tatsächlich auch mal ,y sagst, sonst laß sie lieber weg, da es sonst nach einer Eingabe eines , erst warten muß, ob nicht noch ein y kommt. Falls Du nicht sowieso noch ein paar andere maps diese Art hast.
IMO braucht Du das nur wenn Du eine html Datei schreibst, diese aber nicht auf den filetype html passt (also beispielsweise auf .test endet).
Wenn Du dann manuell html Einrückungen einschalten willst drückst Du ,y.
So ist es. Es ist aber besser, wenn Du in so einem Fall, in der .test Datei selber, also der Datei, die man editieren will, einen html Kommentar unterbringst, und zwar in einer der ersten oder letzten Zeilen. Dort sollte denn sowas wie stehen. (Ich hoffe, daß so ein html-Kommentar aussieht. Lange nichts mehr an html gemacht.) Das nennt man modeline und da kann man einen vim-Befehl unterbringen. Für vim ist es wichtig, daß es in den ersten oder letzten paar Zeilen steht und das Schlüsselwort vim: auftaucht. Ich habe zum Beispiel in meiner .muttrc ein paar Dateien gesourced. Die erkennt vim natürlich nicht als vom Filetype muttrc. Daher steht dort in der ersten Zeile: # vim: filetype=muttrc Das vim: erkennt vim und führt das nächste Kommando als vim-Befehl aus. Natürlich muß da ein Kommentarzeichen vor stehen, damit mutt dies nicht interpretiert. Für vim bedeutet das, daß belibige Zeichen am Zeilenanfang überlesen werden. Bei anderen Filetypen werden andere Kommentarzeichen benötigt. Das ist aber vim egal, nicht aber dem Programm, das die Datei auswertet. Auch muß es nicht unbedingt die erste Zeile sein, da z.B ein #!/bin/bash zwingend in der ersten Zeile stehen muß. Es kann auch in einer der letzten Zeilen stehen. Es kann da (fast) jeder beliebiger vim-Befehl drin stehen. Siehe :help vim: Und wie gesagt, die modeline muß in der Datei, die man editieren will, stehen.
Aber, ich bin erst bei Kapitel 5 der Buchempfehlung, vieles ist schneller gelesen als behalten und es ist halt englisch ;).
Die Onlinehilfe von vim kennt Ihr aber auch? Einfach :help im Kommandmodus eingeben. Nach dem : gelangt man in der untersten Zeile. Es reicht auch schon ein :h Zu einzelnen Befehlen kommt man, indem man ihm nach dem :help angibt, wie ich hier schon mehrfach angedeutet habe. Die onlinehilfe ist sehr umfangreich, leider auch (fast) nur in Englisch. Es gibt auch ein Tutorial, das mam mit vimtutor von der Shell aus aufrufen kann. Das gibt es nicht nur in Englisch, sondern auch in Französisch, Spanisch, Italienisch, Polnisch, Russisch, Japanisch und Chinesisch. Leider nicht in Deutsch. Jedenfalls nicht bei meiner 6.1 PS: wenn wir einmal dabei sind, darf ich daran erinnern, das vim nicht freeware ist, sondern Charityware. Das heißt, vim bittet um eine Spende. Nicht für die Entwickler, sondern für ein Kinderzentrum in Uganda. Siehe hierzu :help uganda Bernd -- Bitte die Etikette beachten: http://www.suse-etikette.de.vu/etikette.html Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4
Hi,
Zum markieren (loeschen, kopieren) und einfuegen :-) Oder geht das auch anders ;-)))
Du kannst die doch alle in einer vi Instanz öffen.
:vi <file>
zischen den Verschienen files kannst Du mit :buffer <Zahl oder filename>
wechseln. Eine Übersicht bekommst Du mit :buffers.
Im ersten buffer makierst Du den Anfang mit mit m<marke> gehst zur
letzten Zeile kopierst mit y'<marke> gehst in den anderen Buffer und
fügst mit p<marke> ein.
Das markieren kannst Du Dir sparen wenn Du siehst 3 Zeilen: 3yy wechsel
p. Zum löschen nimmst Du d. Wenn Du die ganze Datei einfügen willst :r
Heinz W. Pahlke wrote:
Zum markieren (loeschen, kopieren) und einfuegen :-) Oder geht das auch anders ;-)))
Ich nehme den Visual Block, im Command-Modus Ctrl-V, vorher den Cursor auf den Anfang, dann zum Ende bewegen und mit ':d' loeschen. Es werden dabei dann spezille Range-Marker gesetzt (<,>) Peter
Hi, Heinz W. Pahlke wrote:
On 11-Nov-2002 Achim Hoffmann wrote:
probier mal
:set undolevels=-1
NEIN! Dann geht ja kein undo mehr :-(((
Aber ich habe mal undolevels von 1000 (ist wohl die Standardvorgabe) auf 100 herabgesetzt. Vielleicht hilft das ja schon.
Ich würde erstmal die ganze .vimrc verschieben und dann Zeile für Zeile schauen wo es hängt. -- - maik
Hallo, On 11-Nov-2002 Maik Holtkamp wrote:
Ich würde erstmal die ganze .vimrc verschieben und dann Zeile für Zeile schauen wo es hängt.
Das waere natuerlich auch eine Moeglichkeit. Andererseits ist die ganze vimrc einschlisslich Kommentaren keine 100 Zeilen lang, also noch recht uebersichtlich. Und da faellt mir eben nichts auf, was die CPU-Last dermassen hoch treiben und die CPU vor allem auch im Extremfall gleich mehrere Minuten voll auslasten koennte. Speicherprobleme scheinen es uebrigens nicht zu sein, zumindest wird nicht geswappt. Aber ich werde jetzt einfach erst mal abwarten, ob und was die Herabsetzung des undolevels bringt. Beste Gruesse, Heinz. -- http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
participants (6)
-
Achim Hoffmann
-
B.Brodesser@t-online.de
-
Christoph Maurer
-
Heinz W. Pahlke
-
Maik Holtkamp
-
Peter Wiersig