行番号に移動するときにコードを展開する方法はありますか? たとえば:35
、行 35 が折りたたまれている場所を入力すると、実際にその行に到達するには、そのセクションを手動で展開する必要があります。入力:35
してそのコードを自動的に展開し、それ以上キーを押さなくてもカーソルを 35 行目に配置したいと思います。
質問する
406 次
3 に答える
7
35G
の代わりにコマンドを使用する:35
と、次のマッピングでこれを実現できます。
"[count]G Also open fold under cursor when supplying [count] (i.e.
" jumping to a particular line, not the end of the
" buffer). Use [count]|gg| if you don't want this.
nnoremap <expr> G (v:count ? 'Gzv' : 'G')
それ:35
自体では、これを達成するのは難しいでしょう。<CR>
を介してインターセプトし、および:cmap <expr>
を介して入力されたコマンドを確認し、それが数値の場合は、コマンドを操作する必要があります。つまり、コマンドに追加します。このような:getcmdtype()
getcmdline()
normal! zv
cmap <expr> <CR> getcmdtype() == ':' && getcmdline() =~ '^\d\+$' ? 'normal! zv<CR>' : '<CR>'
于 2012-05-04T18:31:17.310 に答える
2
zv。差出人:help zv
:
View cursor line: Open just enough folds to make the line in
which the cursor is located not folded.
このコマンドはおそらく何らかの方法で自動的にトリガーされる可能性がありますが、私はまだそれに遭遇していません。ただし、コマンドをそのまま使用することは私に役立ちました。
于 2012-05-04T15:47:14.697 に答える
0
新しいコマンド マッピングを定義します。この例では、次を選択しました\gz。
:nmap \gz gg<Bar>zO
于 2012-05-04T15:52:12.703 に答える