Schrift
[thread]1569[/thread]

Vi(m): Tipps und Tricks rund um den Vim

Leser: 40


<< |< 1 2 3 4 ... 8 >| >> 74 Einträge, 8 Seiten
Crian
 2004-07-12 13:04
#15324 #15324
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
[quote=pq,11.07.2004, 23:56]bei wm=4 bricht vim automatisch 4 zeichen vor zeilenende (also
terminalbreite) das letzte getippte wort um. jetzt noch zwei kleine maps
in meine .vimrc, und ich bin glücklich:
map §4 :set wm=4<CR>
map §§ :set wm=0<CR>

=)[/quote]

In Anbetracht von pq's Post im Theread zum Freuen eröffne ich mal diesen Thread, da ich auch gerade wieder anfange, mit dem Vi(m) zu arbeiten.

Ich benutze den Vim jetzt unter Linux und unter Windows, jetzt gerade unter Windows.

Meine _vimrc unter Windows sieht so aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

set diffexpr=MyDiff()
function MyDiff()
let opt = ''
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
silent execute '!D:\Programme\Vim\vim62\diff -a ' . opt . '"' . v:fname_in . '" "' . v:fname_new . '" > "' . v:fname_out . '"'
endfunction


set shiftwidth=4
set tabstop=8
set softtabstop=4
set expandtab
colorscheme crian


Wobei nur die unteren Zeilen von mir sind.
Diese Datei wird aber mit der Zeit noch wachsen, vielleicht gibt es hier ja auch noch die eine oder andere Anregung.


Ich hab da auch gleich mal eine Frage: Wie kann ich einen Bereich aus- oder entkommentieren?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Crian
 2004-07-12 14:03
#15325 #15325
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Ich hab mich gerade noch etwas mit der Faltung auseinandergesetzt und diese Optionen noch hinzugefügt, ob das allerdings das beste ist, weiß ich noch nicht:

Code: (dl )
1
2
set fdc=4
set fdm=indent
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pq
 2004-07-12 14:15
#15326 #15326
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
set is ic
set tabstop=2
set sw=2
syntax on
set sts=2
filetype indent on

" 7 zeichen vor ende umbrechen
map §7 :set wm=7<CR>
map §§ :set wm=0<CR>

map Ü :!perl -c %
map ü :!perl %

" perl-skript erstellen
map ß O#!/usr/bin/perl<CR>use strict;<CR>use warnings;<CR>

imap ddumper <ESC>gglouse Data::Dumper; $Data::Dumper::Indent = 1; $Data::Dumper::Sortkeys = 1;<ESC>``

" perl-modul erstellen
imap perlnew ;<CR>use strict;<CR>use warnings;<CR>sub new {<CR>my $proto = shift;<CR>my $class = (ref $proto) \|\| $proto;<CR>my $self = {};<CR>bless $self, $class;<CR>}<CR>1;<ESC>ggipackage


einen ganzen bereich auskommentieren?
naja, mit =pod am anfang und =cut am ende geht's am einfachsten, finde ich.
oder so:
map §1 :s/^/# /<CR>
map §2 :s/^# //<CR>

dafür musst du den block per visual-mode selektieren und dann §1 bzw. §2 tippen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Crian
 2004-07-12 14:38
#15327 #15327
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Ah danke. und welche Tasten wären das? Ich les hier "Paragraph1" und "Paragraph2", hast Du das anders geschrieben oder sind das vielleicht Funktionstasten?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
betterworld
 2004-07-12 14:40
#15328 #15328
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Ich gebe dann auch noch ein paar von meinen Erfahrungen preis:

Zunaechst sollte man Perl-spezifische Sachen lieber nicht in die .vimrc sondern nach .vim/ftplugin/perl.vim schreiben.

Die vorbelegte Tastenkombination [[ ist sehr praktisch, allerdings geht sie davon aus, dass man {Klammern am Anfang der Zeile setzt. Abhilfe:
Code: (dl )
map [[ /^}<CR>%0


Wenn man vim mit X kompiliert hat, aber nicht moechte, dass er sich mit dem X-Server verbindet, wenn man ihn ueber ssh -X ausfuehrt, kann man das hier in die .vimrc schreiben:
Code: (dl )
1
2
3
4
5
6
7
8
let libc = substitute(glob("/lib/libc-*.so*"), "\n.*", "", "")
function Getenv(x)
return libcall(g:libc, "getenv", a:x)
endfunction

if Getenv("DISPLAY") =~ ".:"
set clipboard=exclude:.*
endif
\n\n

<!--EDIT|betterworld|1089628842-->
betterworld
 2004-07-12 14:42
#15329 #15329
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=Crian,12.07.2004, 12:38]Ah danke. und welche Tasten wären das? Ich les hier "Paragraph1" und "Paragraph2", hast Du das anders geschrieben oder sind das vielleicht Funktionstasten?[/quote]
Ich nehme an, pq hat tatsaechlich die Paragraphzeichen gewaehlt, da sie auf der amerikanischen Tastatur nicht existieren und von daher auch nicht vorbelegt sind in vim. Sie eignen sich also gut fuer neue Tastenkombinationen (wenn man qwertz benutzt).
kabel
 2004-07-12 16:23
#15330 #15330
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
set visualbell
set foldmethod=indent (ich liebe sauber tabulierte dateien)
set ruler
set number
-- stefan
Crian
 2004-07-12 16:51
#15331 #15331
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
apropos number, kann man irgendwie erreichen, dass die Nummern nicht im normalen Editierbereich erscheinen? Ich finde die da irritierend und hab sie deshalb meist aus.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
kabel
 2004-07-12 17:02
#15332 #15332
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
:0 und wo sollen sie sonst erscheinen? :laugh:
-- stefan
betterworld
 2004-07-12 22:42
#15333 #15333
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=Crian,12.07.2004, 14:51]apropos number, kann man irgendwie erreichen, dass die Nummern nicht im normalen Editierbereich erscheinen? Ich finde die da irritierend und hab sie deshalb meist aus.[/quote]
Versuch doch mal
Code: (dl )
:highlight linenr ctermbg=red
<< |< 1 2 3 4 ... 8 >| >> 74 Einträge, 8 Seiten



View all threads created 2004-07-12 13:04.