質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

1回答

1711閲覧

Vim script の v:register の使い方

machakann

総合スコア112

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2016/11/26 08:29

###前提・実現したいこと
Vim の v:register の使い方がわからない。

###発生している問題・エラーメッセージ

vim

1function! Wrappedx() abort 2 execute printf('normal! "%sx', v:register) 3endfunction 4nnoremap X :<C-u>call Wrappedx()<CR>

上のようなキーマッピングを定義していたとして、 "_xX と入力したとき Wrappedx() 関数が v:register_ を受け取ります。

_ レジスタは小文字の x が受け取り、 大文字の X'clipboard' オプションが空の時 " を受け取ることを期待していたのですが何か使い方を間違えているでしょうか?また、 v:count が 0 の場合のように、レジスタをユーザーが指定したかどうかを判断する方法はないでしょうか?

###補足情報(言語/FW/ツール等のバージョンなど)
Vim 8.0.85 32bit
Windows 10 64bit

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

動作について簡単に検証してみたところ、どうも Vim のバグの可能性があるように感じます。
この問題についてvim-jp/issues に報告しました。

また、 v:count が 0 の場合のように、レジスタをユーザーが指定したかどうかを判断する方法はないでしょうか?

私の知る限りでは、残念ながらありません。

投稿2016/11/27 02:12

thinca

総合スコア1864

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

machakann

2016/11/27 02:40

ありがとうございます。`x` コマンド以外だと期待通りに動くこともあって悩んでいました。 Issues のほうも見ておくことにします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問