14

これは長い間私を悩ませてきました。

テキスト(特にラテックスですが、それは問題ではありません)ファイルを編集しているとき、80列で自動ラップしたいです。それはこれを行いますが、たまたま括弧付きの句の途中にいる場合を除いて、非常に迷惑なテキストをインデントします. たとえば、これはうまくいきます

Here is some text... over
two lines.

しかし、これはそうではありません

Here is some text... (over
                      two
                      lines

誰かがこれをオフにする方法を教えてくれたら (テキスト/ラテックス ファイルのみ)、本当に感謝しています。おそらく、これは C で望ましい動作であるという事実と関係がありますが、何が問題なのかまだわかりません。

4

6 に答える 6

14
:set nocindent

他のオプションは何もせず、ファイルタイプの検出はそれを変更しません。

于 2010-01-24T23:09:03.120 に答える
5

set noai、set nosi、setnocin (autoindent、smartindent、cindent) の 3 つのオプションをオフにする必要がある場合があります。

于 2009-02-11T11:22:03.047 に答える
4

これは関連している可能性があります。GUI からターミナル ウィンドウに貼り付ける場合、vim は貼り付けモードを区別できないため、奇妙なことが起こらないようにするためです。

set paste

次にテキストを貼り付けます

set nopaste

xml テキストを貼り付けようとすると、同様の問題が発生しました。インデントが続くだけです。:)

vim の gui バージョンであるgvimは、貼り付けモードを検出できます。

于 2010-08-07T19:47:34.063 に答える
3

autoindent オプションを見ることができます:

自動インデント - ai

新しい行を開始するとき (挿入モードで入力するとき、または "o" または "O" コマンドを使用するとき) に、現在の行からインデントをコピーします。新しい行に何も入力せずに または を入力すると、インデントが再び削除されます。自動インデントがオンの場合、フォーマット (「gq」コマンドを使用するか、挿入モードで「textwidth」に達したとき) は、最初の行のインデントを使用します。「smartindent」または「cindent」がインデントにある場合、特定のケースでインデントが変更されます。「貼り付け」オプションが設定されると、「autoindent」オプションはリセットされます。{Vi との小さな違い: または を入力してインデントが削除された後、上下に移動するときのカーソル位置は、削除されたインデントの後にあります。Vi は削除されたインデントのどこかにカーソルを置きます}。

于 2009-02-11T11:14:45.997 に答える
2

Vimの公式ドキュメントより

filetype プラグインのインデント

これにより、次の 3 つの非常に巧妙なメカニズムがオンになります。

  1. ファイルタイプの検出。ファイルの編集を開始するたびに、Vim はそのファイルの種類を把握しようとします。"main.c" を編集すると、Vim は拡張子 ".c" を
    認識し、これを "c" ファイルタイプとして認識します。"#!/bin/sh" で始まるファイルを編集すると、Vim はそれを "sh" ファイルタイプとして認識します。ファイルタイプの検出は、構文の強調表示と以下の他の 2 つの
    項目に使用されます。|ファイルタイプ|を参照してください。

  2. ファイルタイプ プラグイン ファイルの使用 多くの異なるファイル タイプは、異なるオプションで編集されます。たとえば
    、"c" ファイルを編集する場合、行を自動的にインデントする 'cindent' オプションを設定すると非常に便利です。これらの一般的に便利なオプション設定は
    、Vim のファイルタイプ プラグインに含まれています。独自のものを追加することもできます
    。|write-filetype-plugin| を参照してください。

  3. インデント ファイルの使用 プログラムを編集する場合、多くの場合、行のインデントは自動的に計算されます。Vim には、多くのファイルタイプに対してこれらのインデント規則が付属しています。|:filetype-in​​dent-on|を参照 および「indentexpr」。

于 2009-02-11T11:25:26.660 に答える
1

:set noai

自動インデントを設定しませんが、smartindent の可能性があります。ドキュメントをチェックして、さらに何かを見つけることができるかどうかを確認してください

http://www.vim.org/htmldoc/indent.html

于 2009-02-11T11:12:15.083 に答える