recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment faire avancer une grande section de code Python d'un onglet sous vim ?

J'ai collé une grande section de code python sous vim, mais à partir d'une certaine ligne, tout a été reculé par un onglet supplémentaire. Il y avait plus de 100 lignes, je les ai ajustées manuellement une par une, et j'étais épuisé.

Y a-t-il un moyen de rendre les choses plus faciles ?

伊谢尔伦伊谢尔伦2773 Il y a quelques jours1690

répondre à tous(11)je répondrai

  • 漂亮男人

    漂亮男人2017-05-16 16:43:40

    Dans vim, il est préférable d'entrer en mode coller avant de coller le code, afin que l'indentation automatique soit désactivée

    set paste
    

    Collez le code puis désactivez le mode coller

    set nopaste
    

    Indentez une seule ligne de code avec deux signes supérieurs à '>>'
    La rétraction est deux de moins que les signes '<<'
    Si vous souhaitez mettre en retrait plusieurs lignes de code, procédez comme suit

    1 //在这里按下'v'进入选择模式
    1
    1
    1
    1
    1
    1//光标移动到这里,再按一次大于号'>'缩进一次,按'6>'缩进六次,按'<'回缩。以下同理
    
    function helo{//将光标移动到'{',在按下'%',光标将会移动到匹配的括号
    
    //这里省略1000行
    
    }//光标会移动到这里,再按一次大于号'>'就可以缩进
    

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 16:43:40

    :10,100>
    第10行至第100行缩进
    :20,80<
    Les lignes 20 à 80 sont anti-retrait

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-16 16:43:40

    En mode normal, le curseur est sur la ligne de départ à traiter, puis : 100>>

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 16:43:40

    1,^V devant la ligne qui doit être mise en retrait
     ; 2,je;
    3. onglet

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-16 16:43:40

    1 Appuyez sur Echap pour passer en mode ligne de commande
    2 Déplacez le curseur sur la ligne de départ qui doit être traitée
    3 Appuyez sur v pour passer en mode affichage et sélectionnez toutes les lignes à traiter
    4 Appuyez sur Ctrl+<C'est tout

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-16 16:43:40

    Soyez prudent lorsque vous collez dans Vim, si Vim ne peut pas savoir que vous collez (version non graphique, la prise en charge de la souris n'est pas activée dans le terminal ou le terminal lui-même ne prend pas en charge la souris, car Vim n'a pas de presse-papiers X prend en charge et contourne Vim, utilisez la touche Shift qui permet au terminal de coller directement (par exemple, lors du collage dans Vim en ssh, généralement Vim ne peut pas accéder au presse-papiers local, il ne peut donc que laisser le terminal "taper"), alors vous vous devez définir l'option « Coller » avant de coller. Cette option désactive l'indentation automatique, le mappage, etc. en mode insertion. Voir :h 'paste'

    pour plus de détails

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-16 16:43:40

    Vous pouvez jouer comme ceci :
    Si vous devez supprimer une tabulation de la ligne 10 à la ligne 100, vous pouvez écrire comme ceci
    :10,100s/^t//
    C'est OK!

    répondre
    0
  • 天蓬老师

    天蓬老师2017-05-16 16:43:40

    Définissez différents onglets de python dans vimrc, par exemple :

    autocmd FileType python set ts=4 | set sw=4 | set expandtab    
    

    Puis en mode normal, entrez directement =nj
    n est le nombre de lignes requises pour être automatiquement alignées. Même si l'indentation est compliquée, elle sera automatiquement alignée

    .

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 16:43:40

    Les commandes fournies par vim ci-dessous sont très flexibles, mais elles sont de trop bas niveau. À l'heure actuelle, toutes les réponses données par les répondants sont saisies en dur, ce qui est difficile à mémoriser et inefficace. Il est recommandé de les définir comme touches de raccourci.
    Par exemple, j'ai l'habitude d'utiliser l'onglet, de sélectionner la zone cible et d'appuyer sur la touche de raccourci.

    vimlvnoremap <tab> >gv
    vnoremap <s-tab> <gv
    

    Prenons la question du sujet comme exemple.

    1. Passer à la première ligne de la zone cible
    2. Entrez v pour accéder au mode de sélection
    3. Entrez 100j pour descendre de 100 lignes. À ce moment, la zone cible de 100 lignes a été sélectionnée
    4. .
    5. Entrez la touche <

    Fin~

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-16 16:43:40

    Fournissez une autre méthode sans entrer en mode V.

    1. Passe à la première ligne qui doit être traitée, ma

    2. Passer à la dernière ligne à traiter, <'a

    répondre
    0
  • Annulerrépondre