Per lo meno ho sempre decommentato la "sintassi su" in / etc / vim / vimrc
Per lo meno ho sempre decommentato la "sintassi su" in / etc / vim / vimrc
Risposte:
Il nostro CTO ha una configurazione Vim piuttosto ricca di funzionalità su GitHub .
Mette in risalto:
Lo trovo ottimo per la codifica Ruby, poiché i nostri strumenti di amministrazione del sistema sono scritti in Ruby.
In primo luogo, se si dispone di più di un paio di macchine con cui lavori, considerare di mettere il vostro ~/.vim/
, ~/.vimrc
e altri file di configurazione utili ( screen
, la shell, ecc) in un sistema di controllo di revisione. Preferisco usare darcs
- è economico sui sistemi Debian (non è necessario installare il compilatore Haskell, basta installare direttamente il pacchetto), distribuito e ha fantastiche modalità interattive. Se conosci / ti piace git
, puoi anche attenersi a questo.
I miei file di configurazione in corso sono disponibili nel mio repository darcs, http://repo.harnir.net/
. Alcuni esempi specifici dal mio ~/.vimrc
seguito. Siamo spiacenti, nessun link per gli script, ecc. Perché sono un nuovo utente, ma tutti quelli su cui puoi trovare http://vim.org/
.
uno script di backup è d'obbligo quando si modificano file remoti. Uso lo script cbackup.vim , che mantiene le ultime 10 copie di ogni file modificato in una directory centrale e rimuove automaticamente quelli vecchi - basta inserire la ~/.vim/plugins/
directory e dimenticarsene :-)
TaskList consente di cercare rapidamente FIXME
, XXX
e TODO
tag nei file corrente, visualizzarli e andare al tag con un solo tasto. Se si utilizzano questi tag, prendere in considerazione l'installazione di questo
dbext è essenziale per tutti i DBA, molto utile anche per i programmatori che lavorano con i database. Ti consente di eseguire query, controllare la struttura dei database e quant'altro. Si tratta essenzialmente di un front-end per strumenti come mysql
, sqlite3
, sqlplus
e altri. Se lavori con i database, è un must!
Non ho visto molte sintassi utili in natura, la maggior parte dei file con cui i sysadmin funzionano sono configurazioni /etc
e di solito sono abbastanza ben evidenziate. Nel mio ~/.vim/syntax/
ho attualmente una sintassi per i colori CSS , che è eccezionale (buono anche per gli sviluppatori web), ma il resto non è molto ben scritto, forse li aggiornerò nel tempo libero. File di sintassi aggiuntivi che vale la pena avere sono per: dhcpd.conf , / etc / network / interfaces , file di configurazione nginx e local.cf di SpamAssassin .
Suggerimento utile con la sintassi: se un file di configurazione non viene riconosciuto (ha un nome strano, come /etc/apache2/sites-enabled/some.domain.com
, puoi aggiungere un'estensione corretta al suo nome (in questo caso .conf
) o aggiungere una modeline ViM alla fine di esso:
# vim: filetype = apache
La maggior parte delle opzioni di configurazione è molto popolare, come set nocompatible ruler
ecc. Le opzioni molto buone da avere sono:
set gdefault
: inverte la g
modalità in s///g
- con quell'opzione /g
verrà utilizzata per impostazione predefinita, quindi non è necessario aggiungerla ogni volta - basta aggiungerla per disattivarla
set incsearch ignorecase smartcase hlsearch
: essenziale per la ricerca tra i file - incrementale, mostra le corrispondenze in tempo reale, la ricerca ignora maiuscole a meno che non si utilizzino lettere maiuscole
set pastetoggle=<F6>
: O altra chiave che si preferisce, commuta tra paste
e nopaste
modalità, un must se si copia-incolla qualcosa da una pagine web come ServerFault :-)
set noerrorbells visualbell t_vb=
: sbarazzati della fastidiosa campana o campana visiva ogni volta che fai qualcosa;)
incolla il tuo nome utente e la data corrente in un file, utile se lavori in gruppo e aggiungi commenti nei file su chi ha cambiato qualcosa quando. Basta scrivere xxsig
e premere lo spazio, sarà cambiato in qualcosa del genere harnir 20090531
. Perché questo funzioni correttamente con root (es. Scrivi il tuo nome utente invece di root
), devi accedere usando sudo
.
iabbrev xxsig <Esc>: r! [-n "$ SUDO_USER"] && echo "$ SUDO_USER` date '+ \% Y \% m \% d'` "\ | \ | echo "$ USER` date '+ \% Y \% m \% d'` "<CR> I <BS> <Esc> A
Inserisci "righe" di commento, come # -- Some title -------------------{{{1
, lunghezza 78 caratteri - premi \com#
in modalità normale ed eccolo qui. Sarai automaticamente in modalità Sostituisci in modo da poter aggiungere il titolo:
nmap \ com # O # <Esc>72A-<Esc>3A{<Esc>A1<Esc> <Home> 4 <Destra> R <Spazio>
Si può facilmente modificare per altri sistemi di commento ( "
, //
, ecc), o semplicemente controllare il mio file di configurazione.
Se hai i tuoi file di configurazione nel sistema RCS, a volte potresti voler includere opzioni di configurazione specifiche per un determinato computer. Per questo, è bene avere un ~/.vimrc.local
file, incluso automaticamente alla fine della configurazione (se presente, ovviamente).
se filereadable (espandi ("~ / .vimrc.local")) source ~ / .vimrc.local finisci se
Non sono sicuro di quale parte di questo sia specificamente correlata al sysadmin, ma i miei elementi essenziali sono:
syntax on
set background=dark
set shiftwidth=2
set tabstop=2
if has("autocmd")
filetype plugin indent on
endif
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
set ignorecase " Do case insensitive matching
set smartcase " Do smart case matching
set incsearch " Incremental search
Inoltre, mi assicuro sempre che la macchina abbia accesso al file di evidenziazione della sintassi nginx .
Se di solito stai lavorando con un utente, allora questo rende possibile "reindirizzare" un file su sudo in modo che possa essere salvato.
cmap w!! %!sudo tee > /dev/null %
usa il comando:
:w!!
per invocare sudo e salvare il file.
tee
invece di cat
?
Puoi anche guardare a questa domanda SO: cosa c'è nel tuo vimrc ?
Spina senza vergogna. Questa non è davvero una modifica .vimrc ma piuttosto un plug-in VIM. Uso RCSVers su ogni versione installata di VIM. Fondamentalmente utilizza il comando RCS per salvare una versione di qualsiasi file modificato. Non sai quante volte ho rovinato un file di configurazione solo per farmi salvare da RCSVer mostrandomi le modifiche che ho apportato.
Dal momento che so che molti nuovi arrivati di VIM leggeranno questo, il miglior suggerimento che ho è: "Non diventare pigro e inserisci voci di mappa nel tuo .vimrc" Imparare modi non standard di fare le cose in VIM ti farà sentire come un gimp totale quando sei senza il tuo vimrc. La curva di apprendimento per vi è ripida, ma non stai facendo alcun favore scegliendo di non imparare.
Almeno una parte della mia risposta è la stessa della mia programmazione .vimrc:
set hidden
map <TAB> :e#<CR>
map <F7> :set paste!<CR>
map <F8> :set hlsearch!<CR>
map <F9> :!co -l %<CR>:e<CR>
map <F10> :!rcsdiff %<CR>
map <F11> :!ci -u %<CR>:e<CR>
Se almeno alcuni file che stai modificando non sono in RCS, dovrebbero esserlo! :)
Disabilitazione di tutte le modalità di rientro "intelligenti". Ottimo per la programmazione, l'inferno per il file di configurazione.
Spesso finisco per usare strace per rintracciare problemi strani. Di conseguenza, il tentativo di evidenziare la sintassi di alcune linee può diventare ridicolo con una stringa di grandi dimensioni. Stando così le cose, uso set synmaxcol = 2048 per limitare l'evidenziazione della sintassi a 2048 colonne.
Sono anche un grande fan del plug-in taglist che utilizza tag esuberanti. Finora sono stato in grado di aggirare il binario ctags compilato e non ho riscontrato alcun problema con la libreria. Questo mi permette rapidamente di navigare tra i codici con cui lavoro. Quelli generalmente sono Perl, Python o C.