[解決済み] Python用Emacsバルクインデントツール
質問
EmacsでPythonを使用していて、コードのブロックにtry/exceptを追加したい場合、しばしばブロック全体を一行ずつインデントしなければならないことに気づきます。 Emacsでは、どのようにしてブロック全体を一度にインデントするのでしょうか。
私は経験豊富なEmacsユーザーではありませんが、sshで作業するには最適なツールであると思います。 私はコマンドライン (Ubuntu) で Emacs を使用しており、gui としては使用していません。
どのように解決するのですか?
Emacsを使ってPythonのプログラミングをしているのであれば、おそらくpython-modeを使うはずです。python-modeでは、コードのブロックをマークした後。
C-c >
または
C-c C-l
はリージョンを右に4スペースシフトします。
C-c <
または
C-c C-r
はリージョンを左に4スペースシフトします。
もし、コードを2段階のインデント、あるいは任意の量だけシフトさせる必要がある場合は、コマンドの前に引数を指定することができます。
C-u 8 C-c >
は領域を右に8スペースシフトします
C-u 8 C-c <
は、領域を 8 スペース左にシフトします。
もう一つの方法は
M-x indent-rigidly
にバインドされている
C-x TAB
:
C-u 8 C-x TAB
領域を 8 スペース右にシフトする
C-u -8 C-x TAB
は、領域を 8 スペース左にシフトします。
また、便利なのが 矩形コマンド で、これはテキストの行の代わりにテキストの矩形に対して操作します。
例えば、矩形の領域をマークした後に
C-x r o
は矩形領域を埋めるために空白を挿入します(効果的にコードを右へシフトします)。
C-x r k
矩形領域を削除します (事実上、コードを左にシフトします)
C-x r t
は矩形を置き換えるための文字列を要求します。 入力する
C-u 8 <space>
と入力すると、8つのスペースが入力されます。
PS. Ubuntu では、すべての .py ファイルに対して python-mode をデフォルトモードにするために、単に
python-mode
パッケージをインストールするだけです。
関連
-
opencvとpillowを用いた顔認証システム(デモあり)
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] git に自分の好きなエディタを使わせてコミットするにはどうしたらいいですか?
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
Python百行で韓服サークルの画像クロールを実現する
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac