Vim6スクリプトお勉強スレat UNIX
Vim6スクリプトお勉強スレ - 暇つぶし2ch83:81
02/01/06 03:07
KoRoNさんにこんなに詳細にコメントを頂けるなんて感激です。
ありがとうございます。
このスレでvimスクリプト入門を果たしたので知らないことばかりですが
これからも精進したいです。
修正したものを貼り付けます。
# マーク位置を判定 の部分は私の能力では簡潔に書き直せなかった;;

"マークにジャンプする
function! s:JumpToMark(mode)
 let markchars = "abcdefghijklmnopqrstuvwxyz"
 if a:mode ==? "up"
  let LineNo = 0
 endif
 if a:mode ==? "down"
  let LineNo = line("$") + 1
 endif
 let LineNoOrg = line(".")
 let MarkChar = ""
 let i = 0
 "a-z をチェック
 while i <= (char2nr('z') - char2nr('a'))
  let x = line("'" . markchars[i])
  "マーク位置を判定
  if (a:mode ==? "up" && LineNoOrg > x && LineNo < x) || (a:mode ==? "down" && LineNoOrg < x && LineNo > x)
   let MarkChar = markchars[i]
   let LineNo = x
  endif
  let i = i + 1
 endwhile
 if MarkChar != ""
  "移動
  execute "normal `" . MarkChar
  redraw!
  echo "マーク" MarkChar "にジャンプ"
 else
  echohl ErrorMsg
  echo "該当するマークがない;;"
  echohl None
 endif
endfunction

"コマンド定義
command! JumpToMarkDown call <SID>JumpToMark('down')
command! JumpToMarkUp call <SID>JumpToMark('up')


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch