teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

環境を載せました

2016/07/14 16:48

投稿

oskbt
oskbt

スコア1895

title CHANGED
File without changes
body CHANGED
@@ -6,6 +6,9 @@
6
6
  <a></a>で vitのときの状態を長さ0 選択範囲は空(ない?)
7
7
  としました
8
8
 
9
+ 追記2
10
+ vimはkaoriyaさんの gvim 7.4.1721 32bit版です。
11
+
9
12
  ---
10
13
 
11
14
 

4

文字がでかくなるのを修正

2016/07/14 16:48

投稿

oskbt
oskbt

スコア1895

title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,7 @@
5
5
  <a>b</a> でvitのときの状態を長さ1 bが選択されている
6
6
  <a></a>で vitのときの状態を長さ0 選択範囲は空(ない?)
7
7
  としました
8
+
8
9
  ---
9
10
 
10
11
 

3

マークダウン方式に関する修正

2016/07/14 12:03

投稿

oskbt
oskbt

スコア1895

title CHANGED
File without changes
body CHANGED
@@ -1,11 +1,13 @@
1
1
  vimscriptでビジュアルモードの選択範囲を取得して、その長さにより処理を変えたいのですが、長さが0のときと1のときの違いをうまく取れなくて悩んでいます。
2
2
 
3
+ ---
3
- 追記=================
4
+ 追記
4
5
  <a>b</a> でvitのときの状態を長さ1 bが選択されている
5
6
  <a></a>で vitのときの状態を長さ0 選択範囲は空(ない?)
6
7
  としました
7
- ===================
8
+ ---
8
9
 
10
+
9
11
  ```vimscript
10
12
  function hoge()
11
13
  let [l:lnum1, l:col1] = getpos("v")[1:2]

2

選択範囲の長さという意味を明確にしました

2016/07/14 12:02

投稿

oskbt
oskbt

スコア1895

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,11 @@
1
1
  vimscriptでビジュアルモードの選択範囲を取得して、その長さにより処理を変えたいのですが、長さが0のときと1のときの違いをうまく取れなくて悩んでいます。
2
+
3
+ 追記=================
4
+ <a>b</a> でvitのときの状態を長さ1 bが選択されている
5
+ <a></a>で vitのときの状態を長さ0 選択範囲は空(ない?)
6
+ としました
7
+ ===================
8
+
2
9
  ```vimscript
3
10
  function hoge()
4
11
  let [l:lnum1, l:col1] = getpos("v")[1:2]

1

言葉の誤用がありました

2016/07/14 12:01

投稿

oskbt
oskbt

スコア1895

title CHANGED
File without changes
body CHANGED
@@ -12,7 +12,7 @@
12
12
  vmap <expr> <plug>(hoge) hoge()
13
13
  ```
14
14
 
15
- これで選択範囲の長さが1以上の場合とは分離できているのですが、こんな感じのやり方では0と1で違いがないようです。
15
+ これで選択範囲の長さが1より大きいときの場合とは分離できているのですが、こんな感じのやり方では0と1で違いがないようです。
16
16
  選択範囲の最後のところにカーソルがあるので、getpos(".")でカーソルの位置を取得しているのですが、そのカーソルの頭の方の値を返すため、厚みのない0のときと1のときで同じ値を返しているのかと考えています。
17
17
 
18
18
  カーソルの後ろの方の値の取り方や、そもそもビジュアルモードの選択範囲の長さの取り方など知っていたら教えてほしいです。