Configuração do Vim para edição no lado do servidor

1

Eu sempre uso o Vim nos nossos servidores (principalmente baseados no Ubuntu) e sempre me falta uma boa configuração que combine com o vim sobre o SSH sem muita frescura.

Gostaria de reunir o máximo possível de configurações para alguém que escreve principalmente código bash, zsh e ruby diretamente no servidor.

    
por kolrie 20.08.2009 / 05:59

5 respostas

1

A melhor coisa que aprendi recentemente é usar jj em vez de <esc> para entrar no modo normal:

imap jj <Esc>

Além disso, se você usar divisões por meio do comando split (terminal alto) ou vsplit (terminal largo), o remapeamento do comando switch-split será inestimável; Eu uso , (vírgula) para alternar entre minhas divisões:

map , <C-w><C-w>

Confira as principais perguntas para o vim no Stack Overflow, também.

    
por 20.08.2009 / 07:58
0

Eu uso o seguinte basicamente em todos os sistemas que uso. Eu não tenho me esforçado muito para modificá-lo. Eu uso vim como uma ferramenta de edição de configuração, em uma grande variedade de servidores, mas eu não costumo fazer muito desenvolvimento no vim nos dias de hoje

set modeline
set background=dark
set autowrite
nmap <tab> :bn<cr>
nmap <s-tab> :bp<cr>

As opções do nmap me permitem usar tab e shift-tab para alternar entre vários buffers abertos, o que acho muito valioso.

    
por 20.08.2009 / 07:19
0

Verifique os .vimrc e .vim de os arquivos de ponto de dakrone .

    
por 20.08.2009 / 10:00
0

O seguinte é o meu .vimrc, que se concentra strongmente em funções IDE perl, mason e javascript, mas você pode adaptar o que você vê aqui para especificidades do ruby / sh. Estive usando por vários anos sobre SSH. Fora do contexto do IDE, os backups automáticos salvaram minha bunda mais de uma vez.

" Embedded() is a function that will parse a text buffer 
" looking for embedded vim commands, and execute them.
" Call it with a range of lines to check, eg to check the whole 
" file:
" 
"  :%call Embedded() 
"
" Commands should be prefixed by the sequence :vim: .
"
function Embedded() range
    let n = a:firstline
    while n <= a:lastline
        let l = getline(n)
        let p = stridx(l,':vim:')
        if p > -1
            let p = p + 5 
            let c = strpart(l,p)
            execute c
        endif   
        let n = n + 1 
    endwhile 
endfunction
" call Embedded() whenever a file is loaded and 
" parse the entire file.  You may not want to do 
" this for *; maybe just your src tree or certain 
" file types or something.
autocmd BufWinEnter * %call Embedded()

" Create nested folds on custom expressions, based 
" on the current buffer's filetype or syntax. 
"
let g:foldlevel = 0 
let g:foldstartexpr = ''
let g:foldendexpr   = ''
function GetCustomFold()
    if getline(v:lnum) =~ g:foldstartexpr
        let g:foldlevel = g:foldlevel + 1 
        return ">".g:foldlevel
    elseif getline(v:lnum) =~ g:foldendexpr
        let thislevel = g:foldlevel
        let g:foldlevel = g:foldlevel - 1 
        return "<".thislevel
    else
        return g:foldlevel
    endif
endfunction
function SetFoldType()
    let f = &filetype ? &filetype : &syntax
    if f == 'mason'
        let g:foldstartexpr = '^\s*<\(script\|style\|%init\|%attr\|%once\|%args\|%flags\|%shared\|%def\)[^>]*>\s*$'
        let g:foldendexpr   = '^\s*</\(script\|style\|%init\|%attr\|%once\|%args\|%flags\|%shared\|%def\)[^>]*>\s*$'
    elseif f == 'perl'
        let g:foldstartexpr = '^sub.*{\s*$'
        let g:foldendexpr   = '^}\s*$'
    elseif f == 'javascript'
        let g:foldstartexpr = '^function.*{\s*$'
        let g:foldendexpr   = '^}\s*$'
    else
        return
    endif
    setlocal foldexpr=GetCustomFold()
    setlocal foldmethod=expr
endfunction
autocmd BufWinEnter * %call SetFoldType()

function SetPerlIDE()
    " check perl code with :make
    setlocal makeprg=perl\ -c\ %\ $*
    setlocal errorformat=%f:%l:%m
    setlocal autowrite

    " comment/uncomment blocks of code (in vmode)
    map ^C :s/^/#/gi<Enter>
    map ^X :s/^#//gi<Enter>

    " my perl includes pod
    let perl_include_pod = 1

    " syntax color complex things like @{${"foo"}}
    let perl_extended_vars = 1

    " Tidy selected lines (or entire file) with _t:
    nnoremap <silent> _t :%!perltidy -q<Enter>
    vnoremap <silent> _t :!perltidy -q<Enter>

    " perlcritic selected lines (or entire file) with _p:
    nnoremap <silent> _p :%!perlcritic -q<Enter>
    vnoremap <silent> _p :!perlcritic -q<Enter>
