Ir para o conteúdo
pmg

Configurar o tamanho dos tabs no Vim

Mensagens Recomendadas

pmg

O topico iniciou-se no quadro de C, onde é off-topic. Copiei as partes relevantes das mensagens do topico inicial para este topico (deixando-as la ficar) :-)

Como altero o tamanho das tabulações no vim???
Experimenta

:help tabstop

essas definições são para colocar no .vimrc ou para exercutar em modo normal dentro do vim?
Mete no .vimrc
O nowrap, o expandtab e o shiftwith fazem o quêm em concreto???

O nowrap faz com que as linhas mais compridas do que o ecra continuem para fora do ecra em vez de "virarem para baixo" e continuarem na linha seguinte

O expandtab converte os tabs do teclado em espacos. Tambem insere (ou remove) espacos quando se usa > (ou >) para indentar linhas

o shiftwidth é usado com o autoindent: é o numero de espacos que o autoindent usa para indentacao automatica (por exemplo com 'gg=G')


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n

Não percebi a parte sublinhada em Tambem insere (ou remove) espacos quando se usa > (ou >) para indentar linhas.

Já li essa parte dos gg e G no vimtutor mas li assim na diagonal... Não estou a par do significado disso...

O comando set autoident não é reconhecido.

Qual é a vantagem de converter tabs em espaços?

Editado por PsySc0rpi0n

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Não percebi a parte sublinhada em Tambem insere (ou remove) espacos quando se usa > (ou >) para indentar linhas.

Eu queria dizer ".. quando de usa >> (ou <<) ..." para indentar linhas

O comando set autoident não é reconhecido.

Oops, my bad. Eu ja devia saber que escrever codigo directamente no editor do P@P origina problemas -- faltou-me um n. O setting que eu uso é "set autoindent".

Qual é a vantagem de converter tabs em espaços?

É uma questao de gostos. Eu configurei o meu vim para evitar tabs a todo o custo porque nao gosto deles; se gostas de tabs nao configures o teu vim da mesma forma que o meu!!!!


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n

Eu queria dizer ".. quando de usa >> (ou <<) ..." para indentar linhas

Oops, my bad. Eu ja devia saber que escrever codigo directamente no editor do P@P origina problemas -- faltou-me um n. O setting que eu uso é "set autoindent".

É uma questao de gostos. Eu configurei o meu vim para evitar tabs a todo o custo porque nao gosto deles; se gostas de tabs nao configures o teu vim da mesma forma que o meu!!!!

É costume usarem os símbolos « e » para identar code como? Não entendi...


Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Quando, em modo normal, carregas em '>>' (duas vezes o >) a linha em que esta o cursor indenta uma vez (com '<<' desindenta).

Tambem podes dar o comando a um conjunto de linhas e assim so precisas de um sinal para (des)indentar

// indenta duas vezes as 17 linhas da 12 a 28
:12,28>>

Se seleccionares o texto a (des)indentar com 'v' tambem podes (des)indentar so com um sinal

  • Voto 1

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

No vim, há diversos comandos com o vim relacionados com a tabulação. Eis a explicação de alguns.

softtabstop o que ele faz é utilizar tabs e espaços até atingir o valor definido para o softtabstop. Ou seja, o espaço que o '\t' ocupa até pode ser inferior ao definido par ao softtabstop, mas quando introduzimos uma tabulação, o vim vai preencher o resto do espaço com uma quantidade de caracteres de tabulação e espaços necessários para ocupar o espaço definido no softtabstop.

tabstop define o número de espaços que um '\t' significa.

shiftwidth é o número de espaços que será utilizado para indentação de código.

expandtab vai provocar a utilização de espaços em vez de tabs.

retab provoca a actualização do ficheiro com novas configurações.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n

Outra coisa...

Por exemplo, eu tenho um file chamado default.c que tem os headers e a função main e mais umas merditas escritas que uso em todos os programas que é para evitar estar a escrever os includes, a função main, etc etc...

Quando abro este file com o vim, depois faço :w nome_do_novo_file.c mas tenho que sair do file em que estou (default.c) pra depois abrir o file que acabei de criar, senão, quando gravar as alterações que fiz, ele grava no file default.c e não no nome_do_novo_file.c que gravei...

Dá para contornar isto?


Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

Outra coisa...

Por exemplo, eu tenho um file chamado default.c que tem os headers e a função main e mais umas merditas escritas que uso em todos os programas que é para evitar estar a escrever os includes, a função main, etc etc...

Quando abro este file com o vim, depois faço :w nome_do_novo_file.c mas tenho que sair do file em que estou (default.c) pra depois abrir o file que acabei de criar, senão, quando gravar as alterações que fiz, ele grava no file default.c e não no nome_do_novo_file.c que gravei...

Dá para contornar isto?

:seveas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
PsySc0rpi0n

Não percebi bem se se usa

:sav filename

Ou se se usa

:saveas filename

E o

!

é smepre necessário entre o comando e o nome do file?


Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

Não percebi bem se se usa

:sav filename

Ou se se usa

:saveas filename

:sav é a parte obrigatória. Os restantes caracteres são opcionais.

E o

!

é smepre necessário entre o comando e o nome do file?

Só quando o ficheiro onde queres gravar já existia.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
falco

Quando abro este file com o vim, depois faço :w nome_do_novo_file.c mas tenho que sair do file em que estou (default.c) pra depois abrir o file que acabei de criar, senão, quando gravar as alterações que fiz, ele grava no file default.c e não no nome_do_novo_file.c que gravei...

Dá para contornar isto?

Não se percebe nada do que tás a dizer. Porque logo para começar estás a falar em duas línguas diferentes e porque dizes: deste, daquele e outro; sem que se perceba a quais te estás a referir.

Contudo no vim não é preciso sair de nenhum ficheiro para gravar o que quer que seja, porque o vim pode editar multiplos ficheiros ao mesmo tempo... Porque o vim até suporta tabs (sim como os browsers web).

Ou seja, se quiseres criar um novo ficheiro, ou copias o novo ficheiro para a nova localização antes de o editares (que era algo muito mais inteligente), ou abres o ficheiro que já tinhas e abres uma nova tab (:tabnew), copias o conteúdo do ficheiro antigo para o novo e gravas o novo com o nome que quiseres.

Para ao editares um ficheiro guardares esse buffer num outro ficheiro podes sempre fazer: w! novo_ficheiro.

Ou então abres o ficheiro antigo, gravas o mesmo buffer com outro nome (w: novo_ficheiro), depois passas a editar o outro ficheiro (e: novo_ficheiro) e depois, como já estás a editar o novo ficheiro, basta-te fazer ":w", para gravares no novo ficheiro.

O vim só faz o que lhe pedires e por causa disso, se pedires para ele criar um novo ficheiro, ele cria, mas só o vai editar se o mandares editar.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.