Vim equivalente ao Emacs C-i?

2

O Vim tem um comando equivalente ao Ctrl-I do Emacs?

O Emacs tem um atalho extremamente útil "C-I" que corrige o recuo da linha atual (ou linhas selecionadas).

Por exemplo, suponha que você escreva este pequeno código no Emacs:

    def foo
  print "boo"
end

e você está selecionando as 3 linhas inteiras. Você pressiona "C-I", então o código se torna

def foo
  print "boo"
end

Eu posso usar isso no modo silencioso, ou seja, ignorando. Emacs também. Alguém sabe como fazer isso no Vim?

    
por Culip 23.09.2010 / 22:12

4 respostas

4

No modo de inserção, Ctrl + F reinicializa a linha atual. A ligação de teclas pode ser alterada, definindo cinkeys

    
por 21.10.2010 / 07:24
3

talvez existam outras formas, mas tente:

=
    
por 23.09.2010 / 22:18
3

As respostas a esta pergunta: link oferece várias maneiras de recuar.

Você pode estar procurando ={ para recuar seu bloco de código atual.

    
por 24.09.2010 / 02:37
2

Obrigado por toda sua ajuda. Eu realmente gostei disso. Mas na verdade eu encontrei uma solução:

No vimrc , você verá o código abaixo em L37-39:

"if has("autocmd")
"  filetype plugin indent on
"endif

e, portanto, exclua " no início de cada linha para ativar essa configuração. Agora, o recuo automático e o trabalho de fixação de recuo!

Como Casual Coder diz, quando você quiser corrigir o recuo na linha atual, pressione = (no Emacs Ch.) Também você pode combinar isso com a seleção de comandos como gg=G (no Emacs, Cx h Ci) para o código inteiro, e Cv (Visual Block Mode) seria útil.

(O código de exemplo que escrevi na pergunta está escrito em Ruby . Meu Vim que baixei do repositório do Ubuntu vem com o arquivo de configuração de recuo do Ruby (/ usr / share / vim / vim72 / indent /ruby.vim) e assim você não precisa obter "vim-ruby".)

    
por 25.09.2010 / 10:01