Tag Archives: vim

Screencast #2 – Interessante plugin “vim-abolish”

Esse é o segundo screencast que eu faço para o blog e novamente é sobre Vim.
Esse ficou bem mais curto (tem apenas 5 minutos) e vai direto ao ponto. Espero que gostem!

Se quiserem ver o primeiro, o link é: http://blog.lucascaton.com.br/index.php/2011/12/13/screencast-1-17-dicas-para-o-vim/

Links relevantes:

Screencast:

(caso não consiga ver o vídeo, clique aqui)

Por favor, mandem feedback sobre o que acharam!

Getting root permissions on a file inside of Vim

Sometimes you open a file that you need root permissions to save it.
When it happen, you can close and reopen the Vim (with sudo) or you also can do:

:w !sudo tee %

Thanks to @dlisboa for the tip.

Vim Users BR

No mês passado, eu criei um grupo de discussões para usuários do editor Vim.

A idéia por trás da criação do grupo é que os usuários pudessem se envolver, compartilhar e discutir coisas interessantes relacionadas à esse fantástico editor. Comentar uma dica nova, um plugin interessante ou alguma técnica útil que pouca gente conheça, etc…

Segue o link do grupo:
https://groups.google.com/forum/?fromgroups=#!forum/vim-users-br

An easy way to split windows in Vim

There are several ways to split windows in Vim. This one is what I prefer:

cell-division

Screencast #1 – 17 dicas para o Vim

Finalmente terminei o primeiro screencast do blog. Espero que gostem! :-)

Por favor, mandem feedback do que acharam!

Como ordernar linhas no Vim

Comando sort – ordenar linhas

Algo que todo mundo que usa o editor Vim deve conhecer é o comando:

:sort

Ele ordena alfabeticamente as linhas de seu texto. Você também pode selecionar algumas linhas e ordernar apenas estas. Para isso, pressione shift-v para entrar no modo de seleção por linha, depois rode:

:'<,'>sort


Comando sort u – ordenar linhas excluindo as repeditas

Algo que uso muito também é o parametro u, o qual permite ordernar as linhas, mas excluindo as repetidas:

Antes:

Lucas
Lucas
Lucas
Catón
Catón

:sort u

Depois:

Catón
Lucas


Comando sort /regex/ – ordenar linhas utilizando alguma coluna

E hoje aprendi mais uma coisa realmente interessante ao ordenar um arquivo: como ordernar um texto usando alguma coluna:

Imagine o seguinte texto:

36993 vim 26M
39140 ssh 10M
34551 bash 17M


Nosso objetivo é ordenar pela terceira coluna. Para isto, basta rodar o comando sort passando uma expressão regular como parâmetro, a qual representa o que será ignorado pelo vim até começar a ordenação, ou seja, a partir da coluna que a expressão regular não “casar” mais, ele começará a ordenar. Sendo assim:

:sort /.\+\s.\+\s/

Essa expressão regular casa com [qualquer caracter em qualquer quantidade] + [um espaço] + [qualquer caracter em qualquer quantidade] + [um espaço], conforme representado abaixo:

36993 vim 26M
39140 ssh 10M
34551 bash 17M


O conteúdo depois disso será a chave para a ordenação.

Resultado:

39140 ssh 10M
34551 bash 17M
36993 vim 26M


Se quisessemos ainda ordernar pela segunda coluna:

sort /\d\{5\}\s/

Bom, é isso! Qualquer dúvida, postem nos comentários!
E se quiserem aprender mais sobre expressões regulares, vejam minha apresentação :-)

Como editar queries SQL com um editor de textos no console do PostgreSQL

Essa dica é pra quem usa PostgreSQL e quer editar suas queries dentro de algum editor de texto (como o Vim) sem sair do console do PostgreSQL. Isso é bastante útil quando você precisa rodar uma query complexa diretamente no console.

Primeiramente, verique qual é o seu editor de textos configurado na variável EDITOR:

$ echo $EDITOR
vim

No meu caso, meu editor padrão é o Vim.

Se você não tiver nenhum editor configurado, basta rodar (ou incluir isto no seu arquivo ~/bash_profile:

export EDITOR=vim

Depois, dentro do console do PostgreSQL, basta digitar \e:

psql (9.0.4)
Type "help" for help.

database_name=# \e

E o editor será aberto pra você digitar sua query SQL, o que torna mais confortável e organizado se suas queries forem complexas.

How to remove several lines in the Vim editor using Regex

A quick tip for those using the Vim editor: if you need to remove several lines that match your regular expression, just use the command:

:g /pattern/d

Example: If you want to remove the commented lines:

# this is a comment
def whatever
end

# this is another comment
def other_method
end

Just execute:

:g /^#.*/d

And then, your text will look like this:

def whatever
end

def other_method
end

My Vimfiles

Usage

Troubleshoot: Because of the large amount of submodules, if you ever have any trouble after pulling from the repository, it will be easier to just back up your old .vim folder and just git clone a new version.

Clone this repo into your home directory either as .vim (linux/mac) or vimfiles (Windows). Such as:

git clone git://github.com/lucascaton/vimfiles.git ~/.vim

Then ‘cd’ into the repo and run this to get the snippets submodule:

git submodule init
git submodule update

Now just copy (or symlink) the .vim/vimrc file as .vimrc (Mac/Linux) or copy as _vimrc (Windows) in your home directory. In Mac and Linux, the
easiest thing to do is:

ln -s ~/.vim/vimrc ~/.vimrc

If you already have a custom .vimrc file, append the following lines to load everything else along with your personal hacks:

source ~/.vim/vimrc      "linux
source ~/vimfiles/vimrc  "windows

Project source: https://github.com/lucascaton/vimfiles