Vim equivalente a Emacs C-i?


2

Vim ha un comando equivalente a Ctrl-I di Emacs?

Emacs ha una scorciatoia estremamente utile "C-I" che corregge il rientro della riga corrente (o delle linee selezionate).

Ad esempio, supponiamo di scrivere questo piccolo codice su Emacs:

    def foo
  print "boo"
end

e stai selezionando tutte e 3 le linee. Si preme "C-I", quindi il codice diventa

def foo
  print "boo"
end

Posso usare questo in modalità silenziosa, ignorando. Anche Emacs. Qualcuno sa come farlo su Vim?

Risposte:


4

In modalità di inserimento Ctrl + F reindividua la riga corrente. La combinazione di tasti può essere cambiata impostando cinkeys


1
[in modalità INSERT] Wow, non lo sapevo! Grazie mille!
Culip

3

forse ci sono altri modi ma prova:

=

Grazie per la tua rapida risposta, ma "=" mette solo la stessa lunghezza di indentazione (o nessuno?) In tutta la linea. Sto cercando il modo di inserire una lunghezza adeguata di rientranze come nell'esempio.
Culip

= è il modo standard per i linguaggi di tipo C, ma sembra che tu stia usando un linguaggio più simile a Python, che di solito richiede alcune impostazioni extra, come qui: henry.precheur.org/vim/python
Karl Bielefeldt

Credo che gli uguali dovrebbero fare il trucco, ma devi avere la corretta impostazione del metodo di indentazione. Check out: help index.txt Fornisce una rapida panoramica delle varie impostazioni di rientro. Potrebbe comunque essere necessario effettuare anche il check-out: help ft-python-indent. Non penso che dovresti aver bisogno di plugin aggiuntivi per ottenere un indentazione decente di python, comunque potrei sbagliarmi :)
Neg_EV


2

Grazie per tutto il vostro aiuto. Lo apprezzo molto. Ma in realtà ho trovato una soluzione:

Nel vimrc , vedrai il codice qui sotto in L37-39:

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

e così cancella " all'inizio di ogni riga per abilitare questa impostazione. Ora il lavoro di correzione automatica dell'indentazione e dell'indentazione!

Come dice Casual Coder, quando vuoi correggere il rientro nella riga corrente, premi = (in Emacs C-h.) Inoltre puoi combinare questo con la selezione di comandi come gg=G (in Emacs, C-x h C-i) per l'intero codice e C-v (Visual Block Mode) sarebbe utile.

(Il codice di esempio che ho scritto nella domanda è scritto in Rubino . Il mio Vim che ho scaricato dal repository di Ubuntu viene fornito con il file di configurazione del rientro di Ruby (/usr/share/vim/vim72/indent/ruby.vim) e quindi non devi ottenere "vim-ruby".)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.