Vim

Busca

/texto: Procura pela palavra “texto” do início para o fim do arquivo
?texto: Procura pela palavra “texto” do fim para o início do arquivo
/Mari[oa]: Procura por “Mario” ou “Maria”
/\<pal: Procura por expressões que começem com “pal” como, “palavra” ou “palíndromo”
/ismo\>: Procura por expressões que terminem com “ismo” como, “autismo”
/\<…\>: Procura por todas as palavras com 3 letras
/maria\|joao: Procura por maria ou joao
/\<\d\d\d\d\>: Procura exatamente por 4 dígitos numéricos
/^\n\{3}: Procura por três linhas em branco
:bufdo /palavra/: Procura “palavra” em todos os arquivos abertos

Substituição

:%s/antigo/novo/g: Substitui todas as ocorrências de “antigo” por “novo” no arquivo
:%s/antigo/novo/gw: Substitui todas as ocorrências com confirmação
:2,35s/antigo/novo/g: Substitui todas as ocorrências entre as linhas 2 e 35
:5,$s/antigo/novo/g: Substitui todas as ocorrências da linha 5 até o fim da linha
:%s/^/legal/g: Substitui o começo de cada linha com “legal”
:%s/$/Oh/g: Substitui o fim de cada linha por “Oh”
:%s/antigo/novo/gi: Substitui “antigo” por “novo” desconsiderando maíusculas e/ou minúsculas
:%s/ *$//g: Apaga todos os espaços em branco
:g/palavra/d: Apaga todas as linhas contendo “palavra”
:v/palavra/d: Apaga todas as linhas que não contém “palavra”
:s/maria/joao/: Substitui a primeira ocorrência de “maria” por “joao” na linha corrente
:s/maria/joao/g: Substitui todas as ocorrências de “maria” por “joao” na linha corrente
:%s/maria/joao/g: Substitui “maria” por “joao” em todo o arquivo
:%s/\r//g: Apaga retornos de carro do windows (\n)
:%s/\r/\r/g: Transforma os retornos de carro do windows (\n) em retornos do Linux (\r)
:%s#<[^>]\+>##g: Apaga tags HTML mas mantêm o texto
:%s/^\(.*\)\n\1$/\1/: Apaga linhas repetidas
Ctrl+a: Incrementa o número sob o cursor
Ctrl+x: Decrementa o número sob o cursor
ggVGg?: Muda o texto usando Rot13

Minúsculo/Maiúsculo

Vu: Torna todos os caracteres da linha minúsculos
VU: Torna todos os caracteres da linha maiúsculos
g~~: Inverte os caracteres do texto inteiro
vEU: Coloca as letras da palavra em maiúsculas
vE~~: Inverte os caracteres da palavra selecionada
guG: Coloca todo o texto em minúsculas do ponto em que está até o fim do arquivo

gUG: Colota todo o texto em maiusculasdo ponto em que está até o fim do arquivo
:set ignorecase: Ignora minúsculos/maiúsculos nas buscas
:set smartcase: Ignora minúsculos/maiúsculos em buscas exceto quando uma letra msiúscula é usada
:%s/\<./\u&/g: Coloca a primeira letra de cada palavra em maiúscula
:%s/\<./\l&/g: Coloca a primeira letra de cada palavra em minúscula
:%s/.*/\u&: Coloca a primeira letra de cada linha em maiúscula
:%s/.*/\l&: Coloca a primeira letra de cada linha em minúscula

Lendo/Gravando arquivos

:1,10 w arquivo: Salva as linhas de 1 a 10 em “arquivo”
:1,10 w >> arquivo: Adiciona as linhas de 1 a 10 em “Arquivo”
:r arquivo: Insere o conteúdo de “arquivo” no atual
:23r arquivo: Insere o conteúdo de “arquivo” a partir da linha 23

Explorando arquivos

:e .: Abre o gerenciador de arquivos integrado do Vim
:Sex: Divide a janela e abre o gerenciador de arquivos integrado
:browse e: Abre o gerenciador de arquivos integrado na janela corrente
:ls: Lista os buffers carregados
:cd ..: Move para a pasta superior
:args: Lista os arquivos
:args *.php: Abre lista de arquivos
:grep expressao *.php: retorna uma lista de arquivos .php que contenham a expressão informada
gf: Abre o arquivo sob o cursor

Interação com o Linux

:!pwd: Executa o comando “pwd” e retorna para o Vim
!!pwd: Executa o comando “pwd” e insere a saída no buffer
:sh: Retorna temporariamente para o shell
exit: Retorna para o Vim

Alinhamento

:%!fmt: Alinha todas as linhas
!}fmt: Alinha todas as linhas a partir da posição corrente
5!!fmt: Alinha as próximas 5 linhas

Abas

:tabnew: Cria uma nova aba
gt: Mostra a próxima aba
:tabfirst: Mostra a primeira aba
:tablast: Mostra a última aba
:tabm n(posicao): Reorganiza as abas
:tabdo %s/foo/bar/g: Executa um comando em todas as abas
:tab ball: Coloca todos os arquivos abertos em abas

Divisão da janela do Vim

:e arquivo: Edita “arquivo” na janela corrente
:split arquivo: Divide a janela e abre “arquivo”
ctrl-w “seta para cima”: Coloca o cursor na janela do topo
ctrl-w ctrl-w: Coloca o cursor na próxima janela
ctrl-w_: Maximiza a janela corrente
ctrl-w=: Coloca todas as janelas com o mesmo tamanho
10 ctrl-w+: Adiciona 10 linhas de tamanho na janela corrente
:vsplit arquivo: Divide a janela verticalmente
:sview arquivo: O mesmo que split, mas em modo somente-leitura
:hide: Fecha a janela corrente
:only: Fecha todas as janelas, exceto a janela atual
:b 2: Abre #2 na janela corrente

Auto-completion do texto

Ctrl+n Ctrl+p (em modo de inserção): Completa palavra
Ctrl+x Ctrl+l: Completa linha
:set dictionary=dict: Define dict como o dicionário atual
Ctrl+x Ctrl+k: Completa usando o dicionário

Marcações

mk: Marca a posição corrente como k
‘k: Move o cursor para a marca k
d’k: Apaga tudo até a marca k

Abreviações

:ab email me@me.com: Define email como abreviação de me@me.com

Identação de Texto

:set autoindent: Liga a identação automática
:set smartindent: Liga a identação inteligente
:set shiftwidth=4: Define o tamanho da identação em 4 espaços
ctrl-t, ctrl-d: Identa/Deidenta no modo de inserção
>>: Identa
<<: Deidenta

Marcação de sintaxe

:syntax on: Liga a marcação de sintaxe
:syntax off: Desliga a marcação de sintaxe
:set syntax=perl: Força a usar a marcação de sintaxe do perl

fonte:aqui

Adicionar um segundo IP no Ubuntu /etc/network/interfaces

Há situações em que você deseja ou precise de um segundo IP em sua interface de rede, por exemplo, quando você está instalando um firewall (neste caso é melhor ter duas placas de rede, mas você pode fazê-lo com apenas uma)

Vamos supor que você já tem um sistema funcionando e já tenha um IP.

Vamos adicionar o segundo IP, e usar o mesmo comando especificando um NIC virtual

sudo ifconfig eth0:0 192.168.1.2 netmask 255.255.255.0 up

Pronto já temos uma interface virtual, mas para tornar as alterações permanentes, edite o arquivo /etc/network/interfaces

Lá você já pode ver alguma coisa como isto….

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 10.1.1.2
    network 10.1.1.0
    netmask 255.255.255.0
    broadcast 10.1.1.255
    gateway 10.1.1.1

Mude isso para:

auto lo
iface lo inet loopback

auto eth0 eth0:0
iface eth0 inet static
    address 10.1.1.2
    network 10.1.1.0
    netmask 255.255.255.0
    broadcast 10.1.1.255
    gateway 10.1.1.1

iface eth0:1 inet static
    address 192.168.1.2
    network 192.168.1.0
    netmask 255.255.255.0

Se você quiser especificar o gateway também aqui, faça desta maneira.

auto lo
iface lo inet loopback 

auto eth0 eth0:0
iface eth0 inet static
    address 10.1.1.2
    network 10.1.1.0
    netmask 255.255.255.0
    broadcast 10.1.1.255
    gateway 10.1.1.1
    up route add default gw 10.1.1.1
    down route del default gw 10.1.1.1

NIC # Segundo o mesmo IP

iface eth0:0 inet static
    address 192.168.1.2
    network 192.168.1.0
    netmask 255.255.255.0

Pronto suas interfaces ja estão funcionando permanente, caso reinicie o sistema as configurações já seram aplicadas.

Simulador de Redes linux

Welcome to Virtual Network User-Mode-Linux (VNUML) web server

VNUML (Virtual Network User Mode Linux) é uma ferramenta open-source de virtualização de propósito geral concebido para rapidamente definir e testar cenários complexa rede de simulação com base no User Mode Linux (UML) virtualização de software. VNUML é uma ferramenta útil que pode ser usado para simular cenários geral Linux rede baseada. O seu objectivo é ajudar a testar as aplicações e serviços de rede sobre bancos de ensaio complexo feito de vários nós (mesmo décimos) e redes dentro de uma máquina Linux, sem a participação dos investimentos e da complexidade de gestão necessárias para criá-los usando o equipamento real.

Desde o seu desenvolvimento no final de 2002, VNUML tem sido amplamente utilizada em diversos domínios relacionados com redes e informática. Encaminhamento arquiteturas (como o IX IPv6 desenvolvida no projeto de pesquisa Euro6IX IST), plataformas IP multimídia e serviço de segurança lógica são algumas das suas actividades de investigação e desenvolvimento de aplicações (ver secção referências para mais alguns detalhes). Além disso, VNUML é amplamente utilizado no ensino superior (universidades e colégios técnicos) para construir laboratórios de formação para os alunos.

VNUML ferramenta é constituída por duas componentes principais: a linguagem usada para descrever VNUML simulações em XML, e do intérprete da língua (comando vnuml), que constrói e gerencia o cenário esconder todos os detalhes UML complexo para o usuário.

VNUML foi originalmente desenvolvido pelo Departamento de Engenharia de Sistemas Telemáticos (DIT) da Universidad Politécnica de Madrid (UPM), em Espanha. Desde Janeiro de 2008, o desenvolvimento VNUML está sendo parcialmente financiado pelo Business Oriented Infrastructure (IVO), uma iniciativa de investigação no âmbito do Bussiness Support Systems (BSS), unidade da Telefónica I + D.

Este software é disponibilizado sob GNU Public Licence. Desde julho de 2004, o projeto é parcialmente hospedado no SourceForge.net. Visite o site VNUML no SourceForge.

Image:tutorial_user1.png

Site: Link

Acima ↑