メモ帳

2006-08-16

[]^ でカウント指定できるようにするハック。 22:39 ^ でカウント指定できるようにするハック。を含むブックマーク ^ でカウント指定できるようにするハック。のブックマークコメント

昨日のこれ:

M でカウント指定できるようにするハック

http://d.hatena.ne.jp/parasporospa/20060815/1155651810

Emacs の viper-mode ではまったく同じ機能がすでに実装されていたらしい。


以下は ^ でカウント指定できるようにするハック。

viper-mode で [count]^ とすると [count]$ と同様に、行の最初の非空白に移動し、さらに count-1 行

下へ移動だが、こちらは行の最初の非空白文字から count 文字右へ移動するようにしてみた。

--- ../src.orig/normal.c	Sat Apr 29 22:11:18 2006
+++ normal.c	Wed Aug 16 22:02:41 2006
@@ -8371,6 +8372,14 @@
     cap->oap->motion_type = MCHAR;
     cap->oap->inclusive = FALSE;
     beginline(cap->arg);
+
+    {
+	int i;
+	for (i=0; i<cap->count0; i++) { 
+	    oneright();
+	}
+    }
+
 #ifdef FEAT_FOLDING
     if ((fdo_flags & FDO_HOR) && KeyTyped && cap->oap->op_type == OP_NOP)
 	foldOpenCursor();
2005 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 |
2009 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 06 | 08 | 09 |