私は私の.vimrcに次のコマンドを持っている:vimでは、setregを使用してキャリッジリターンをレジスタに追加するにはどうすればよいですか?
vip:normal @g<CR>
私はこのように、バッファに入力することによって、レジスタ「G」を設定すると、それが動作:
qg<CR>jq
私が入力した場合:レジスタ
--- Registers ---
"g ^Mj
その後、@ gと入力するとキャリッジリターンが発生し、カーソルが次の行に移動します。^Mは特殊色で表示されます。
しかし、私はvimrcでsetregコマンドを使用すると、@ gと入力すると何も起こりません。
call setreg('g','^Mj')
私が入力した場合:レジスタが、それは示しています
--- Registers ---
"g ^Mj
^Mは、特別な色ではありません。
私は自分の.vimrcに次のようにあります
map <CR> :call MyFunction<CR>
私はレジスタに格納するキャリッジリターンがMyFunctionを実行することです。 MyFunctionは、setregを使用するのではなく、手動でバッファを満たす限り完全に呼び出されます。
どこが間違っていますか?私のプラットフォームはLinuxです。
'call setreg( 'g'、 '^ Mj')'に^ Mをどのように入力しましたか?あなたはctrl-v ctrl-mを使いましたか?または、キャレットとMをタイプしただけですか? – sidyll
キャレットM ...ああ...私はキャレットvキャレットmを入力しようとしましたが、それは失敗しました。私は文字列 "^ V^M"を書くのではなく、実際にctrl-v ctrl-mを挿入モードで入力しなければならないことに気づいていませんでした。ありがとう!実際にそれらのキーを押すことはうまくいった。レジスタは正しく設定されています。私はあなたの助けに感謝します。 – renick
ctrl-vは私が通常 '^ M'を得るために使うものです。 –
overthink