endfunction
autocmd FileType perl call SetPerlIDE()


" map II :r ~/.vim/template.pod<CR>

set tabstop=4
set number
set showmatch
set ruler
set backup
set backupdir=~/.vim/backups
set directory=~/.vim/backups
set tags=~/.vim/tags

set backupskip=/tmp/*,/private/tmp/*"

" we get colors, we get lots and lots of colors
syntax on
set bg=dark
colors darkblue
    
por 11.09.2009 / 16:53
0

pequeno trabalho em volta de mim u pode gostar se você estiver usando vim

Passo 1: Baixe a última versão do plugin do vim.org

Baixe o plugin do vim.org

$ cd / usr / src $ wget -O mru.vim link

Passo 2: Instale o plugin MRU vim

$ mkdir ~ / .vim # se o diretório ainda não existir $ cd ~ / .vim / plugin / $ cp /usr/src/mru.vim.

7 recursos poderosos do MRU.vim

Depois de instalar este plug-in, sempre que você abrir um arquivo para leitura ou gravação, ele será adicionado à lista MRU. 1. Veja os arquivos usados mais recentemente no Editor Vi / Vim

: MRU

Nota:: MRU (maiúsculas) funciona. : mru (minúscula) não funciona.

: O MRU exibirá os arquivos "usados mais recentemente", ordenados pelo uso recente de cima para baixo, conforme mostrado abaixo. Para abrir um arquivo, pressione ENTER enquanto o cursor estiver no nome desse arquivo. Fig: Editor Vim exibindo a lista "Recent Documents"

Fig: Editor Vim exibindo a lista "Documentos recentes"

Nota: Imediatamente após a instalação do plug-in MRU, talvez você não veja nenhum arquivo na lista MRU. Use o editor Vim para abrir alguns arquivos depois de instalar o plugin, para que a lista MRU cresça. 2. Como aumentar a contagem de listas MRU? (Aumentar o número de arquivos armazenados)

Por padrão, a lista MRU armazena apenas os últimos 10 arquivos usados. Adicione a seguinte linha ao seu ~ / .vimrc para aumentar este limite como mostrado abaixo.

$ cat ~ / .vimrc deixe MRU_Max_Entries = 20

  1. Como pesquisar arquivos dentro da lista de MRU

Quando você aumenta o número de arquivos, pode ser difícil percorrer a lista MRU para escolher o arquivo que está procurando. Em vez disso, você pode usar os comandos normais do Vim para pesquisar dentro da lista MRU. Então você pode dar (barra) / e dar um padrão para pesquisar.

No exemplo a seguir, a lista MRU era muito longa. Eu fiz um “/ yum”, que moveu o cursor automaticamente para a entrada do /etc/yum.conf MRU. Pressionando enter, irá abrir este arquivo. Fig: Pesquise na lista MRU usando /

Fig: Pesquise na lista MRU usando /

Você também pode usar a funcionalidade de pesquisa MRU, conforme explicado abaixo.

* Enter the partial file name and press TAB which will fill the file name, which you can open by pressing enter,
* Enter one or two characters of the file name or the path name, and press tabs to rotate around the file names.
  1. Abrindo arquivos da lista MRU em uma nova guia

Pressionar enter em uma entrada MRU abrirá o arquivo na mesma janela por padrão. Ele será aberto em uma nova janela se o arquivo aberto na janela atual ainda não estiver salvo.

* To open the file from the MRU entry in a new Tab , press ‘t’ when the cursor is on a file name in MRU window.
* :tabn will take you to the next tab
* :tabp will take you to the previous tab
  1. Atualize a janela do MRU

Para atualizar a janela atual do MRU, pressione ‘u’. Sempre que abrir a janela do MRU, o novo conteúdo será aberto sempre. 6. Excluindo certos arquivos usando MRU_Exclude_Files

Para excluir determinados arquivos da exibição no MRU, você pode armazenar o regex na variável MRU_Exclude_Files como:

$ cat ~ / .vimrc deixe MRU_Exclude_Files = '^ / tmp /. \ | ^ / var / tmp /.' "Para Unix

O acima irá excluir o / tmp e / var / tmp de serem armazenados no MRU. 7. Incluindo certos arquivos usando MRU_Include_Files

Para incluir apenas determinados tipos de arquivos no MRU, você pode armazenar o regex na variável MRU_Include_Files, conforme mostrado abaixo. Isso incluirá apenas os arquivos que estão em / home / ramesh para serem armazenados no MRU.

$ cat ~ / .vimrc deixe MRU_Include_Files = '^ / home / rajat /.*'

    
por 11.09.2009 / 17:19

Tags