13

Vim で Vim-R プラグインを使用して、R コードの構文を強調表示しています。通常のインデント スタイルは、関数内のパラメーターを括弧の開始位置に揃えます。これを中括弧内のコードのように変更したいと思います。ここでは、新しい行が中括弧でインライン化されるのではなく、2 つのスペースでインデントされます。

私の関数名は冗長になりがちで、デフォルトのインデント スタイルでは、すべてのパラメーターが画面の右側に押し出されたままになっています。

以下にいくつかの例を示します。

# Default indentation style
result <- fun(
              par1 = "abc",
              par2 = "def",
              par3 = 3
              )

for目的のスタイルは、ループと関数定義のインデント スタイルを模倣します。

# Desired indentation style
result <- fun(
  par1 = "abc",
  par2 = "def",
  par3 = 3
)

# Similar to for loop indentation
for(i in 1:10) {
  print(i)
}

# ... and function definitions
fun <- function(par1 = 1) {
 print(par1 + 1)
}

Vim-R-plugin のコードを見ましたが、密度が高すぎて理解できません。変更する方法はありますか?

4

2 に答える 2

10

誰かがこの質問を探している場合:

:help r-plugin-indenting

簡潔な答え。.vimrc に次の行を追加します。

" set vim-r-plugin to 
let r_indent_align_args = 0

" Set vim-r-plugin to mimics ess :
let r_indent_ess_comments = 0
let r_indent_ess_compatible = 0

インデントはOPで説明されているようになります。

于 2014-06-17T09:18:21.473 に答える
1

手始めに:help 'cindent'andを見てください。:help 'smartindent'これら 2 つのオプションのいずれかを使用して、インデントを比較的簡単に構成できます。独自の を作成することもできますindentexprが、それは少し高度になっています。これには、Vim-R プラグインを捨てて、Vim ネイティブのインデント ソリューションを採用する必要があります。

于 2013-04-10T19:48:38.010 に答える