diff options
| author | nsfisis <nsfisis@gmail.com> | 2023-03-15 01:36:13 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2023-03-15 01:36:58 +0900 |
| commit | 98682c7a8792e7e79e487fea5024d25cee5aa310 (patch) | |
| tree | fbf975077f5c1a6ff4f9eee68e4a4908eb7f54a0 /public/posts/2021-10-02/vim-swap-order-of-selected-lines | |
| parent | 1fa2ed103dc521698cff261c97ecf275708be58c (diff) | |
| download | blog.nsfisis.dev-98682c7a8792e7e79e487fea5024d25cee5aa310.tar.gz blog.nsfisis.dev-98682c7a8792e7e79e487fea5024d25cee5aa310.tar.zst blog.nsfisis.dev-98682c7a8792e7e79e487fea5024d25cee5aa310.zip | |
fix(nuldoc): <pre> contained unnecessary whitespaces inside it
Diffstat (limited to 'public/posts/2021-10-02/vim-swap-order-of-selected-lines')
| -rw-r--r-- | public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html b/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html index 8a3b304..f4e2b71 100644 --- a/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html +++ b/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html @@ -115,11 +115,9 @@ なお、<code>:g/^/m0</code>は全ての行を入れ替えるが、<code>:N,Mg/^/mN-1</code>とすることで N行目から M行目を処理範囲とするよう拡張できる。手でこれを入力するわけにはいかないので、次のようなコマンドを用意する。 </p> - <pre class="highlight" language="vim" linenumbering="unnumbered"> - <code>command! -bar -range=% + <pre class="highlight" language="vim" linenumbering="unnumbered"><code>command! -bar -range=% \ Reverse -\ <line1>,<line2>g/^/m<line1>-1</code> - </pre> +\ <line1>,<line2>g/^/m<line1>-1</code></pre> <p> これは望みの動作をするが、実際に実行してみると全行がハイライトされてしまう。次節で詳細を述べる。 @@ -152,15 +150,13 @@ 前述した<code>:Reverse</code>コマンドの定義を少し変えて、次のようにする: </p> - <pre class="highlight" language="vim" linenumbering="unnumbered"> - <code>function! s:reverse_lines(from, to) abort + <pre class="highlight" language="vim" linenumbering="unnumbered"><code>function! s:reverse_lines(from, to) abort execute printf("%d,%dg/^/m%d", a:from, a:to, a:from - 1) endfunction command! -bar -range=% \ Reverse - \ call <SID>reverse_lines(<line1>, <line2>)</code> - </pre> + \ call <SID>reverse_lines(<line1>, <line2>)</code></pre> <p> 実行しているコマンドが変わったわけではないが、関数呼び出しを経由するようにした。これだけで前述の問題が解決する。 @@ -211,11 +207,9 @@ </p> </blockquote> - <pre class="highlight" language="vim" linenumbering="unnumbered"> - <code>command! -bar -range=% + <pre class="highlight" language="vim" linenumbering="unnumbered"><code>command! -bar -range=% \ Reverse - \ keeppatterns <line1>,<line2>g/^/m<line1>-1</code> - </pre> + \ keeppatterns <line1>,<line2>g/^/m<line1>-1</code></pre> <p> まさにこのための Exコマンド、<code>:keeppatterns</code>が存在する。<code>:keeppatterns {command}</code>のように使い、読んで字の如く、後ろに続く Exコマンドを「現在の検索パターンを保ったまま」実行する。はるかに分かりやすく意図を表現できる。 @@ -230,13 +224,11 @@ <section id="section--_コピペ用再掲"> <h2><a href="#section--_コピペ用再掲">コピペ用再掲</a></h2> - <pre class="highlight" language="vim" linenumbering="unnumbered"> - <code>" License: Public Domain + <pre class="highlight" language="vim" linenumbering="unnumbered"><code>" License: Public Domain command! -bar -range=% \ Reverse - \ keeppatterns <line1>,<line2>g/^/m<line1>-1</code> - </pre> + \ keeppatterns <line1>,<line2>g/^/m<line1>-1</code></pre> </section> </div> </article> |
