vim で Python コードの大きなセクションを 1 つのタブ分前に移動するにはどうすればよいですか?
伊谢尔伦
伊谢尔伦 2017-05-16 16:41:40
0
11
1663

vimの下にPythonコードの大部分を貼り付けたのですが、ある行からすべてのコードが余分なタブで後ろに移動してしまい、1つずつ手動で調整したので疲れました。

もっと簡単にする方法はありますか?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(11)
漂亮男人

vim では、自動インデントがオフになるように、コードを貼り付ける前に貼り付けモードに入るのが最善です

リーリー

コードを貼り付けて、貼り付けモードをオフにしてください

リーリー

コードの 1 行のインデントは、記号「>>」より 2 つ大きくなります
撤回は記号「<<」より 2 つ小さいです
多くのコード行をインデントしたい場合は、次の手順を実行します

リーリー リーリー
いいねを押す +0
phpcn_u1582

:10,100>
10行目を100行目にインデント
:20,80<
20行目から80行目まではアンチインデントです

いいねを押す +0
滿天的星座

通常モードでは、カーソルは処理が必要な開始行にあり、次のようになります: 100>>

いいねを押す +0
曾经蜡笔没有小新

1,^V はインデントする必要がある行の前にあります。 2、私;
3.タブ

いいねを押す +0
世界只因有你

1 Esc キーを押してコマンドラインモードに入ります
2 処理が必要な開始行にカーソルを移動します
3 v を押して表示モードに移動し、処理する必要があるすべての行を選択します
4 Ctrl+

いいねを押す +0
洪涛

Vim に貼り付けるときは、Vim が貼り付けていることを認識できない場合に注意してください (非 GUI バージョン、端末でマウスのサポートがオンになっていない、または端末自体がマウスをサポートしていない。Vim には X クリップボードがないため) Vim をサポートおよびバイパスするには、Shift キーを使用してターミナルで直接ペーストできます (たとえば、SSH で Vim にペーストする場合、通常、Vim はローカルのクリップボードにアクセスできないため、ターミナルに「入力」させることしかできません)。 貼り付ける前に「貼り付け」オプションを設定する必要があります 。このオプションは、挿入モードでの自動インデント、マッピングなどを無効にします。詳細については:h 'paste'

を参照してください
いいねを押す +0
左手右手慢动作

次のようにプレイできます:
10行目から100行目までのタブを削除したい場合は、次のように記述します
:10,100s/^t//
それで大丈夫です!

いいねを押す +0
Peter_Zhu

vimrc で Python のさまざまなタブを定義します。例:

リーリー

その後、通常モードで直接入力します =nj
n は自動整列に必要な行数です。インデントがどんなに乱雑でも、自動的に整列されます

いいねを押す +0
给我你的怀抱

以下の vim が提供するコマンドは非常に柔軟ですが、低レベルすぎます。現時点では、回答者からの回答はすべてハードキーになっているため、覚えるのが難しく、非効率的です。ショートカット キーとして設定することをお勧めします。
たとえば、タブを使用して目的の領域を選択し、ショートカット キーを押すことに慣れています。

リーリー

被験者の質問を例として考えてみましょう。

  1. ターゲットエリアの最初の行に移動
  2. v を入力して選択モードに入ります
  3. 100行下に移動するには、100jと入力します。この時点で、100行の対象領域が選択されています
  4. 「タブ」キーを入力します。

終わり〜

いいねを押す +0
漂亮男人

Vモードに入らずに別の方法を提供します。

  1. 処理する必要がある最初の行に移動してください

  2. 処理する必要がある最後の行に移動します、<'a

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート