スパム対策として書込み時にID/PWを要求されますが、ローマ字で ほげ/ホゲ で書き込めるようになります。

消した部分以外を動かさないで cw

  • ページ: tips
  • カテゴリー: 編集
  • 投稿日: 2006-07-29 10:50:28 (土)

メッセージ

vimスレ part13 >>139- より

(vim7 以降が必要)
(等幅フォントでないとわかりづらいかもしれません)

hoge     = 213;
mogemoge = 49494;

となっているとき、mogemoge を mige に変更したい。
ただし = の位置は揃えたままにしておきたい。
というようなときのためのマッピング。
mogemoge の 先頭で \cw をすると

hoge     = 123;
         = 4567;

となってカーソル位置は元のまま Replace モードが始まる。
オペレータを定義しているので、同様に \ciw や範囲選択して \c もできる。

nnoremap <silent> \c :set opfunc=WhitenAndReplace<CR>g@
vnoremap <silent> \c :<C-U>call WhitenAndReplace(visualmode(), 1)<CR>

function! WhitenAndReplace(type, ...)
	let old_ve = &virtualedit
	set virtualedit=all
	if a:0  " Invoked from Visual mode, use '< and '> marks.
		silent exe "normal! `<" . visualmode() . "`>r\<space>"
	elseif a:type == 'line'
		silent exe "normal! '[V']r\<space>"
	elseif a:type == 'block'
		silent exe "normal! `[\<C-V>`]r\<space>"
	else
		silent exe "normal! `[v`]r\<space>"
	endif
	let &virtualedit = old_ve
	startreplace
endfunction




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-10-14 (火) 01:13:17 (1467d)