Advertisement
Guest User

Untitled

a guest
Nov 5th, 2023
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 1.18 KB | Source Code | 0 0
  1. " p または P でレジスタの内容を挿入するとき、それが http:// または
  2. " https:// で始まるURLで、かつカーソル直前のテキストが /^ であるなら
  3. " ば、挿入するURLを正規表現としてエスケープする。またURLの先頭がどちら
  4. " の場合でも双方に一致する正規表現 https?: に変換する。
  5. "
  6. " 例:
  7. "
  8. "   無名レジスタの内容が http://www.example.com/?page=1 であるときに
  9. "
  10. "     if (/^
  11. "
  12. "   この ^ の上にカーソルを置いて p を打鍵すると次の通りになる:
  13. "
  14. "     if (/^https?:\/\/www.example\.com\/\?page=1
  15. "
  16. nnoremap <expr><silent> p '"=getreg('.."'"..v:register.."'"..') =~? "\\%^https\\?://[!#-&(-;=?-~]\\+\\%$" && search("/\\%#\\^", "wn") ? substitute(escape(getreg('.."'"..v:register.."'"..'), "/$()*+.?[\\]^{\|}"), "\\%^https\\?", "https?", "") : getreg('.."'"..v:register.."'"..')<CR>p'
  17. nnoremap <expr><silent> P '"=getreg('.."'"..v:register.."'"..') =~? "\\%^https\\?://[!#-&(-;=?-~]\\+\\%$" && search("/\\^\\%#", "wn") ? substitute(escape(getreg('.."'"..v:register.."'"..'), "/$()*+.?[\\]^{\|}"), "\\%^https\\?", "https?", "") : getreg('.."'"..v:register.."'"..')<CR>P'
  18.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement