[表示 : 全て 最新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]
みんなでスクリプトを覚えよう

726 名前:725 mailto:sage [2005/12/28(水) 18:41:33 ]
>>724
理由がわかりました。'backspace' の値が数値だとエラーが出るようです。
以下のパッチを当ててください。
1121c1121
< set backspace+=indent,eol
---
> set backspace=indent,eol
1196c1196
<     set backspace+=indent,eol
---
>     set backspace=indent,eol
1297c1297
<   exe "lnoremap <silent> <buffer> " . g:skk_abbrev_to_zenei_key . " <C-r>=<SID>SkkKey(\"<C-v>" . g:skk_abbrev_to_zenei_key . "\")<CR>"
---
>   exe "lnoremap <buffer> " . g:skk_abbrev_to_zenei_key . " <C-r>=<SID>SkkKey(\"<C-v><C-q>\")<CR>"
1366c1366
<   elseif a:key ==# g:skk_abbrev_to_zenei_key
---
>   elseif a:key == "\<C-q>"

727 名前:724 mailto:sage [2005/12/28(水) 20:00:54 ]
>>726
素早い反応ありがとうございます.

> 以下のパッチを当ててください。
修正(>>721以前のスクリプトの挙動になっていること)を確認しました ♪

728 名前:名無しさん@お腹いっぱい。 [2005/12/29(木) 00:23:01 ]
gvim は uim 1.0.0 以上の vim 協調モードでOKな気がする。
コンソールは uim-fep でこれまたOK

729 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/29(木) 00:43:00 ]
文章書きたい人には毎回offで始まる協調モードはあまりOKじゃないっす。

730 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/29(木) 01:52:54 ]
onだったらコマンド送れないやん

731 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/29(木) 01:54:28 ]
そりゃ当たり前。
だからコマンドモードではoff、挿入モードではonまたは前回と同じ状態という
制御が求められるのですよ。

732 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/29(木) 13:34:23 ]
>>716
こりゃいーわ
imcustomみたいで

733 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/29(木) 14:45:59 ]
というかgvimのmbyte.cは腐ってるから、誰か書き直さない?


734 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/29(木) 17:13:53 ]
先生!アボートしますた。

*** glibc detected *** double free or corruption (out): 0x085089e8 ***
Vim: 致命的シグナル ABRT を検知しました



735 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/30(金) 18:10:01 ]
>>733
そういえば文字化けしまくるな

736 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/12(木) 20:58:14 ]
インストールされているカラースキームを数秒ごとにスライドショーのように
表示するスクリプト、作成お願いします。

737 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/12(木) 22:06:03 ]
let i = 0
let color_files = globpath(&runtimepath, "colors/*.vim")
while i < strlen(color_files)
  let file = matchstr(color_files, "[^\n]*", i)
  execute "source " . file
  redraw
  echo g:colors_name
  let i = i + strlen(file) + 1
  sleep 1
endwhile

738 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 16:21:19 ]
神光臨!

それにしても、colors_name を設定していない不届き者が何名がおるの。
自分がインストールしている範囲で、6カラースキームあった。

739 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/14(土) 13:23:56 ]
skk.vim取れないよん
再うpよろ

740 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/16(月) 18:23:43 ]
skk.vim
ちょっとだけしか手を入れてないけど
ttp://49uper.com:8080/html/img-s/105893.zip

741 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/18(水) 14:27:05 ]
>>740
ありがとうございます。DLできました。

742 名前:739 mailto:sage [2006/01/20(金) 00:55:45 ]
あー、ちょっとこのスレ覗かないうちに・・
うpしてくれたけど、もう落とせない・・ ガーソ

743 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/20(金) 17:28:40 ]
skk.vim
>740 とまったく同じ
ttp://49uper.com:8080/html/img-s/106584.zip

744 名前:KoRoN@Vim%Chalice ◆8XALICEsdk mailto:sage [2006/01/20(金) 17:38:06 ]
>>743 www.kaoriya.net/testdir/skkvim-20060116.zip
にコピーを置いておきます。



745 名前:743 mailto:sage [2006/01/23(月) 09:25:21 ]
>> KoRoN 様
お手数をおかけして申し訳ありません。
ありがとうございました。

746 名前:743 mailto:sage [2006/01/24(火) 02:27:19 ]
>>744
やっと落とせた
おおきに!

747 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 16:44:31 ]
vimスクリプトの関数って2つの値を返す、もしくは引数の値を書き
換えることってできないのですか?

748 名前:mattn@Vim%Chalice mailto:sage [2006/01/26(木) 17:40:25 ]
>>747
function! Test()
  let l = [1, 2]
  return l
endfunction
let r = Test()
echo r[0]
echo r[1]

では駄目ですか?

749 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 17:53:16 ]
>>748
それ、vim7ですよね。

750 名前:mattn@Vim%Chalice mailto:sage [2006/01/26(木) 18:00:43 ]
そうですね。
vim6 では、セッション変数を利用するしかないと思われます。
# もしくは改行などのセパレータを使った文字列を返す等

751 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/02(木) 02:17:24 ]
知らんかった。感動した。
:let filename = "hoge.txt"
:e `=filename`

752 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/03(金) 01:27:09 ]
gvimでなくvim(GUIでなくターミナルでvimが起動している)という判定を
vimscriptで書くとどうなりますか?

753 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/03(金) 01:34:09 ]
:echo has('gui_running')

754 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/03(金) 01:37:35 ]
>>752
if has("gui_running")
    "GUI
else
    "CUI
endif



755 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/04(土) 02:50:26 ]
>>753-754

ありがとうございました。


756 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/05(日) 09:14:25 ]
vim scriptだけでskkが動くのならmigemoもできるかも?

757 名前:KoRoN@Vim%Chalice ◆8XALICEsdk mailto:sage [2006/02/05(日) 10:22:44 ]
>>756
1行の候補を探せば良いだけのSKKと、探し出した複数行の候補を正規表現へ組み立て
なければならないMigemoでは少し事情が違い、大量のCPUとメモリを使ってしまうで
しょう。回避策はいくつか考えられますが、実用になる速度+メモリで動くようにな
るには少し時間がかかる気がします。

758 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/07(火) 21:23:34 ]
scriptの中で
% s/a/b/g
を実行したときにaが見つからないと

処理中にエラーが検出されました。
E486: パターンはみつかりませんでした。: a

のようなエラーメッセージが表示されてうるさいので
try〜catch文で囲ってるんですがどうもcatchできない
みたいです。パターンがなくてもエラーメッセージが
出ないようにしたい場合どうすればいいんでしょうか?

759 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/07(火) 21:26:54 ]
%s/a/b/ge

:h :s_flags

760 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/07(火) 21:59:59 ]
>>759 うまくいきますた。謝呀

761 名前:名無しさん@お腹いっぱい。 [2006/02/24(金) 13:46:01 ]
:let foo = "Hello World"
:echo foo
Hello World
:let foo = 5
:let bar = "2"
:echo "foo+bar=" . (foo + bar)
foo+bar=7



762 名前:名無しさん@お腹いっぱい。 [2006/03/14(火) 10:56:49 ]
skk.vim
お久し振りです。
>>710 への一つの解として Auto Fill モードを付けてみました。
format.vim がロードされてないと自動で折り返しはしません。
デフォルトではトグルキーを <C-k> にマップしてあります。
ttp://aploda.org/dl.php?mode=pass&file_id=0000000092

763 名前:KoRoN@Vim%Chalice ◆8XALICEsdk mailto:sage [2006/03/14(火) 11:50:40 ]
>>762 おつかれさまです。コピー置いておきます。
www.kaoriya.net/testdir/skkvim-20060314.zip

764 名前:710 mailto:sage [2006/03/15(水) 06:55:59 ]
>>762
素晴らしいです.実用には十分です.
現在も100% skk.vimを常用しているので引き続きテストします.

本当にありがとうございます.



765 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/10(月) 22:31:47 ]
skk.vim すげぇぇぇ!!!!

766 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/21(金) 19:51:55 ]
良スレ

767 名前:名無しさん@お腹いっぱい。 [2006/04/24(月) 00:54:56 ]
>>751

えと、これはどう解釈したらいいのでしょ?

`=foo` の部分がどういう意味の構文だかわからんす。

