Vim は Python コメントのインデントを自動的に削除する [重複] [重複] [重複].
質問
Vimを使って、Pythonのスクリプトを編集しています。
自動インデントは一般的にかなりうまく機能しますが、私が新しい行を開始して、コメントを入力するために'#'をタイプすると、Vimは私のためにその行のインデントを解除してくれます。
例えば
def foo():
と入力してEnterキーを押すと、Vimは適切にインデントします。
def foo():
pass
と入力しますが、もし
pass
と入力した場合、私は
#
と入力すると、自動的にインデントが解除されます。
def foo():
# comment
class Thing():
def __init__(self):
pass
# comment line gets unindented all the way
私の.vimrcファイルは次のようになります。なぜこのようなことが起こるのか、誰か知っていますか?
set tabstop=4
set smartindent
set shiftwidth=4
set expandtab
set backspace=indent,eol,start
set scrolloff=3
set statusline=%f%m%r%h%w\ [%Y\ %{&ff}]\ [%l/%L\ (%p%%)]
set laststatus=2
どのように解決するのですか?
設定方法
smartindent
をオンにすると、Vim はあなたの言うとおりの動作をするようになります。
nosmartindent
(これは私がよく使うものです)では、あなたが望むような動作をします。
更新しました。のドキュメントから
smartindent
:
新しい行の最初の文字として '#' を入力すると、その行のインデントが削除され、'#' が最初の列に置かれます。 が取り除かれ、'#'が最初の列に置かれます。 次の行のインデント は次の行で元に戻ります。 これを望まない場合は、次のようにします。 mapping: ":inoremap # X^H#" ここで^HはCTRL-V CTRL-Hで入力します。 コマンドを使用する場合、'#'で始まる行は右シフトされません。 右へ移動しません。
ということのようです。
更新: 以下をわざわざ書く必要はないでしょう...。情報価値を高めるためにここに残しておきます。)
もし設定
nosmartindent
を設定しても効果がない場合は、おそらく
:set
コマンドを使用して、Vim セッションで有効なすべての設定のリストを取得し、それをどこかに貼り付けることができるかもしれません (
パスティ
おそらく) に貼り付けてください。私の記憶では、自動インデントに影響する他のオプションがいくつかあります。
関連
-
[解決済み] Vimエディタを終了するにはどうすればよいですか?
-
[解決済み] Vimで文字を改行で置き換える方法
-
[解決済み] Vim 直前の検索ハイライトをクリアする
-
[解決済み] Vimで大文字小文字を区別しない検索をする方法
-
[解決済み] vimにテキストをペーストする際の自動インデントをオフにする
-
[解決済み] VimのTabキー==4スペースと中括弧の後の自動インデント
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】vimの「sudoで書く」トリックはどうやるの?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] Django filter queryset __in for *every* item in list
最新
-
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でファイルのMD5チェックサムを計算するには?重複
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複