Recursos e extensão do Vim que tornam seu trabalho mais fácil [fechado]

3

Quais recursos e extensão do Vim você usa? Qual você recomendaria para um administrador de sistema Linux?

    
por Alakdae 31.05.2009 / 23:57

13 respostas

10

Esta provavelmente não será a opinião predominante, mas eu uso baunilha vim. Eu não uso nenhum recurso especial (além de realce de sintaxe e numeração de linhas), mas é ótimo, porque eu posso ir a qualquer máquina Unix e me sentir em casa com qualquer vi que esteja rodando.

    
por 01.06.2009 / 00:02
6

Eu sinto que o poder do vim para um administrador de sistema é que ele está em todo lugar e você pode imediatamente começar a usá-lo. É por isso que escolhi não personalizar meu vim.

Dito isto, aqui está um pequeno .vimrc que eu tenho a tendência de copiar:

set background=dark
syntax on
set showmatch
set ruler
set softtabstop=4
set sw=4
set tabstop=4
set expandtab
set autoindent
set pastetoggle=<F8>

As coisas das abas são apenas porque eu uso muito o Python, e espaços em branco importam lá =)

    
por 01.06.2009 / 00:03
4

Eu li um livro sobre vim (Learning the vi editor) da O'Reilly, e isso era tudo de que eu precisava. Um par de coisas que eu tirei disso que eu uso o tempo todo ...

1) armazenando macros. Aperte a tecla 'q', então a tecla que você quer vincular, então faça o comando, e aperte 'q' novamente. Então, se você apertar '@key', ele executará esse comando. Se você apertar '@@', ele executará o último comando. Eu amo isso por "juntando todas as outras linhas" às vezes: sua macro é '^ Jj' (vá para o início da linha, junte a linha, vá para a próxima). Então, faça '@j' (j é minha macro key para isso). Então, basta segurar a tecla '@'. Ele vai juntar todas as linhas com o próximo, mover para baixo, fazer de novo, etc.

2) Divisão de janelas. Digite ': sp' (divisão horizontal) ou ': vsp' (divisão vertical). Vai dividir a janela. Você pode então mover entre janelas com Ctrl + w [hjkl] para mover para a direita, para baixo, para cima ou para a esquerda, respectivamente. ZZ ou: saia para fechar a janela. : e para abrir outro arquivo. Especialmente útil para diffs (divisão vertical) ou qualquer outra coisa (copiar / colar para facilitar).

3) Se você codifica, dobrar é fantástico. Folding, basicamente, fecha ou abre segmentos entre os marcadores. Determinar os marcadores pode ser feito manualmente, por regex, por ... o que for. Google "dobrando no vim" e você deve ter alguns bons tutoriais.

    
por 01.06.2009 / 00:28
3

Na minha opinião, aqui estão algumas das opções que eu vou definir manualmente se eu não tiver um .vimrc em um servidor em particular:

set ic
set sc
set incsearch

que fornecem:

  1. pesquisa insensível a maiúsculas
  2. pesquisa inteligente, sem distinção entre maiúsculas e minúsculas, de modo que a diferenciação de maiúsculas e minúsculas esteja ativada se você procurar um padrão usando caracteres com letras maiúsculas e minúsculas
  3. ative os resultados de pesquisa incrementais, onde as correspondências são destacadas enquanto o texto está sendo inserido

Ao colar texto em vim com recuo automático ativado, qualquer espaço em branco inicial nos caracteres colados pode levar a problemas de formatação em que o nível de recuo de texto aumenta com cada linha. Nesse caso, simplesmente emita o seguinte comando:

set paste

e a formatação do texto não sofrerá mais com o problema de recuo.

A emissão de um set nopaste desativará esse modo.

O modo visual também é incrivelmente útil, permitindo selecionar blocos de texto que podem ser removidos, excluídos, transformados, etc.

Para entrar no modo visual de linha, pressione shift + v e as teclas de movimento padrão para cima / para baixo selecionam linhas de texto.

Para entrar no modo visual de personagem, pressione ctrl + v e as teclas de movimento para esquerda / direita / para cima / para baixo permitirá que um selecione blocos de texto.

Outro recurso comum que uso: selecionando texto, em seguida, pressionando gq para formatá-lo em linhas quebradas com 78 caracteres. Isso é particularmente útil quando edito artigos da Wiki usando o plug-in do Firefox "Its All Text".

    
por 01.06.2009 / 06:45
2

Se estamos falando de recursos, você não pode passar pela facilidade de pesquisa e substituir por :s/../.../[g] . É claro que conhecer expressões regulares é uma necessidade absoluta para aproveitar ao máximo esse recurso.

E se você codificar com alguma regularidade, a capacidade de usar a tecla '#' para encontrar a instância anterior de uma string é uma enorme economia de tempo.

    
por 01.06.2009 / 01:17
2

Todo mundo está dizendo que eles evitam usar um .vimrc porque eles estão em servidores diferentes o tempo todo. Eu nunca estive em um servidor que não tenha wget instalado. Coloque o seu .vimrc no github e é tão simples como:

wget -O ~/.vimrc http://github.com/lucasoman/Conf/raw/master/.vimrc

Dito isso, :set number para ativar números de linha e :syntax on para permitir o realce tornará o vim um pouco mais amigável. Além disso, aprenda os objetos de texto .

    
por 11.06.2010 / 20:26
1

Eu acho as guias no vim bastante úteis. Novo arquivo na aba é aberto por: tabe e navegação entre abas é feito usando: tabprev e: tabnext. Você pode adicionar as seguintes linhas ao seu .vimrc para poder navegar entre as guias com as teclas alt + seta

map <silent><A-Right> :tabnext <CR>
map <silent><A-Left> :tabprev <CR>

Você pode encontrar mais informações sobre guias aqui: www.linux.com/archive/articles/59533

    
por 01.06.2009 / 09:31
0
au FileType c    set foldmethod=indent
au FileType c    map <F5> :w<CR>:!make<CR>
au FileType c    map! <F5> <ESC>:w<CR>:!make<CR>
    
por 01.06.2009 / 01:25
0

Eu mudei bastante para o TextMate como minha estação de trabalho é um Mac, e a maior parte da minha 'administração' é infra-estrutura de programação com Ruby.

No entanto, ainda uso muito o Vim quando estou conectado aos servidores. Eu uso alguns plugins para facilitar a minha vida.

Eu uso a configuração do Vim compartilhada pelo nosso CTO , com algumas modificações minhas (desabilitar hlsearch, mude o esquema de cores, principalmente).

    
por 01.06.2009 / 08:22
0

Esses dois comandos lembrarão detalhes de todos os arquivos que você abrir no sistema. Além disso, também salvará os dados armazenados em um dos registros do Vim (basicamente uma área de transferência).

" Reopen files where we left off
if has("autocmd")
  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
    \| exe "normal! g'\"" | endif
endif

" Remember for 100 files: (also save every register with <1000 lines), but not for files in /mnt or /media. Save to ~/.viminfo
set viminfo='100,s1000,r/mnt,r/media,n~/.viminfo
    
por 01.06.2009 / 08:29
0

Eu tento não usar nenhuma opção específica do vim, porque eu ainda tropeço em sistemas que possuem apenas o vi. A única exceção é Ctrl + V para operações de texto "em coluna".

Dito isto ... Para executar o arquivo atual (não buffer) você apenas:

:!%

Para executar o buffer para a entrada padrão do interpretador (sem salvar primeiro um arquivo):

:w !/bin/sh

Também pode ser usado com python, perl -w, etc.

Uma técnica super útil é filtrar um buffer por meio de um comando externo:

1G!Ggrep -v unwanted_regex

(copiei minha resposta de outra pergunta vi ).

    
por 13.04.2017 / 14:14
0

Eu vivo e respiro por este comando:

:se nowrap

Quando o código é colocado na próxima linha, ele se torna ilegível e incompreensível - sem mencionar a linha que fica confusa.

De todos os recursos do vim, este é o único que eu realmente me encontro do vi.

    
por 23.06.2009 / 20:30
0

Sou um ex-usuário do TextPad e já memorizei muitas das teclas aceleradoras do programa. Uma das primeiras coisas que fiz no Vim foi aprender a função do mapa para manter a consistência (F5 search, F8 replace, etc.). Eu criei meu esquema de cores pessoal e pedi emprestado um monte de arquivos vimrc de outros. Viva Vim! Configurável em qualquer grau.

    
por 29.03.2010 / 15:23

Tags