Iste
Anmeldungsdatum: 21. Februar 2017
Beiträge: Zähle...
|
Ich bin totaler vim Anfänger (benutzte bisher hauptsächlich visual studio und windows) und bin gestern den vimtutor und den wikiartikel hier durchgegangen. Ich bin für jede Hilfe dankbar. (Benutze version 7.4) 1) Wie kopiere ich aus vim raus und zu vim rein? (z.B. vom browser)
Ich habe da schon einige google treffer ausprobiert und nichts hat geklappt. Derzeit habe ich noch [code]set clipboard=unnamedplus[/code] in meiner .vimrc Datei stehen von einem alten versuch. Dass man teilweise 3 Clipboards hat ist ziemlich verwirrend (eins von strg+c, eins von mittlerem mausbutton und eins von vim) 2) Wo bekomme ich gutes autocomplete her oder wie benutze ich es? Wie gehe ich vor wenn ich bei Funktionen wissen möchte was für Argumente ich brauche/möglich sind? (z.B. in c++, python)
Ich habe CTRL D im insert modus gefunden wenn man angefangen hat zu tippen. Ich weiß aber nicht wie es funktioniert und wo überall nach completes gesucht wird und wo nicht. Wenn ich z.B. in c++ #include <library> schreibe sollte das vim ja eigentl. gar nichts sagen (kann man das ändern?). Evtl. gab es mit #include sogar schon ein paar Effekte als die files im gleichen Verzeichnis waren (und nicht im vim buffer!). 3) Dieses :!befehl mag ich nicht besonders, da kann ich nur einen befehl fürs terminal eingeben. Ist hin und herswitchen zwischen vim und Terminal möglich? Wie kann ich z.B. zu einem Pfad navigieren und dann eine Datei einlesen in die derzeitige vim-Arbeitsfläche? (im Tutor wurde ja :r Dateiname benutzt) 4) Habt ihr sonst empfehlungen für meine vimrc Datei? (derzeit ist das einfach die default Datei)
Wie mache ich z.B. tabs zu Leerzeichen ohne autoindent zu verlieren?
|
sven-s
Anmeldungsdatum: 5. August 2010
Beiträge: 700
|
Hy,
ich benutze vim jetzt schon eine Weile und zu Anfang muss man sich erstmal mit dem Konzept vertraut machen. Aber das dauert natuerlich eine Weile. Wenn der Klick-Moment dann aber kommt, wird es einfacher. 😉 1) Dafuer benutze ich vim-system-copy von christoomey. Es ist ein Plugin fuer vim. 2) Hierfuer benuzte ich neocomplete.vim von Shougo. Es ist eine schoene Autovervollstaendigung. YouCompleteMe hat meinen aelteren Computer damals zu sehr beansprucht. Fuer C benutze ich vim-marching und fuer python jedi. Ich benuzte zudem syntastic von scrooloose als automatischen Code-Checker. 3) Es gibt die Tastenkombination "Strg+z" oder das Kommando ":sus". Man kann die Shell dann auch so konfigurieren, dass durch nochmaliges Druecken von "Strg+z" zu vim zurueckgekehrt wird. 4) Um meine Plugins zu verwalten benutze ich vim-plug von junegunn. Fuer Autoindent:
" automatische Einrückung bei Autoident und Tab-Breite auf 4 setzen
set shiftwidth=4
set tabstop=4
set sts=4
" Leerzeichen anstatt Tab
set expandtab
|
Into_the_Pit
Ehemalige
Anmeldungsdatum: 25. Juni 2008
Beiträge: 9490
Wohnort: Bochum
|
Falls Dir vim nicht zusagt, es gibt auch noch andere Editoren da draußen. 😉 zyedidia/micro
|
lionlizard
Anmeldungsdatum: 20. September 2012
Beiträge: 6244
Wohnort: Berlin
|
Du kannst mit vimtutor de eine Textdatei aufrufen, die Dir (interaktiv) erklärt, wie Du vim benutzen kannst. Ansonsten lässt sich Text, wie auch sonst aus dem Terminal, mit der Maus markieren und dann entweder über das Kontextmenü oder mit
⇧ +
Strg +
C kopieren bzw.
⇧ +
Strg +
V einfügen. Außerdem kannst Du innerhalb von vim mit der Sequenz :help die Hilfedatei aufrufen.
|
wxpte
Anmeldungsdatum: 20. Januar 2007
Beiträge: 1180
Wohnort: Schäl Sick
|
Iste schrieb: 1) Wie kopiere ich aus vim raus und zu vim rein? (z.B. vom browser)
Ich habe da schon einige google treffer ausprobiert und nichts hat geklappt. Derzeit habe ich noch [code]set clipboard=unnamedplus[/code] in meiner .vimrc Datei stehen von einem alten versuch. Dass man teilweise 3 Clipboards hat ist ziemlich verwirrend (eins von strg+c, eins von mittlerem mausbutton und eins von vim)
aus VIM herauskopieren: zu kopierenden Text markieren,
Strg +
⇧ +
C , danach in der grafischen Umgebung mit
Strg +
V einfügen in VIM hineinkopieren: aus der grafischen Umgebung mit
Strg +
C in die Zwischenablage kopieren, anschließend in VIM mit der Taste
I an geeigneter Stelle in den Einfügemodus wechseln und mit
⇧ +
Einfg den Inhalt der Zwischenablage einfügen
3) Dieses :!befehl mag ich nicht besonders, da kann ich nur einen befehl fürs terminal eingeben.
Ich schon. Mit dieser Funktion kann man nämlich die Bash-Befehle für geöffnete VIM-Dateien sehr gut nutzen. Zum Beispiel ist es mit
:%!grep MUSTER möglich, in einem Rutsch alle Zeilen, in denen MUSTER nicht vorkommt, aus dem in VIM geöffneten Dokument herauszuwerfen. Finde ich für bestimmte Zwecke sehr praktisch. Oder
:50,60!sort sortiert dir alle Zeilen zwischen 50 und 60.
|
Iste
(Themenstarter)
Anmeldungsdatum: 21. Februar 2017
Beiträge: 6
|
zu 1: es gibt anscheinend ein + und ein * clipboard (normales und mittlere maus) welche man mit "+y oder "*y erreichen kann. Wenn man set clipboard=unnamedplus hat dann braucht man nur y benutzen (das normale vim clipboard wird zum plus clipboard mit dem man nach draußen kommt). Das problem war mir fehlte vim-gtk. Die strg up c methode funktionierten irgendwie nicht (und das up macht einfach nur curser hoch, vorhin hatte ich das irgendwie nicht). Das vim-system-copy scheint wohl auch gut aber mir ist meine clipboard history erstmal egal. Ansonsten sven:
wie setze ich angehaltenes vim fort nach strg + z?
Das mit tabs hat geklappt.
Die restlichen Plugins werde ich demnächst ausprobieren. So wirklich verstehen wie plugins funktionieren oder wie sie mit .vimrc zusammenhängen tue ich noch nicht.
|
lionlizard
Anmeldungsdatum: 20. September 2012
Beiträge: 6244
Wohnort: Berlin
|
Iste schrieb: Ansonsten sven:
wie setze ich angehaltenes vim fort nach strg + z?
Bin zwar nicht sven, aber ein Programm aus dem Hintergrund holt man mit Eingabe von fg wieder in den Vordergrund, das funktioniert mit vim ebenfalls, zumindest bei mir.
|
sven-s
Anmeldungsdatum: 5. August 2010
Beiträge: 700
|
Ja, genau fg funktioniert auch gut. Also hinter vim steht auch eine eine Sprache, unzwar vimL, aber die braucht man auch nicht notwendigerweise lernen. Auf alle Faelle greifen die Plugins darauf zurueck und definieren eigene Funtkionen, die du dann nutzen kann. Unter anderem kann auch Lua, Python und Ruby verwendet werden. Dafuer gibt es dann wieder eigene Bibliotheken zur Steuerung von vim. Sie agieren auch insofern mit deiner vimrc, da sie eigene Konfigurationen mit bringen und du das Verhalten in deiner vimrc steuern kannst. Das tust du, indem du bestimmten Variablen Werte zuweisst. Die Variablennamen und ihre Bedeutung findest du in der beiligenden Dokumentation. Meine vimrc habe ich mittlerweile in mehrer Teile gespalten, damit es uebersichtlicher wird. Aber das kommt mit der Zeit, wenn man es haeufig benutzt. Zu Anfang ist die vimrc auch noch nicht so wichtig. Hier stellt man dann eigene Vorlieben und Verhaltensmuster ein, die man mit der Zeit beim Benutzen mitbekommt. Ich wechsle die Splits z.B. lieber mit Strg+j als mit Strg+w+j. Das kommt dann aber mit der Zeit und so waechst auch die vimrc kontinuierlich. Es war im Uebrigen vorher die Cap-Taste gemeint und nicht der Pfeil, wenn du es nochmal ausprobieren moechtest.
|
Neral
Anmeldungsdatum: 3. Oktober 2007
Beiträge: 229
|
Ad 3: Vielleicht wäre ein Terminal-Multiplexer wie tmux oder screen was für dich.
|
Iste
(Themenstarter)
Anmeldungsdatum: 21. Februar 2017
Beiträge: 6
|
tmux habe ich schon mehrmals gehört jetzt. Ich werde es definitiv ausprobieren, muss allerdings erstmal mehr Anfänger Wissen zum Terminal und Bash und remote Servern erlangen.
Den Plugin Manager habe ich noch immer nicht installiert. Es gibt ja sehr viele verschiedene Manager. Ich bin mir noch nicht sicher ob ich lieber versuche Plugins manuell zu finden/installieren/updaten/löschen/(schreiben) und werde wohl rausfinden müssen wie viel Aufwand das ist. Ich will z.B. nicht dass plugins automatisch geupdated werden oder so etwas. edit: habe mich für pathogen plugin manager entschieden. Vllt. noch eine Frage etwas neben dem Thema: Gibt es noch andere situationen wo ich auf shortcuts umsteigen kann?
Dieses :vplit, :split, oder :tabnew scheint mir viel praktischer als Fenster wie firefox ständig hin und her zu schieben. Gibt es eine Art "Fensterlose Desktop umgebung" (ohne überlappende viewports)?
Bei Firefox probiere ich gerade das VimFx plugin aus, aber bis jetzt bin ich noch nicht überzeugt.
|
Developer92
Anmeldungsdatum: 31. Dezember 2008
Beiträge: 4101
|
Iste schrieb: Dieses :vplit, :split, oder :tabnew scheint mir viel praktischer als Fenster wie firefox ständig hin und her zu schieben. Gibt es eine Art "Fensterlose Desktop umgebung" (ohne überlappende viewports)?
Möglicherweise wären Tiling Window Manager was für dich. Ansonsten, wobei das eben nur für Terminalfenster geht, greife ich auf das bereits erwähnt tmux zurück.
|
sven-s
Anmeldungsdatum: 5. August 2010
Beiträge: 700
|
Da ich aus sehr begeistert von Shortcuts bin, benutze ich als Borwser den qutebrowser. Der wurde schon so programmiert, dass man eigentlich alles mit Shortcuts erreichen kann. Und als Tilling Window Manager nehme ich i3. Aber das sind nur ein paar Anhaltspunkte. Es gibt das noch wesentlich mehr Software zu entdecken.
|