From 98682c7a8792e7e79e487fea5024d25cee5aa310 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 15 Mar 2023 01:36:13 +0900 Subject: fix(nuldoc):
 contained unnecessary whitespaces inside it

---
 .../vim-swap-order-of-selected-lines/index.html    | 24 ++++++++--------------
 1 file changed, 8 insertions(+), 16 deletions(-)

(limited to 'public/posts/2021-10-02/vim-swap-order-of-selected-lines')

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 @@
                 なお、:g/^/m0は全ての行を入れ替えるが、:N,Mg/^/mN-1とすることで N行目から M行目を処理範囲とするよう拡張できる。手でこれを入力するわけにはいかないので、次のようなコマンドを用意する。
               

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

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

-
-              function! s:reverse_lines(from, to) abort
+            
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>)
-            
+ \ call <SID>reverse_lines(<line1>, <line2>)

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

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

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

コピペ用再掲

-
-              " License: Public Domain
+            
" License: Public Domain
 
   command! -bar -range=%
   \ Reverse
-  \ keeppatterns <line1>,<line2>g/^/m<line1>-1
-            
+ \ keeppatterns <line1>,<line2>g/^/m<line1>-1
-- cgit v1.2.3-70-g09d2