1 名前:名無しさん@お腹いっぱい。 [2007/03/19(月) 20:09:27 ] 立ててみた。 www.vim.org/ 前スレ pc10.2ch.net/test/read.cgi/unix/1151423973/
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 12:46:51 ] gvimとかで、背景に画像貼ったりできないの?
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 23:20:05 ] >>732 jvimなら出来てたなぁ(遠い目)
734 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 23:23:06 ] まぁ画像を背景にできるターミナルソフトでvimを使えばいいじゃない と思ったが、gvimでできると面白いだろうなぁ そういう遊び心が欲しい気も
735 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/13(火) 23:30:59 ] gvim入れてない・・
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 09:13:12 ] FuzzyFinderとか使ってる人はもうファイルを開くのは全部それでやってるの? 便利だとは思うんだが、指が完全に:eに慣れちゃっててどうも移行しきれない…
737 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 20:49:59 ] bufexplorer バージョンアップしても相変わらず空白パスを扱えないな
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 21:07:05 ] >>736 体が覚えてるようなやつは、無理に乗り換えたりしないな。:e Make<Tab> とか。 どれだったかなーってだらだら探すときはfuzzyfinder使ってる。
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 22:11:41 ] 選択範囲の各行頭に連番を挿入してリストを作れるようにしたいのですが、 どのようにしたら実現できるでしょうか? hogehoge hogehoge を 1.hogehoge 2.hogehoge にするイメージです。
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 22:39:39 ] >>737 作者に教えたれよ
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 22:56:16 ] >>739 vimwiki.net/?tips%2F91
742 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/14(水) 23:30:15 ] >>738 一行目だけ手で 1: を先頭に入れる yw で 1 をレジスタに登録 j で二行目に移動して qq でキーボードマクロ q への登録スタート I<C-R>": で 1: を行頭に挿入して <ESC> で抜ける 0<C-A> で行頭にもどって値をインクリメント yiw でインクリメントした値をレジスタに登録して q でキーボードマクロ終了 これで一行分のキーボードマクロが出来ます あとは Vjjj と必要な分だけヴィジュアルモードで選択して :'<'>norm@q と打てば選択範囲に q で登録されたキーボードマクロが実行されます 最初にレジスタに登録させる数字をかえればその次の数字から連番されます <C-A> の前に 3 などを打てば 3 とばしに連番出来ます これはどんな操作も範囲内に適用できるので汎用性の高い方法です :'<'>norm@q は map しておいても良いかも知れません また vis.vim を導入して :'<'>B norm@q とすることでブロック選択内にキーボードマクロを適用することも可能です vis.vim ttp://www.vim.org/scripts/script.php?script_id=1195
743 名前:739 mailto:sage [2007/11/14(水) 23:42:09 ] >>741-742 レスありがとうございます。 とりあえず>>741 で教えていただいたページを参考に以下のようにしてみました。 function! YankWithIncreNumber() range let a = "" let i = a:firstline let c = 1 while i <= a:lastline let a = a . c . "." . getline(i) . "\n" let i = i + 1 let c = c + 1 endwhile call setreg('*', a, "l") silent execute "p" endfunction vmap <silent> <Leader>l :call YankWithIncreNumber()<CR>Pgvd
744 名前:739 mailto:sage [2007/11/14(水) 23:46:06 ] これで一応期待した動作にはなったのですが、 はたしてこれがスマートな方法なのかどうかは不明・・・ もっとすっきりした方法があればご教授くださいorz
745 名前:739 mailto:sage [2007/11/14(水) 23:58:51 ] すみません。>>743 で「silent execute "p"」の部分は消し忘れでした。不要です。 実のところvimスクリプトの書き方があまりりよく分かってません。 できればわざわざレジストリに登録せずに連番付きのテキストに置き換えられるといいんですが。 あと、>>742 の「ブロック選択内にキーボードマクロを適用」ってできるんですね。 知りませんでした。丁寧に説明していただいてありがとうございます。
746 名前:739 mailto:sage [2007/11/15(木) 01:42:38 ] 何度も連投ごめんなさい。 こいつを導入してみたところ、 www.vim.org/scripts/script.php?script_id=670 これ一行で実現できたかもです。 vmap <silent> <Leader>l :s/^/1\./<CR>gv^o^<C-v>:I<CR>j とりあえずご報告まで。 以後自重します。お騒がせしました。
747 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 02:09:47 ] <silent> <Leader> って何?
748 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 02:35:17 ] :help <silent> :help <leader>
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 16:56:13 ] プチtip カーソル下の単語の先頭の文字へ移動するには: "_yiw (bだと前の単語へ移動しちゃうかもしれないのでマップとかでは使えない)
750 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 18:00:38 ] netrw(:Explorer)はツリー表示もできる。iを押すと4種類の表示形式を切り替えられる。 let = g:netrw_liststyle = 0 〜 3 で設定できる。 でもCygwinで使ってるとときどきclipboard云々というエラーが出る。
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 20:06:01 ] というか netrw もバグバグ もうどうにかして貰いたい
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 21:35:29 ] >>751 どうにかしてください。
753 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/15(木) 23:48:37 ] "my_function()" みたいな語句で "my" だけを修正するために, '_' (アンダースコア) を単語の区切りとして認識させたいんですけど, 方法を知っている方いらっしゃいませんか?
754 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 00:33:59 ] >>753 俺なら m のところにカーソル持っていって ct_ で置き換えるな。
755 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 01:19:13 ] vimでアウトラインとかやりたい時 一番有名というか定番な拡張って何ですか? (本体には採用予定ないんですよね?)
756 名前:753 mailto:sage [2007/11/16(金) 01:23:12 ] >>754 cw と違ってその場で任意の文字に対応できて良さそうですし その方法を使ってみます. どうもありがとうございます.
757 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 01:25:55 ] こういうのもある。 camelcasemotion - Mappings for motion through CamelCaseWords and underscore_notation. : vim online www.vim.org/scripts/script.php?script_id=1905 俺も ct_ でやるけど、これは4キー。 速さとタイプしやすさを総合すると、vで選択してcの方がいいかもという気はする。
758 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 01:50:16 ] >>757 ありがとうございます.欲しかったのはまさにこの機能です. v3wc (v3t_c) でも c3w (c3t_) でもあまり変わらないと思いますが, 自分は何となく v は目が疲れるような気がするので避けています.
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 02:28:56 ] >>755 アウトラインてこういうの? vimwiki.net/?tips%2F92 vimの正規表現は強力だから他のエディタがやってる正規表現ベースの アウトラインならけっこう簡単に作れると思う。
760 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 08:20:18 ] >>759 いや、そういう関数一覧とかいう感じのじゃなく 単なる階層構造というか、通常文章での章立てみたいなのを扱いたいんですよね 秀丸やWZなんかについてるアレです ttp://hide.maruo.co.jp/software/hidemaru7/outline.html ここの「通常のテキスト」みたいな奴ですね とりあえずwww.vim.orgからTVOってのを落としてきましたが オール英語で使い方を模索中でござる 他に遣っている方いますかね?
761 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 09:25:17 ] スマートテキスト系のパーサをいじって、章ヘッダとかをtagsファイルに出力させて、 それをtaglist.vimで参照しつつvimで論文を書いたことある。 パブリッシュや印刷プレビューなんかはMakefileに書いて一発呼出しすればさらに便利。 まわりが長文だけはemacsとか、macやwinを使う中で、なかば意地で書いた環境だったけどわりと使えたな。
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 05:19:47 ] hide.maruo.co.jp/software/hidemaru7/image/hm_outline1.png これはvimに欲しいと思った
763 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 05:26:20 ] >>737 作者にpatch送りました。version 7.1.4で取り込まれた様子
764 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 06:24:19 ] gj
765 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 06:49:21 ] >>764 thx. でも、bufexplorer.vimの改行コードが dos(CRLF)に変わっとる。 そのお蔭か、Windows上では問題ないっぽいけど、Linux上のvim(or gvim)でエラーがでる。 :se ff=unix :w したらエラー出なくなる模様
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 11:57:58 ] >>763 ありがとう もの凄く感謝 2バージョン放置されていたところを見るとやっぱり空白パスなんて使っている人居ないんだろうね・・・
767 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/17(土) 23:52:48 ] そういうことではないと思うが… 次はがんばれ
768 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 00:00:22 ] vimの背景に画像を設定することはできますか?
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 00:38:13 ] >>768 っttp://gugurekasu.com/
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 01:33:05 ] >>769 けなげに、ごくろう! ありがとうございました。
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/18(日) 09:20:23 ] ttp://gugurekasu.com/ってこのためだけにドメインとってるの?w なんかスゲー
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 15:40:31 ] version 6.1だけど画像を背景にできるのを見つけた ttp://www.jbrowse.com/text/bmbk.shtml ver7以降も作ってくれるといいのになぁ
773 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 17:23:04 ] なんか150行位のpatchだしvim7にもちょっとの修正でなんとかなるんじゃない? 半分以上は宣言とか、登録とかで、実装部はそんなにないし。いや、ちらっとしか見てないけど。
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 22:38:31 ] 誰か最新版で作ってくれ
775 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/20(火) 00:25:18 ] 行の位置とかは調整しないとだめだけどコードはそのままで動くぞ
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 14:44:25 ] escを ctrl+[ で入力するとなぜか ^] が入力されてしまうマシンがあります。 ^jでEnterとかはうまくいくのに、ctrl+[だけ動作がヘンです。対処法があれば教えてください。
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/21(水) 15:04:44 ] キーボードの配列がASCIIになってないかそれ?
778 名前:776 mailto:sage [2007/11/21(水) 15:17:36 ] gnomeでキーボード設定をいじるのをやめて、x.orgの設定を活かすようにしたら直ったようです。 キーボード配列というヒントありがとうございました。
779 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 00:30:38 ] ノートパソコンに入れて使ってみたらESCの押し間違いでF1押して ヘルプが開いてしまいます。。F1でヘルプを開くのをとめたいのですが どうすればよいでしょうか・・・。:hはよく使います。おねがいます。
780 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 00:41:17 ] >>779 :help <Nop>
781 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 12:09:00 ] キーワードを2つ以上使い分けてnやNを利用できないでしょうか? 例えば検索キーがword1、word2の二つあったとすると、 ・nを押したらカーソル位置以降のword1を検索 ・何かのキーを押したらカーソル位置以降のword2を検索 という風にしたいのです。 よろしくお願いします。
782 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 12:34:36 ] /のあとカーソルキーで検索履歴をたどるのではダメ?
783 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 13:15:09 ] 別のウィンドウでもうひとつvim動かした方がよくない?
784 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 14:25:13 ] 履歴のほうならhistget("search",-2)で一つ前の検索語を取得できるな helpで > |:history|によって出力される{num}番目のエントリを、再 > 度実行するための":H {num}"というコマンドを定義する。 > command -nargs=1 H execute histget("cmd",0+<args>) というのが紹介されているので、これをいじって command -nargs=1 S execute "/" . histget("search",0-<args>) とすれば:S のあとに入力された数だけ直前の検索語を検索できる ちなみに:S 1は現在の語なので :S 2 で一つ前ね :S のとき : S 2 と動作するように改良すればトグル動作にできる プラグインだとmultiplesearchプラグインなら検索語を色分けできる
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 14:26:36 ] :history :history search histget() あたりのhelpよめばほかに何かいいものが浮かぶかもしれない
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/22(木) 22:26:08 ] >>780 ありがとうございます!できました!
787 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 20:33:28 ] /search1/;/search2/ がよくわからん。だれか教えてけれ :help //; でドキュメントは見れるんだけどな
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/23(金) 23:19:41 ] >>787 何が分からないのかがよくわかんないんだけど ";"のこと? 範囲指定の","と";"の違いですか?もしそうなら cmdline-rangesを参考に。 そうじゃなければスマソ。
789 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/24(土) 14:25:41 ] テンプレートを入力するプラグインを書きました。以下宣伝です。 ripjohn.net/program/vim/template.zip ripjohn.net/program/vim/index.html#template 内容: ・>>354 みたいに、テンプレートの展開には短縮入力機能を使います。 ・ただ:iabbrevコマンドは特殊文字の入力がしんどいので(<CR>とか<lt>みたいに)、 文字列値の式を引数にとって、変換して:iabbrevに渡すコマンドを用意しました。 ・あとは、プレースホルダに飛ぶコマンド(<S-CR>, <C-CR>)と置き換えるコマンド(<CR>)だけです。 ・プレースホルダには、デフォルトで入力される文字列を指定できます。 例: 「:StringAbbrLocal fopen] 'fopen(<+fname+>, <+mode:"r"+>)<++>'」で登録。 挿入モードで「fopen]」と打って<Esc>すると上記の通り展開される。 <S-CR>でひとつめのプレースホルダに移動、<CR>で入力開始。 再度<S-CR>でふたつ目のプレースホルダに。<CR>で「"r"」が挿入されて入力開始。 再々度<S-CR>で最後のプレースホルダ「<++>」が削除され、入力開始。 簡素ですが、コード書きやマークアップ文書の編集には大体間に合うんじゃないかと思います。 ご意見いただければ幸いです。
790 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/24(土) 14:34:56 ] >>760 折り畳みで間に合うんじゃないですか? cf. :help folding 例: vim: set foldmethod=marker : 1章 供犠 {{{ 1.1 供犠の機能 {{{ ほげほげ }}} 1.2 供犠の危機 {{{ うんたらかんたら }}} }}} 2章 オイディプスと贖罪のいけにえ {{{ ふーばー }}} って感じで。 foldmethod=exprで、foldexprに判別式を設定すれば もうちょっとスマートに書けます。
791 名前:781 mailto:sage [2007/11/24(土) 15:17:18 ] レスありがとうございます。 >>781 シーケンシャルでなくランダムアクセスでやりたいです。 Googleツールバーのように、複数のキーワードのボタンが勝手に出来て、 好きなのを押せばそのキーワードでページ内検索できるのがすごく便利だなと思ったので。 mで登録、`で移動と同様のやり方で検索キーを使い分けられればベストです。 >>784 ありがとうございます!これでほぼ解決できました。 :S2などでキーを切り替えてn、Nで次々に飛べるのでやみつきです。
792 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/25(日) 22:59:02 ] >>784 これどうよ 検索履歴10個を候補にステータスラインに出す /コマンドって履歴をステータスラインに出すほうがいいよね let s:size = 10 function! s:S_completionList(A,L,P) return join(map(range(1,s:size),'histget("search",0-v:val)'),"\n") endfunction command! -complete=custom,s:S_completionList -nargs=1 S exec "/".<q-args>
793 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 21:37:00 ] すいません、素朴な疑問があるのですが カーソル移動をホームポジションに割り当てたところで、あるいはwやbを用意したところで エスケープキーを押す必要があると、かえって使いにくいと思わないですか? Ctrl+M や Ctrl+H みたいなことができるなら、ギリギリまでホームポジションに手を置いたまま作業ができそうですが いちいちEscまで手を伸ばすのは結構しんどいと思うのですが・・・ つまらない事かもしれませんが、Vimをバリバリ使っている人がどう思ってるのか聞きたいです。
794 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 22:09:26 ] Ctrl+[ を使うからホームポジション崩れませんがな
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 22:17:58 ] Ctlr+C使ってる
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 22:27:13 ] Ctrl+C 潰しちゃあかんやろ
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 22:27:30 ] エスケープキーはファンクションキーと同じでvimに限らずほとんど触ることがないな 一応ついてるキーボードだけど
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/27(火) 22:40:20 ] " alt + i 連打で () で囲まれた範囲を拡大選択 nnoremap <M-i> vib vnoremap <M-i> ib " alt + shift + i 連打で {} で囲まれた範囲を拡大選択 nnoremap <M-I> viB vnoremap <M-I> iB いまこういう設定をしているんだけどこれを <M-i> 連打するだけで 内側からテキストオブジェクトの範囲を拡大して選択するいいアイディアって無いものだろうか function test() { alert("test"); } 文字列 test の中にカーソルがある時に <M-i> を一回押すと test が選択されて もう一回 <M-i> を押すと今度は "test" が選択されてもう一度押すと alert("test"); が選択される感じ
799 名前:793 mailto:sage [2007/11/27(火) 23:14:41 ] あうあうー こんな便利なキーがあったとは・・・orz