[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/18 19:04 / Filesize : 368 KB / Number-of Response : 974
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Vim6スクリプトお勉強スレ



1 名前:名無しさん@お腹いっぱい。 [01/12/17 12:15]
みんなでスクリプトを覚えよう

964 名前:名無しさん@お腹いっぱい。 [2008/04/24(木) 23:04:43 ]
tcvime.vimの文字ヘルプを使う時は、<Leader>?を入力します。この場
合の<leader>のデフォルトは<C-K>です。この<C-K>?を
tcode_cp932.vimのjfjにマップしたいのですが、下記のマップでは動作
しません。何が悪いのでしょうか?

jfj<tab>~K?

勿論fjのマップは外しています。宜しく、お願いします。


965 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/24(木) 23:22:12 ]
:h mapleader

966 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/25(金) 23:50:00 ]
>>964
tcvime.vimで<Leader>?にマップされてる文字ヘルプは、
Normal Mode時にカーソル位置にある文字の入力方法を表示する機能ですが、
Insert Mode用keymap(tcode_cp932.vim)のjfjにマップして、
どういう動作を期待してます?
Insert Modeでjfjと打ったら直前の文字のヘルプを表示して欲しいのでしょうか?

967 名前:名無しさん@お腹いっぱい。 [2008/04/26(土) 07:38:23 ]
>966
    失礼しました。もしかしたら、keymapのファイルはInsert Mode用に
    定義されているのですか?私は、全てのモードに定義されていると思
    っていた物ですから。やりたい事は、ノーマルモードで、jfjを^K?に
    マップしたい。

    例えば、nmap jfj ^Kqは動作するが、若しもの事を考慮してnnoremap
    jfj ^?と定義すると、何故か動きません。jもfもキーマップは定義
    していないのですが。

    済みません。宜しくお願いします。



968 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/26(土) 09:04:38 ]
keymapは主にInsert mode用です(lnoremapされるものです。mbyte-keymapのヘルプ参照)。
Normal modeで<C-K>?にマップされている機能を別のキーにマップしたい場合は、
nnoremapではなくnmapを使います(nnoremapとnmapのヘルプ参照)。
:nmap jfj <C-K>?

969 名前:名無しさん@お腹いっぱい。 [2008/04/26(土) 10:40:22 ]
>968
    mbyte-keymapのヘルプを読んだが、今一つnmapとnnoremapとの違いが
    分からない。この場合、nnoremapが動かないのは、再定義するキー
    マップが無いからなのだろうか?

    逆に、考えると確実にそのキーマップが存在していないと、nnoremap
    は動かないと考えるべきなのか。私が、nnoremapにこだわるのは何処
    でキーマップを使うか分からないので、誤動作を防ぎたい。それだけ
    の理由ですが、逆にこれが動かない結果となる。原因が分からな
    い。

    宜しく、お願いします。


970 名前:名無しさん@お腹いっぱい。 [2008/04/26(土) 19:27:08 ]
質問をさせてください。

コマンドの結果を変数に保存する場合、どのような記述をすれば良いのでしょうか。

以下が、やりたい事をvim の疑似言語で表したものです。
ここでは、:put を実行した時に出力される内容を変数に格納したいです

let tmp = `put`

どうかよろしくお願いします。

971 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/26(土) 22:41:23 ]
>>969
<C-K>?はtcvimeによってマップされているキーなのでnmapを使う必要があります。
:nmap jfj <C-K>?
としてjfjを打った場合、
以下の例のように<C-K>?はさらに展開されるので、tcvimeの関数が呼び出されます。
jfj → <C-K>? → :<C-U>call <SNR>4_ShowStrokeHelp()<CR>
一方、
:nnoremap jfj <C-K>?
としてjfjを打った場合、<C-K>?は展開されないので、
tcvimeの機能は呼び出されません。
jfj → <C-K>?

972 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/04/27(日) 00:00:11 ]
>>970
let tmp = system("put")

redir => tmp
put
redir END

上か下、どちらかでいけるよ。
どちらが使えるかは、put次第



973 名前:名無しさん@お腹いっぱい。 [2008/04/27(日) 10:32:29 ]
>971
    詳しい説明、有り難う御座います。何となく、mapとremapの違いが分
    かった様な気がします。
>965
    確かに、mapを指定するのでは無くてmapleaderの設定を変更した方が
    早いかも知れません。







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<368KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef