Cuidado, sempre ter a sintaxe ativada pode ser uma má ideia se você costuma editar arquivos grandes. Em arquivos grandes (dezenas ou centenas de MB), o destaque da sintaxe pode fazer com que o vim se torne irresponsável por vários segundos, pois consome muita CPU. Apenas tente editar um arquivo XML enorme ... É claro que você sempre pode fazer: syn off (depois que o vim se recuperar ...).
Acabei de jogar com vários deles e há muito mais para investigar com a configuração do vim que você listou, mas se encaixa na minha expectativa de padrões saudáveis e recursos úteis. Não tenho certeza de como um wiki da comunidade me permite votar como 'respondido', mas como qualquer outro. Obrigado!
Gareth
17
Primeiro, se você tiver mais de um par de máquinas que trabalham com você, considere colocar o seu ~/.vim/, ~/.vimrce de outros arquivos úteis Config ( screen, seu shell, etc.) em um sistema de controle de revisão. Eu prefiro usar darcs- é barato nos sistemas Debian (não é necessário instalar o compilador Haskell, basta instalar o pacote diretamente), distribuído e possui ótimos modos interativos. Se você sabe / gosta git, também pode ficar com isso.
Meus arquivos de configuração atuais estão disponíveis no meu repositório darcs http://repo.harnir.net/,. Alguns exemplos específicos do meu ~/.vimrcacompanhamento. Desculpe, não há links para scripts, etc. porque eu sou um novo usuário, mas todos aqueles que você pode encontrar http://vim.org/.
Scripts essenciais do ViM para sysadmins
um script de backup é essencial quando você edita arquivos remotos. Eu uso o script cbackup.vim , que mantém as últimas 10 cópias de cada arquivo editado em um diretório central e remove automaticamente os antigos - basta colocar no seu ~/.vim/plugins/diretório e esquecê-lo :-)
TaskList permite procurar rapidamente FIXME, XXXe TODOtags no arquivo atual, exibi-los e ir para o tag com apenas uma tecla. Se você usar essas tags, considere instalar esta
O dbext é essencial para todo o DBA, também muito útil para programadores que trabalham com bancos de dados. Vamos executar consultas, verificar a estrutura dos bancos de dados e outros enfeites. É essencialmente um front-end para ferramentas como mysql, sqlite3, sqlpluse outros. Se você trabalha com bancos de dados, é obrigatório!
Arquivos de sintaxe
Eu não vi muitas sintaxes úteis na natureza, a maioria dos arquivos com os quais os administradores de sistemas trabalham são configurações /etce geralmente são bem destacadas. Na minha ~/.vim/syntax/Eu tenho atualmente sintaxe para cores CSS , que é incrível (também bom para os desenvolvedores web), mas o resto não é muito bem escrito, eu talvez vou atualizá-los no tempo livre. Os arquivos de sintaxe adicionais que valem a pena são os seguintes: dhcpd.conf , / etc / network / interfaces , arquivos de configuração do nginx e o local.cf do SpamAssassin .
Dica útil com sintaxe: se um arquivo de configuração não for reconhecido (com um nome estranho, como /etc/apache2/sites-enabled/some.domain.com, você pode anexar a extensão correta ao seu nome (neste caso .conf)) ou adicionar uma modelagem do ViM ao final:
# vim: filetype = apache
Opções de configuração do ViM
A maioria das opções de configuração é muito popular, como set nocompatible ruleretc. Opções muito boas para ter são:
set gdefault: inverte o gmodo s///g- com essa opção /gserá usada por padrão, para que você não precise adicioná-lo todas as vezes - basta adicioná-lo para desativá-lo
set incsearch ignorecase smartcase hlsearch: essencial para pesquisar arquivos - incremental, mostra correspondências em tempo real; a pesquisa ignora maiúsculas, a menos que você use letras maiúsculas
set pastetoggle=<F6>: ou outra tecla que você preferir, alterna entre pastee nopastemodos, uma obrigação se você copiar e colar algo de páginas da web como ServerFault :-)
set noerrorbells visualbell t_vb=: livre-se da campainha irritante ou visual sempre que fizer algo;)
Funções, mapeamentos de teclado
cole seu nome de usuário e data atual em um arquivo, útil se você trabalha em equipe e adiciona comentários em arquivos sobre quem mudou algo quando. Basta escrever xxsige pressionar espaço, ele será alterado para algo como harnir 20090531. Para que isso funcione corretamente com o root (ou seja, escreva seu nome de usuário em vez de root), é necessário fazer login 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
Inserir comentários "linhas", tipo # -- Some title -------------------{{{1, comprimento 78 caracteres - pressione \com#no modo normal e pronto. Você estará automaticamente no modo Substituir para poder adicionar o título:
nmap \ com # O # <Esc>72A-<Esc>3A{<Esc>A1<Esc> <Home> 4 <Right> R <Space>
Você pode facilmente modificá-lo para outros sistemas de comentários ( ", //, etc.), ou apenas verificar meu arquivo de configuração.
Toque final
Se você possui seus arquivos de configuração no sistema RCS, às vezes pode querer incluir opções de configuração específicas para uma determinada máquina. Para isso, é bom ter um ~/.vimrc.localarquivo, incluído automaticamente no final da configuração (se estiver presente, é claro).
se arquivável (expand ("~ / .vimrc.local"))
source ~ / .vimrc.local
fim se
A última dica - por melhor que seja - não funciona quando você possui diretórios pessoais montados em NFS: não importa em qual máquina você esteja, seu diretório pessoal será o mesmo. Observe também que essa dica depende da definição de "~" - algumas conchas não suportam essa abreviação.
Mei
Como administrador de sistema, você provavelmente trabalha nos servidores da conta 'root', que deve ser local e não montada via NFS. Nesse caso, /root/.vimrc.local deve funcionar bem.
drybjed
6
Não tenho certeza de que parte disso está relacionada especificamente ao administrador de sistemas, mas meus itens essenciais são:
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
Eu só o expressei assim para separar o que poderia estar especificamente relacionado à 'programação' de um arquivo .vimrc. Devo mudar a pergunta, você acha?
730 Gareth
Não deixe como está, tenho certeza que algumas pessoas têm coisas relacionadas ao administrador de sistemas, mas não a mim.
447 Adam Gibbins
Geralmente concordo com isso ... Mas uma guia tem 8 espaços. Qualquer outra coisa e se comporta de maneira diferente no vim e depois em menos / cauda / gato. Pode ser uma daquelas coisas religiosas.
Alexandre Carmel-Veilleux
4
Se você normalmente trabalha com um usuário, isso torna possível "canalizar" um arquivo para o sudo para que ele possa ser salvo.
Plugue sem vergonha. Esta não é realmente uma alteração .vimrc, mas um plugin do VIM. Eu uso RCSVers em todas as versões instaladas do VIM. Basicamente, ele usa o comando RCS para salvar uma versão de qualquer arquivo que você editar. Você não sabe quantas vezes estraguei um arquivo de configuração apenas para que os RCSVers me salvassem, mostrando as alterações que fiz.
Como sei que muitos iniciantes do VIM lerão isso, a melhor sugestão que tenho é: "Não fique com preguiça e coloque entradas de mapa no seu .vimrc" Aprender maneiras não padronizadas de fazer as coisas no VIM fará com que você sinta que um total gimp quando você está sem o vimrc. A curva de aprendizado para o vi é íngreme, mas você não está fazendo nenhum favor a si mesmo escolhendo não aprender.
O Vim possui ótimos recursos. Por que não usá-lo? Quando você precisa mudar para o vi, é temporário. Se você acha que precisará trabalhar muito onde o vim não está instalado, vale a pena instalá-lo.
187 Luc Luc
0
Pelo menos uma parte da minha resposta é igual à minha programação .vimrc:
Costumo usar strace para rastrear problemas estranhos. Como resultado, tentar destacar a sintaxe de algumas linhas pode ficar ridículo com uma cadeia de caracteres grande. Sendo esse o caso, eu uso o conjunto synmaxcol = 2048 para limitar a sintaxe destacada em 2048 colunas.
Eu também sou bastante fã do plugin taglist, que usa tags exuberantes. Até agora, fui capaz de contornar as binárias ctags compiladas e não encontrei nenhum problema de biblioteca. Isso rapidamente me permite navegar por qualquer código com o qual trabalho. Aqueles geralmente sendo Perl, Python ou C.
Respostas:
Nosso CTO possui uma configuração Vim bastante cheia de recursos no GitHub .
Luzes:
Acho ótimo para a codificação do Ruby, pois nossas ferramentas de administração do sistema são escritas em Ruby.
fonte
Primeiro, se você tiver mais de um par de máquinas que trabalham com você, considere colocar o seu
~/.vim/
,~/.vimrc
e de outros arquivos úteis Config (screen
, seu shell, etc.) em um sistema de controle de revisão. Eu prefiro usardarcs
- é barato nos sistemas Debian (não é necessário instalar o compilador Haskell, basta instalar o pacote diretamente), distribuído e possui ótimos modos interativos. Se você sabe / gostagit
, também pode ficar com isso.Meus arquivos de configuração atuais estão disponíveis no meu repositório darcs
http://repo.harnir.net/
,. Alguns exemplos específicos do meu~/.vimrc
acompanhamento. Desculpe, não há links para scripts, etc. porque eu sou um novo usuário, mas todos aqueles que você pode encontrarhttp://vim.org/
.Scripts essenciais do ViM para sysadmins
um script de backup é essencial quando você edita arquivos remotos. Eu uso o script cbackup.vim , que mantém as últimas 10 cópias de cada arquivo editado em um diretório central e remove automaticamente os antigos - basta colocar no seu
~/.vim/plugins/
diretório e esquecê-lo :-)TaskList permite procurar rapidamente
FIXME
,XXX
eTODO
tags no arquivo atual, exibi-los e ir para o tag com apenas uma tecla. Se você usar essas tags, considere instalar estaO dbext é essencial para todo o DBA, também muito útil para programadores que trabalham com bancos de dados. Vamos executar consultas, verificar a estrutura dos bancos de dados e outros enfeites. É essencialmente um front-end para ferramentas como
mysql
,sqlite3
,sqlplus
e outros. Se você trabalha com bancos de dados, é obrigatório!Arquivos de sintaxe
Eu não vi muitas sintaxes úteis na natureza, a maioria dos arquivos com os quais os administradores de sistemas trabalham são configurações
/etc
e geralmente são bem destacadas. Na minha~/.vim/syntax/
Eu tenho atualmente sintaxe para cores CSS , que é incrível (também bom para os desenvolvedores web), mas o resto não é muito bem escrito, eu talvez vou atualizá-los no tempo livre. Os arquivos de sintaxe adicionais que valem a pena são os seguintes: dhcpd.conf , / etc / network / interfaces , arquivos de configuração do nginx e o local.cf do SpamAssassin .Dica útil com sintaxe: se um arquivo de configuração não for reconhecido (com um nome estranho, como
/etc/apache2/sites-enabled/some.domain.com
, você pode anexar a extensão correta ao seu nome (neste caso.conf
)) ou adicionar uma modelagem do ViM ao final:Opções de configuração do ViM
A maioria das opções de configuração é muito popular, como
set nocompatible ruler
etc. Opções muito boas para ter são:set gdefault
: inverte og
modos///g
- com essa opção/g
será usada por padrão, para que você não precise adicioná-lo todas as vezes - basta adicioná-lo para desativá-loset incsearch ignorecase smartcase hlsearch
: essencial para pesquisar arquivos - incremental, mostra correspondências em tempo real; a pesquisa ignora maiúsculas, a menos que você use letras maiúsculasset pastetoggle=<F6>
: ou outra tecla que você preferir, alterna entrepaste
enopaste
modos, uma obrigação se você copiar e colar algo de páginas da web como ServerFault :-)set noerrorbells visualbell t_vb=
: livre-se da campainha irritante ou visual sempre que fizer algo;)Funções, mapeamentos de teclado
cole seu nome de usuário e data atual em um arquivo, útil se você trabalha em equipe e adiciona comentários em arquivos sobre quem mudou algo quando. Basta escrever
xxsig
e pressionar espaço, ele será alterado para algo comoharnir 20090531
. Para que isso funcione corretamente com o root (ou seja, escreva seu nome de usuário em vez deroot
), é necessário fazer login usandosudo
.Inserir comentários "linhas", tipo
# -- Some title -------------------{{{1
, comprimento 78 caracteres - pressione\com#
no modo normal e pronto. Você estará automaticamente no modo Substituir para poder adicionar o título:Você pode facilmente modificá-lo para outros sistemas de comentários (
"
,//
, etc.), ou apenas verificar meu arquivo de configuração.Toque final
Se você possui seus arquivos de configuração no sistema RCS, às vezes pode querer incluir opções de configuração específicas para uma determinada máquina. Para isso, é bom ter um
~/.vimrc.local
arquivo, incluído automaticamente no final da configuração (se estiver presente, é claro).fonte
Não tenho certeza de que parte disso está relacionada especificamente ao administrador de sistemas, mas meus itens essenciais são:
Também sempre garanto que a máquina tenha acesso ao arquivo de destaque da sintaxe nginx .
fonte
Se você normalmente trabalha com um usuário, isso torna possível "canalizar" um arquivo para o sudo para que ele possa ser salvo.
use o comando:
para invocar o sudo e salvar o arquivo.
fonte
tee
vez decat
?Você também pode analisar esta pergunta do SO: O que há no seu vimrc ?
fonte
Plugue sem vergonha. Esta não é realmente uma alteração .vimrc, mas um plugin do VIM. Eu uso RCSVers em todas as versões instaladas do VIM. Basicamente, ele usa o comando RCS para salvar uma versão de qualquer arquivo que você editar. Você não sabe quantas vezes estraguei um arquivo de configuração apenas para que os RCSVers me salvassem, mostrando as alterações que fiz.
http://www.vim.org/scripts/script.php?script_id=563
fonte
Não use .vimrc para evitar o aprendizado do VIM
Como sei que muitos iniciantes do VIM lerão isso, a melhor sugestão que tenho é: "Não fique com preguiça e coloque entradas de mapa no seu .vimrc" Aprender maneiras não padronizadas de fazer as coisas no VIM fará com que você sinta que um total gimp quando você está sem o vimrc. A curva de aprendizado para o vi é íngreme, mas você não está fazendo nenhum favor a si mesmo escolhendo não aprender.
fonte
Pelo menos uma parte da minha resposta é igual à minha programação .vimrc:
Se pelo menos alguns arquivos que você está editando não estão no RCS, eles deveriam estar! :)
fonte
Desativando todos os modos de indentação "inteligentes". Ótimo para programação, inferno para arquivo de configuração.
fonte
Costumo usar strace para rastrear problemas estranhos. Como resultado, tentar destacar a sintaxe de algumas linhas pode ficar ridículo com uma cadeia de caracteres grande. Sendo esse o caso, eu uso o conjunto synmaxcol = 2048 para limitar a sintaxe destacada em 2048 colunas.
Eu também sou bastante fã do plugin taglist, que usa tags exuberantes. Até agora, fui capaz de contornar as binárias ctags compiladas e não encontrei nenhum problema de biblioteca. Isso rapidamente me permite navegar por qualquer código com o qual trabalho. Aqueles geralmente sendo Perl, Python ou C.
fonte