From 9d5ec5e3bc01c6174dea048e118edee579c36565 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 7 Feb 2026 23:06:23 +0900 Subject: fix(style): fix codeblock style for rouge --- .../vim-swap-order-of-selected-lines/index.html | 42 ++++++++++------------ 1 file changed, 19 insertions(+), 23 deletions(-) (limited to 'services/nuldoc/public/blog/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html') diff --git a/services/nuldoc/public/blog/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html b/services/nuldoc/public/blog/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html index 58e78a70..8c00497d 100644 --- a/services/nuldoc/public/blog/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html +++ b/services/nuldoc/public/blog/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html @@ -15,7 +15,7 @@ Vimで選択した行の順番を入れ替える|REPL: Rest-Eat-Program Loop - +
@@ -102,12 +102,11 @@

TL; DR

-
" License: Public Domain
-
-command! -bar -range=%
-    \ Reverse
-    \ keeppatterns <line1>,<line2>g/^/m<line1>-1
-
+
" License: Public Domain +
+
command! -bar -range=% +
\ Reverse +
\ keeppatterns <line1>,<line2>g/^/m<line1>-1
@@ -165,10 +164,9 @@ command! :g/^/m0 は全ての行を入れ替えるが、:N,Mg/^/mN-1 とすることで N行目から M行目を処理範囲とするよう拡張できる。手でこれを入力するわけにはいかないので、次のようなコマンドを用意する。

-
command! -bar -range=%
-    \ Reverse
-    \ <line1>,<line2>g/^/m<line1>-1
-
+
command! -bar -range=% +
\ Reverse +
\ <line1>,<line2>g/^/m<line1>-1

これは望みの動作をするが、実際に実行してみると全行がハイライトされてしまう。次節で詳細を述べる。 @@ -202,14 +200,13 @@ command! :Reverse コマンドの定義を少し変えて、次のようにする:

-
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>)
-
+
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>)

実行しているコマンドが変わったわけではないが、関数呼び出しを経由するようにした。これだけで前述の問題が解決する。 @@ -256,10 +253,9 @@ command!

-
command! -bar -range=%
-    \ Reverse
-    \ keeppatterns <line1>,<line2>g/^/m<line1>-1
-
+
command! -bar -range=% +
\ Reverse +
\ keeppatterns <line1>,<line2>g/^/m<line1>-1

まさにこのための Exコマンド、:keeppatterns が存在する。:keeppatterns {command} のように使い、読んで字の如く、後ろに続く Exコマンドを「現在の検索パターンを保ったまま」実行する。はるかに分かりやすく意図を表現できる。 -- cgit v1.3-1-g0d28