Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

ドットリピートできる括弧のリマップ

$
0
0

/してcgnした後に.で繰り返せるのはべんりだけど、括弧のリマップがアレだと残念なことになる。

カーソル移動でundoが分断されるやつ
inoremap()()<Left>
違う、そうじゃない
fooをcgnで(bar)へ直してドットリピートしようとしている

1. (babababarrrr)
2. bar
3. hoge
4. foo

いつからあるのか知らないけど1<C-G>Uを足すと期待する挙動になる。

inoremap()()<C-G>U<Left>
流石ねジェームズ
1. (bar)
2. bar
3. hoge
4. (bar)

ヘルプ

CTRL-G U の使用例:

inoremap<Left><C-G>U<Left>inoremap<Right><C-G>U<Right>inoremap<expr><Home>col('.')==match(getline('.'),'\S')+1 ?
 \ repeat('<C-G>U<Left>',col('.')-1) :
 \ (col('.')<match(getline('.'),'\S') ?
 \     repeat('<C-G>U<Right>',match(getline('.'),'\S')+0) :
 \     repeat('<C-G>U<Left>',col('.')-1-match(getline('.'),'\S')))inoremap<expr><End> repeat('<C-G>U<Right>',col('$')-col('.'))inoremap(()<C-G>U<Left>

これにより undo を分割することなくカーソルキーを挿入モード内で使うことができ、
. (および redo) は期待通りに動作するようになる。
また次のような (上記の "(" マッピングをともなう) テキスト入力:

Lorem ipsum (dolor

.によって期待通り繰り返すことができるようになる。

Lorem ipsum (dolor)

http://vim-jp.org/vimdoc-ja/insert.html

ジャンプするやつなかったんで、:h insertして/CTRL-Gしてください...


  1. きょう気づいた 


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>