scriptencoding utf-8 Describe visual Before all let lines = [ \ '1.asterisk 2.asterisk 3.asterisk' \ , '4.Asterisk 5.AsteRisK 6.Asterisk' \ , '' \ , '7.アスタリスク 8.アスタリスクです 9.アスタリスク?' \ , '.* .* .*' \ , '.* asterisk asterisk' \ , '".*" ".*" ''asterisk'' ''asterisk''' \ , '"''.*" "''.*" "aste"risk" "aste"risk"' \ , "asterisk\r" \ ] call g:Add_lines(lines) End Before each call cursor([1, 1]) normal! 2l let @/ = '' End After all :1,$ delete End Context * It search forward with \<\> normal viw* Assert Equals(@/, '\V\') End It search forward only with \< normal ve5h* Assert Equals(@/, '\V\ normal 2lve* Assert Equals(@/, '\Vterisk\>') End End Context # It search backward and jump to next matchecd pattern normal $viw2# Assert Equals(@/, '\V\') Assert Equals(col('.'), 3) End End Context multibyte * It handle left keyword normal 3jve3h* Assert Equals(@/, '\V\<アスタ') End It handle right keyword normal 3j3lve* Assert Equals(@/, '\Vリスク\>') End It handle left and right keyword normal 3jve* Assert Equals(@/, '\V\<アスタリスク\>') End It is irrelabant with keyword normal 3j1lve2h* Assert Equals(@/, '\Vスタリ') End It handle one character selection normal 3jve5h* Assert Equals(@/, '\V\<ア') End End Context regular expression handling It correctly escape regex normal! 4j0 normal viW* Assert Equals(@/, '\V.*') End End Context handling quotes It correctly handle double quotes with z* normal! 6j0 normal viWz* Assert Equals(@/, '\V".*"') End It correctly handle double quotes with * normal! 6j0 normal viW* Assert Equals(@/, '\V".*"') End It correctly handle single quotes with z* normal! 6j02W normal viWz* Assert Equals(@/, '\V''asterisk''') End End Context no cursor movement It get character under cursor with v normal v* Assert Equals(@/, '\V\ silent! execute 'normal' "\*" Assert Equals(@/, '\V\ normal V* Assert Equals(@/, '\V\<1.asterisk 2.asterisk 3.asterisk\n') End End Context * It search forward with \<\> silent! execute 'normal' "\ej*" Assert Equals(@/, '\V\') End End Context contains \r It handles correctly normal 8j$v* Assert Equals(@/, '\V\r') End End End