768 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/24(月) 03:46:40 ]
:h `-expansion

769 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/03(水) 00:48:03 ]
テキストファイルがたくさんあって中身に必ず"DT[YYYY-MM-DD]"という文字列が
あります(YYYY-MM-DDは年月日)。これらのファイルのうち例えば1989年以降の
ファイルだけカウントしたい場合どうしたらよいでしょうか?
s/DT\[\([0-9]\{4}\)/\1/g
の\1みたいにマッチした文字列を変数に取り出すみたいなことはできるのでしょうか。

770 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/03(水) 10:50:12 ]
vimよりは、普通にegrep+wcでやっつけたほうが楽だとおもうけど...

771 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/03(水) 14:13:38 ]
よくわかんないけどこういうの?
function! Func()
  let year = matchstr(getline('.'), 'DT\[\zs\d\{4}\ze-\d\{2}-\d\{2}\]')
  if year >= 1989
    echo "ウホッ"
  endif
endfunction
g/DT\[\d\{4}-\d\{2}-\d\{2}\]/call Func()

772 名前:769 mailto:sage [2006/05/03(水) 22:55:57 ]
>>771 おおっありがとう。
function! CountPeriod( period )
  let s:check_sum = 0
  let s:period_sum = 0
  bufdo call s:DoCounts( a:period )
  echo a:period "以降のファイルは" s:period_sum "個でした。"
  echo "チェックしたファイル数 "s:check_sum
endfunction
function! s:DoCounts( period )
  g/DT\[\d\{4}[0-9\-,]*\]/call s:Counts( a:period )
endfunction
function! s:Counts( period )
  let s:check_sum = s:check_sum + 1
  let year = matchstr(getline('.'), 'DT\[\zs\d\{4}\ze[0-9\-,]*\]')
  if year >= a:period
    let s:period_sum = s:period_sum + 1
  endif
endfunction
こんな感じで思っていた事ができました。

773 名前:名無しさん@お腹いっぱい。 [2006/05/11(木) 17:49:17 ]
不特定多数行の内、
folderの単語の無い行を取り去りたいのですが、どうしたらよいですか?

774 名前:KoRoN@Vim%Chalice ◆8XALICEsdk mailto:sage [2006/05/11(木) 18:13:37 ]
:g/folder/d

かな? 「folderの単語の無い」っていうのの意図がわかりません。



775 名前:名無しさん@お腹いっぱい。 [2006/05/11(木) 18:45:12 ]
"folder"という単語が一度も登場しない行の事です。

776 名前:名無しさん@お腹いっぱい。 [2006/05/11(木) 18:53:00 ]
要するに、"folder"が登場する行をコレクトしたいのです。

777 名前:匿名希望@Vim%Chalice mailto:sage [2006/05/11(木) 21:19:53 ]
:v/folder/d
のことか

778 名前:名無しさん@お腹いっぱい。 [2006/05/11(木) 23:12:54 ]
ありがとう匿名の人

779 名前:名無しさん@Vim%Chalice mailto:sage [2006/05/12(金) 23:08:03 ]
:g!は:vとも書けるのか、はじめて知った
でもスレ違い気味だね

780 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/14(日) 21:25:17 ]
vim7にしてkaoriyaのパッチを当てたけど、migemoが効かない。
:versionでは+migemoになってるのに。

781 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/14(日) 21:26:43 ]
スマン。書くスレ間違えた。

782 名前:780 mailto:sage [2006/05/14(日) 21:32:12 ]
migemodictが設定されてませんでした。

783 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/08(木) 08:20:17 ]
tokyo.cool.ne.jp/hopper2/vimproc.zip
Vimスクリプトでプロセス間通信やソケット通信しちゃうライブラリ。
例えばこのように遊べます...
let sock = g:vimproc.socket_open("www.yahoo.com", 80)
call sock.write("GET / HTTP/1.0\r\n\r\n")
let res = ""
while !sock.eof
  let res .= sock.read()
endwhile
call sock.close()
for line in split(res, '\r\n\|\r\|\n')
  " ...
endfor

784 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/20(火) 17:05:11 ]
>> 783
おもすれー。
ところで proc.vim の関数定義で書いてある dict ってどういう意味があるのでしょうか。



785 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/20(火) 23:52:54 ]
dict を指定した関数では self という変数が暗黙的に使えるようになります。
c++ の this や python の self みたいなもんです。
ディクショナリとともに使い、オブジェクト指向っぽいコードが書けます。

:help Dictionary-function より
  :function Mylen() dict
  :   return len(self.data)
  :endfunction
  :let mydict = {'data': [0, 1, 2, 3], 'len': function("Mylen")}
  :echo mydict.len()
この例だと、selfにはmydictが代入されます。

普通の関数と同じようには呼べません。
  :call Mylen()   <- これはエラーになる

関数の定義とディクショナリへの設定をまとめてすることもできます。
:help numbered-function  より
  :let mydict = {'data': [0, 1, 2, 3]}
  :function mydict.len() dict
  :   return len(self.data)
  :endfunction
  :echo mydict.len()
(この方法で定義した関数には名前ではなく番号が付けられるので、
エラーが起きたときに「関数 3 でエラー」みたいに表示されて泣けます)

786 名前:784 mailto:sage [2006/06/21(水) 11:35:50 ]
いえ、dict を指定しなくても self が参照できるため、疑問に思ったのです。

:let mydict = {'data': [0, 1, 2, 3]}
:function mydict.len()
: return len(self.data)
:endfunction
:echo mydict.len()

という dict を書かない書き方でも self が参照でき、
期待した値が帰ってくるので、dict 書かなくてもいいんじゃないかなぁ、
と思った次第です。

787 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/21(水) 22:03:00 ]
あーホントだ。
It is not necessary to use the "dict" attribute for a numbered function.
ですね。気づかなんだ。

788 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/22(木) 23:53:45 ]
>>784 の vimproc を利用して簡単な HTTP クライアントを作ってみました。
www.bigbold.com/snippets/posts/show/2227

let h = HTTP.new('www.bigbold.com')
let res = h.get('/snippets/')
echo res.headers
if res.code < 400
echo res.body
else
echo 'error ' . res.code
endif

などして使うことができます。
エラー処理周りは全くやってないのでお遊び程度にしか使えませんが…。

789 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/23(金) 11:14:41 ]
むー、>>783のやつ面白そうなんだけど、
Windowsでも使えるようにするには、どうやってコンパイルしたらいいんだろー

790 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/23(金) 19:52:23 ]
Windowsでも使えるようにしたので適当にどうぞ。urlは同じです。dllも入ってます。
vimproc.dllはVisual Studioでコンパイル、vimproc_mingw.dllはmingwでコンパイル
したやつです。たぶん大丈夫だろうけどダメなら交換してください。
pipeは怪しいけど他はそれなりに動くと思います。

...ちゃんとマニアックな人がいて良かったw

791 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/24(土) 08:11:35 ]
>>790
やーべー、言ってみるもんだw
ありがとーです。遊ばしてもらいます。

792 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 11:15:13 ]
skk.vim
毎回毎回同じローマ字ルールを計算するのも無駄なので SkkAddRulesSection()
というのを作りました。これはコンパイル済のデータを自分自身に書き込みます。
読み込み時間は多少増えますが、気にならないレベルだと思います。
削除するには SkkDeleteRulesSection() を呼んでください。
あと vim7 にも対応したつもりです。
それと、いつまでも KoRoNさんのところをお借りしているわけにもいかないので、
まっつんさんが言われたように vim.org の scripts に公開してみることにしました。
ttp://www.vim.org/scripts/script.php?script_id=1589

793 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/29(木) 16:28:04 ]
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

794 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/17(月) 07:31:45 ]
function! g:GetHere()
  redir => str
  silent function g:Here
  redir END
  let lines = split(str, '\n')[1:-2]   " 前後のゴミ(関数宣言)を削除
  let lines = map(lines, 'v:val[3:]')  " 行番号を削除
  return join(lines, "\n")
endfunction

function! g:Here()
ねんがんの ヒアドキュメント をてにいれたぞ
endfunction
let a = g:GetHere()

function! g:Here()
これは
ヒアドキュメントです
ウヒョヒョ
endfunction
let b = g:GetHere()



795 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/17(月) 16:25:04 ]
>>794
これはどう使うものなんだい?

796 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/17(月) 18:39:23 ]
どうって言われてもな。見たまんまだよ
:fu! g:Here()
:  テキスト
:endf
:echo g:GetHere()
テキスト

797 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/19(水) 22:07:18 ]
>>794
うまいね。vimスクリプトでここまでトリッキーな
技は始めて見た。

798 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/01(火) 03:41:45 ]
Vimの関数はグローバル関数と無名関数の二種類しかないという話。

fun Func()
endf
fun g:Func()  <- Func()とは区別される
endf
fun g:func()
endf
fun b:func()
endf
fun w:func()
endf
fun s:func()
endf
fun hogehoge::func()
endf

全部グローバル関数。
b:とかw:とかに特殊な意味はなくて、単に関数名にコロンが使えるってことでしかない。
s:func()は特別扱いだけど、<SNR>123_func()という特殊な名前のグローバル関数に
過ぎないので、スクリプト番号さえわかればどこからでも呼び出せる。

ちなみに関数と変数は名前空間が分かれている。

799 名前:カラーロゴなり (1/2) mailto:sage [2006/08/02(水) 11:21:56 ]
let h = ["black", "darkblue", "darkgreen", "darkcyan", "darkred", "darkmagenta", "brown",
      \ "lightgray", "darkgray", "blue", "green", "cyan", "red", "magenta", "yellow", "white"]
for i in range(16)
  execute printf('syn match _%x /\c%x/', i, i)
  execute printf('hi _%x guifg=%s guibg=%s ctermfg=%s ctermbg=%s', i, h[i], h[i], h[i], h[i])
endfor
put ='                   A                   '
put ='                  A2A                  '
put ='   7777777777777AA222AA7777777777777777'
put ='   788888888888822222227888888888888888'
put ='   00888888888002222222008888888888000 '
put ='     888888888222222222278888888800    '
put ='     7888888882222222227888888880      '
put ='     788888888222222277888888800       '
put ='     78888888822222278888888802A       '
put ='     788888888222277888888800222A      '
put ='    A7888888882227888888880222222AA    '
put ='   A2788888888277888888800222222222A   '
put =' AA227888888887888888880222222222222AA '

800 名前:カラーロゴなり (2/2) mailto:sage [2006/08/02(水) 11:23:32 ]
put ='22222788888888888888880022222222222222A'
put =' 2222788888888888888008822222222222200 '
put ='   227888888888888002888222222222220   '
put ='    2788888888888022222222222222220    '
put ='     7888888888002222888228888828888   '
put ='     78888888802222228882288888888888  '
put ='     788888800222222288822882288   88  '
put ='     788888022222222888822882 88   88  '
put ='     788800 222222228882288   88  88   '
put ='     7880    22222228882288  88   88   '
put ='     780       222228882 88  88   88   '
put ='     00         2222888  88  88   88   '
put ='                  220                  '
put ='                   0                   '

801 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 21:47:02 ]
メールアドレスを補完する completefunc を作ろうとしたけど
完全なものにするのはかなり大変だとわかった。
誰か改良して。

function! CompleteMail(findstart, base)
if a:findstart
let line = getline(".")
let start = col(".") - 1
while start > 0 && line[start - 1] =~ '[A-Za-z@\.\-]'
let start -= 1
endwhile
return start
else
let res = []

802 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/09(水) 21:47:57 ]
        while 1
            let match = search('\<' . a:base, "bW")
            if match <= 0
                return res
            endif
            let line = getline(".")
            let b = col(".") - 1
            let e = match(line, '[^A-Za-z@\.\-]', b + 1)
            if e < 0
                let e = strlen(line)
            endif
            call add(res, strpart(line, b, e-b))
            if complete_check()
                return res
            endif
        endwhile
    endif
endfunction

set completefunc=CompleteMail

803 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/11(金) 16:40:31 ]
こんなかんじだろうか
function! CompleteMail(findstart, base)
  if a:findstart
    let str = getline(".")[: col('.') - 2]
    let start = match(str, '[[:alnum:]_.-]*\%(@[[:alnum:]_.-]*\)\=$')
    return start
  else
    redir => str
    silent g/[[:alnum:]_.-]\+@[[:alnum:]_.-]\+/
    redir END
    let mx = '[[:alnum:]_.-]\+@[[:alnum:]_.-]\+'
    let i = match(str, mx)
    while !complete_check() && i != -1
      let address = matchstr(str, mx, i)
      if stridx(address, a:base) == 0
        call complete_add(address)
      endif
      let i = match(str, mx, i + len(address))
    endwhile
    return []
  endif
endfunction

804 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/11(金) 21:04:47 ]
>>803
すばらしい。とても勉強になります。
ありがとうございます。
ところでメールアドレスに使える文字の正規表現は
けっこう複雑らしい。
www.tohoho-web.com/lng/199809/98090025.htm



805 名前:名無しさん@お腹いっぱい。 [2006/09/11(月) 10:54:33 ]
ふと。skk.vim にも変換予測が付かないかと思ってしまった。


806 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/09/11(月) 18:41:32 ]
>>805
変換予測って具体的にはどんなイメージですか?

807 名前:名無しさん@お腹いっぱい。 [2006/09/11(月) 23:22:16 ]
携帯の入力のように かな文を打つている片っ端から
候補が出でくるようなのがあったら良いな、と思いました。

具体的には、
UNIX系で 出ている予測入力システムだと PRIME と言うのがあるようです。
そこに出ている説明ページ
taiyaki.org/prime/prime.html
にあるような機能です。


808 名前:名無しさん@お腹いっぱい。 [2006/09/12(火) 01:50:44 ]
>>807
pitecan.com/OpenPOBox/

POBOXとかどうよ

809 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/09/12(火) 11:34:21 ]
>>807
そこまでいっちゃうと skk じゃないような気がします。

810 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/09/12(火) 11:46:51 ]
skk-dcomp.el みたいなやつ?

811 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/09/12(火) 11:55:44 ]
>>810
そうですね。そこらへんならそんなに操作性も変わらないし。

812 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/09/14(木) 04:59:12 ]
タイマーっぽい

set updatetime=1000
autocmd CursorHold * call Timer()
function Timer()
  echo strftime("%c")
  let K_IGNORE = "\x80\xFD\x35" "特殊な内部コード
  call feedkeys(K_IGNORE)
endfunction

813 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/09/17(日) 06:00:05 ]
一番でかいvimスクリプトってなんだろう。chalice?

814 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/09/22(金) 19:01:16 ]
>>810
それならuimでできるし。




815 名前:高一 mailto:sage [2006/09/23(土) 10:50:13 ]
タイムサービスに勝つスクリプトってありますか?
瞬時に住所、名前とかかけちゃうような・・・
なんでもいいので攻略法あったら教えて下さい

816 名前:名無しさん@お腹いっぱい。 [2006/09/24(日) 08:56:08 ]
あげ

817 名前:名無しさん@お腹いっぱい。 [2006/09/24(日) 18:12:57 ]
なんで?

818 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/09/26(火) 19:07:17 ]
外部ファイルから文字読込んで、ループで対象文字を検索して、
それを変数に代入するコードはどんな感じになるでしょうか?

819 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/09/27(水) 20:14:13 ]
こんな感じ?
function F(fname, pat)
  for line in readfile(a:fname)
    if line =~ a:pat
      let match = matchstr(line, a:pat)
    endif
  endfor
endfunction

820 名前:名無しさん@お腹いっぱい。 [2006/09/28(木) 03:49:31 ]
setで変数をオプションに代入したいのですがうまくいきません
set fdc=3 と定数にするとうまくいきます

fun! Outline#Set(...)
  let fdc_ = 3

  if a:0==1
    let fdc_ = a:1
  endif

  set foldmethod=expr
  set foldexpr=Outline#FoldLevel(v:lnum)
  set fdc=fdc_ "E521: = の後には数字が必要です: fdc=fdc_
endf

com! -nargs=? Outline call Outline#Set(<args>)

821 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/09/28(木) 11:34:01 ]
>>820
let &fdc=fdc_

822 名前:名無しさん@お腹いっぱい。 [2006/10/02(月) 06:20:22 ]
rubyで作った文字列とかvim scriptの変数にいれれるん?

fu! Aaaa()
let vimstr = ""

ruby vimstr = "Hello Ruby!!"

....

823 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/03(火) 19:47:23 ]
レジスタとか経由すれば

824 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/04(水) 07:08:18 ]
rubydo VIM::command('let g:xyz=45')



825 名前:822 mailto:sage [2006/10/04(水) 22:17:44 ]
>>824
できすまた
ありがとうございます

826 名前:名無しさん@お腹いっぱい。 [2006/10/13(金) 10:08:09 ]
snippetsEmu www.vim.org/scripts/script.php?script_id=1318
このスクリプトがかなり便利なんだけど使っている人いる?






[ 続きを読む ] / [ 携帯版 ]

前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