cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk memproses fail dalam Vim dan menukar tab ke ruang?

Tabiat pengekodan saya tidak begitu baik pada masa lalu, jadi banyak tab digunakan dalam kod.
Sekarang saya ingin menukar tab menjadi ruang Tidak praktikal untuk menetapkan arahan vimrc然后执行:ret命令就可以了,问题是需要被处理的文件有很多,手动为每个文件执行:ret Dari sudut mana saya boleh menyelesaikan masalah ini?

过去多啦不再A梦过去多啦不再A梦2743 hari yang lalu727

membalas semua(10)saya akan balas

  • 大家讲道理

    大家讲道理2017-05-16 16:43:14

    Sebagai contoh, semua yang anda mahu proses adalah fail python, kemudian cd ke direktori akar projek:
    1. $> vim `find . -type f -name "*.py"` // Buka semua fail untuk diproses dengan VIM
    2. :argdo :ret |. Kemas kini // Jalankan arahan :ret pada semua fail dalam senarai parameter vim dan simpan

    Selain itu, anda boleh mengetahui lebih lanjut tentang penggunaan arahan bufdo dan windo.

    Di atas hanyalah untuk menunjukkan bahawa VIM boleh melakukan ini dengan mudah sebagai tindak balas kepada masalah poster asal, tanpa perlu melakukannya satu persatu. Sudah tentu, menulis skrip mengikut idea di atas juga merupakan kaedah yang baik.

    balas
    0
  • 習慣沉默

    習慣沉默2017-05-16 16:43:14

    Cuba sed:sed -i -e "s/t/ /g" *.py

    balas
    0
  • PHP中文网

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

    Adalah disyorkan untuk tidak menggunakan vim dan menulis skrip untuk mengendalikannya.
    Ia boleh ditulis dalam shell, dan arahan find + sed akan melakukannya. Ia juga boleh ditulis dalam python, dan os.path.walk melintasi fail dan mengimbas baris demi baris.

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 16:43:14

    :%s/\t/    /g
    

    balas
    0
  • 大家讲道理

    大家讲道理2017-05-16 16:43:14

    Masalah seperti ini boleh diselesaikan menggunakan ungkapan biasa, tetapi sebaiknya jangan gunakan vim untuk menanganinya satu persatu. Adalah lebih baik untuk menulis skrip python untuk menjalankan ungkapan biasa

    balas
    0
  • 黄舟

    黄舟2017-05-16 16:43:14

    expand Perintah shell melakukan ini.

    balas
    0
  • 某草草

    某草草2017-05-16 16:43:14

    Lebih selesa menggunakan ungkapan biasa untuk pemprosesan kelompok, tetapi jika anda mesti menggunakan vim, jawapan @shizhz adalah bagus.

    balas
    0
  • 天蓬老师

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

    sed -i "s/t/ /g" *.py

    balas
    0
  • 给我你的怀抱

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

    ls *.py | while read file;do
        vi $file<<EOF
    :%s/^I/    /g
    :wq
    EOF
    done
    

    Gunakan mod bukan interaktif vi(m).
    ^I使用CTRL+V+IMasuk.
    Tiada ruang boleh digunakan selepas EOF.
    Tidak boleh ada ruang sebelum arahan vi(m).

    balas
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 16:43:14

    :h retab

    balas
    0
  • Batalbalas