Vim6スクリプトお勉強スレat UNIX
Vim6スクリプトお勉強スレ - 暇つぶし2ch372:MiMi@Vim%Chalice ◆fI1wYbzaMQ
03/05/18 00:20
違うアプローチで作ってみました.
挿入モードで演算子を入力するとスペースを挿入します.
# コマンドモードに戻る必要はありません.

●注意事項
  プログラミング言語の仕様に+と++のような同じ文字を使った
  二種類の演算子がある場合は両方をmapして下さい.
  第2引数でスペースを入れるかどうかを指定します.
  これにより,++の時はスペースを入れない,==の時はスペースを入れる
  といった使い分けが出来ます.
  スペースを入れない仕様は意味が無さそうですが,+をmapして++をmapしないと,
  ++が入力できなくなってしまうので仕方なくこういう仕様にしました.

●1点だけごめんなさい項目があります.
  行頭ではmapした記号を入力できません.
  ただし,一般的にはインデントを入れるので気にならないでしょう.

" 両側にスペースを入れたい演算子をmappingする
inoremap <buffer> <silent> + <Esc>:call InsertSpaceOnBothSides('+', 1)<CR>a
inoremap <buffer> <silent> - <Esc>:call InsertSpaceOnBothSides('-', 1)<CR>a
inoremap <buffer> <silent> * <Esc>:call InsertSpaceOnBothSides('*', 1)<CR>a
inoremap <buffer> <silent> / <Esc>:call InsertSpaceOnBothSides('/', 1)<CR>a
inoremap <buffer> <silent> % <Esc>:call InsertSpaceOnBothSides('%', 1)<CR>a
inoremap <buffer> <silent> = <Esc>:call InsertSpaceOnBothSides('=', 1)<CR>a

inoremap <buffer> <silent> ++ <Esc>:call InsertSpaceOnBothSides('++', 0)<CR>a
inoremap <buffer> <silent> -- <Esc>:call InsertSpaceOnBothSides('--', 0)<CR>a
inoremap <buffer> <silent> == <Esc>:call InsertSpaceOnBothSides('==', 1)<CR>a


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