>>1 スレ立て乙
もうたたないかと思っちゃったよ
10 :
名無しさん@お腹いっぱい。 :2009/01/16(金) 19:16:08
スレ数 Vim*2<Emacs になる日も近いな。
今の通信環境だと、Emacs, Meadow のダウンロードも楽だ。 日本において、Vim ユーザーは、細々と続いていくだろうが、 大きく増えることはないだろうな。
>>11 vimはソフトウェア板と重複だけど
emacsはxyzzyもあるな
でもEmacs関連のスレの流れを見てると
活発でうらやましい反面、「たかがエディタを使うのにそこまで?」的な話も多く微妙な気も
いや、活発で語るべきことがあるのは本当にうらやましいんだけどね
>>12 昔は巨大すぎてFD回覧なんてありましたなぁ>Emacs
それでも今のパッケージからすると小さなものなんだけど
15 :
名無しさん@お腹いっぱい。 :2009/01/17(土) 09:43:58
各行の末尾に連続してタブがあったら1つにするために %s/\t+$/\t/g とやったのですが、「パターンが見つかりません。」と言われダメでした。 何が問題なんでしょう??
16 :
15 :2009/01/17(土) 09:55:31
>>15 解決できました
%s/\t\+$/\t/g
でした
>>10 >>17 すまんな。どうやら、>5の最新テンプレが機能していないようなんだが、これはなおせないのかね
次スレで。
EmacsにはYaTeXがあるので仕方なくEmacsを使おうと思っていたら 実はVimにもVim-LaTeXがあるじゃん!と言う事を発見した新参者です。 GVim+Uim-anthy+Vim-LaTeXの環境で日本語を入力するとバグっちゃう んですが、ご利用のみなさんはどのように回避しておられますでしょうか? よろしくお願いします。
>>21 早速のレスありがとうございます。
確かにそれもアリなんですが、Unixは必要ですし、GVimじゃなくて
Vimだったら動くので、全く出来ないということはないんですが、
何か動かす方法はないのかと思いまして。
>>22 > Vimだったら動く
情報後出しイクナイ
分からんなら分からんで黙ってろ。 ユーザーがこんなんだからEmacsに遅れを取るんだよ…
Vimユーザの質は世界一ィィィィィィィィ!!
どんなバグが起こったかもわからんし、エラーメッセージすら不明 他の日本語環境で再現するのかしないのかも不明 おまけにOSもGVimのバージョンも不明 この情報だけで回答できるほど自分はエスパーじゃないです
ついでに書いとくと 「Uim-anthy Vim-LaTeX」でググって出てくる解決法くらいは試したんだろうな? と聞いておきたい
挿入モードでバックスペースを Ctrl + h にも割りあてるにはどうしたら できますか?
遠く離れた行の文字列をヤンクしてるときにうっかりddとかやっちゃってレジスタ上書きされたときヤンク履歴をさかのぼるとかそういう機能はないのでしょうか・・・?
pu.u.u.u. とやってみ
>>29 yankring.vim とかそういうのはナシ?
"うっかり"のために、そんなん入れるのもアレか。。。
:dispでヤンクバッファの履歴やレジスタの内容を直接確認して、 "1p するとか、:let @a=@1 で退避なんかはダメ?
>>20 on-the-spot方式だと問題が起きるので、それ以外の方式で我慢
37 :
29 :2009/01/22(木) 20:15:22
yankring入れてみました。便利は便利なんですが、一度ペーストしないと履歴に残らないんですね。。。
明日にでも
>>35 を試してみます
Vim7(?)から搭載されたテキストブロックの選択とか()や{}内の選択機能ってめっちゃ便利だ。 リリースされた当時って話題になったのかな? ついにエディタ戦争が終わったと思ったよ。
お前は誰と戦ってたんだよ
まぁエディタ戦争は、既に「デフォルトで搭載されてる機能」の問題じゃないよね たぶん終わらないんじゃない?永遠に 俺は戦う気もないから、戦争したい人は頑張ってくれw
emacsも同じようなのあるんでないの? いい意味でいたちごっこだと思う んで、他のIDEがあとからのんびりついてくる感じ
42 :
22 :2009/01/24(土) 23:27:04
>>23 >>26-27 失礼しました。かなり雑な書き方でした。
詳細を書くと、UnixじゃないですがUbuntu 8.04, Vinelinux(バージョン忘れた)で発症、
Gvimのバージョンは7.1と7.2、IMはSCIM, UIM, ATOK for Linuxいずれの場合も
VIM-Latex(Latex-Suite)を利用し、プラグインがロードされた状態(Texファイル編集中)です。
SCIMではanthy&PRIME, UIMではanthyの環境を利用しました。
逆に症状が出ないのはWindows上KaoriYa製Vim、IMはMS-IMEとSCIMで日本語変換前の
文字をクライアントに表示させず、別ウィンドウ(?)に表示させた場合です。
症状の詳細は挿入モードで日本語で文字を入力した瞬間にIMEが切れてしまい、日本語入力
できません。エラーメッセージなどはないです。
恐らく、GVim側に変換前の日本語としてデータが送られてくるとVim-Latexの何らかの機能と
干渉してしまい、IMが落ちてしまう。
ちなみに解決法は探してますがあまりパッとしたのは見つかっていません。
vim(コンソール版)使うとかWindows版使うとかしかまだ見つかってません。
あと干渉していると思われるVim-Latexの機能を切るというのもありましたが、それは…。
よろしくお願いします。長文失礼しました。
Vim-Latex使ってないので適当だけど ググって出てくる「渉していると思われるVim-Latexの機能を切る」みたいなページのオチで 「どうやら scim の設定でチェックを一つはずしてリロードするだけで, 上記のような面倒なことを一切せずに日本語が打てるということを知りました…」 みたいなこと書いてあるんだけど(肝心のどのチェックか書いてないがw) その辺の設定じゃダメなのかね
44 :
22 :2009/01/25(日) 00:51:11
>>43 それは「SCIMで未変換文字列を入力対象クライアントのウィンドウに表示」
という設定なのですが、結論から言うとそれで出来ます。
が、非常に見にくい(たまに入力ウィンドウが変な場所に出る)のと、SCIMは
Vimとの相性が悪い(IMが自動で切れない)ので、使いたくないんです。
わがまま言ってすみません。
IMにそういう設定がないならvimのソースをいじる以外にない。 簡単に済ますなら適当にどっかで gtk_im_context_set_use_preedit(context, FALSE); を設定するだけ。 vim-latexが動かないのはvimのon-the-spotの実装が「未確定文字列をバッファに挿入するようなキー入力を擬似的に発生させる形でそれを表示する」という方式だから。 例えば「日本」と入力した場合、次のような入力をしたのと同じになる。 に<BS>にほ<BS><BS>にほん<BS><BS><BS>日本<BS><BS>日本 未確定文字列を表示するときはそれを挿入し、消すときは<BS>を入力してる。 これは q で入力を記録してみると確認できる。qa -> 入力 -> q -> :echo @a で、この擬似的な入力に対してキーマップが効くというのが問題の原因で、例えばローマ字入力で「か」と入力すると、最初に「k」と入力した時点で、そのkに対してマップが展開されてしまう。 そんなわけでimapが使い物にならないのでvim-latexは動かない。 問題点は他にもあるしバギーなので激しく日本語入力するならgtk2のgvimはあんまりおすすめしない。 ちなみにwindowsのgvimはover-the-spotで表示してるから問題はでない。
ちょい質問です。:bnでバッファ切り替えて:bpで戻ってくると カーソルの桁位置が行の先頭になってしまいます。 桁の位置も覚えておくようにできないでしょうか? ちなみにvim7.1です。
47 :
46 :2009/01/25(日) 13:59:47
自己解決できました。 オプション「hidden」をONにしていたのが原因でした。
48 :
名無しさん@お腹いっぱい。 :2009/01/29(木) 00:31:38
tabを視覚的に表示する方法ってありますか? 空白とタブの区別が見た目わからないので、区別できるようにしたいんです。
:help 'list' :help 'listchars'
>>48 ついでに
:set listchars=tab:>-,trail:-,eol:<,nbsp:%
あたりもお勧め
最近、project.vim使い始めて超便利なんですが、 左側のプロジェクト管理のウィンドウ(バッファ?)の中でだけ、キーマップを変更する方法ってあるでしょうか。 今はproject.vim を書き換えて nnoremap <buffer> ... とかやってるんですが、できたらproject.vim自体はいじらずに.vimrcで設定したいんです・・・ #スクリプトのマニュアル見ても、なんかsidとかsnrとかちんぷんかんでお手上げ・・・。
project.vimを使ってないからわからんが、いくつかのイベントにフックして作業する ■project.vimの管理ウィンドウかバッファかを開いたときにファイルタイプが設定されてるなら .vimfiles/ftplugin/そのファイルタイプ.vim とつくってそこでmapを定義する ■バッファ名が与えられてるなら、vimrcに autocmd BufEnter そのバッファ名 call s:Initialize() function s:Initialize() if !exists("b:plugin_vim_initialized") let b:plugin_vim_initialized=1 noremap <buffer>... endif endfunction と書いてみたが<sid>がわからんならやめたほうがいいかもしれないな
Vimって、挿入モードで上下左右に移動するキーって 矢印使うか挿入モード抜けるか位しかないの?
うん。
>>54 ctrl-o すれば1回だけhjklとかが使えるよ
>>55-56 そうか、ありがとう。
ctrl-oもアリなんだけど、複数回押す場合にはやっぱ挿入から
抜けちゃうか矢印に手移す方が楽かな。
そんなあなたに noremap! <C-h> <Left> noremap! <C-l> <Right> noremap! <C-k> <Up> noremap! <C-j> <Down> インサートモードでctrl押しながらjkhlで移動できるよ。 vim使いから物凄い勢いでdisられそうだけど。
delete inner sentence
>>58 それいいかも。気づかんかったわ。
ただ、C-hが微妙に干渉するんだよな。
C-hだけ残しといて、DOSぽい仕様にするとかもありかw
俺は挿入モードではemacs流のキーバウンドにするという変態的なことをしているw
変態だー(AA略
俺はemacsのC-fとかC-bって押しづらいから嫌いなんだよね。 普通英大文字打つときは反対の手でShiftキー押すじゃん? 右のCtrlは遠いし場所覚えづらい。Enterとスワップするとかありえんし。 それに1つの事実行するのにC-*を複数回押すってのも気に食わん。 やっぱみんなそう思うからViを選ぶんだよな?
> 右のCtrlは遠い そこでHHKですよ
>>65 右Ctrlとかねぇじゃんw
もしかして無刻印で色々Ctrlに割り当てるとか?
等とキーボードのせいにしてると他所で使えなくなるのでいくない。
そう考えると初期設定で十分な操作性を誇るviはやっぱいいな。
HHKは右Ctrl付けてくれれば文句ないんだが 仕方ないから右Altが右Ctrlになってるよ
68 :
名無しさん@お腹いっぱい。 :2009/01/31(土) 13:45:52
shをインデントする方法教えてください
:set ft=sh :filetype indent on
mapとかimapとかnoremapとかの解説してるところ教えてください
vimrcのmapの設定方法で Ctrl+Shift+k は <C-S-K> でしょうか? なぜか<C-S-K>だとCtrl+kにも反応しちゃうんですが。。
72 :
71 :2009/01/31(土) 21:57:04
ちなみに map <C-tab> map <C-S-tab> だとちゃんとマッピングできるけど map <C-K> map <C-S-K> だと<C-S-K>も<C-K>と同じマッピングになってしまう。
Kじゃなくてkじゃね
74 :
71 :2009/01/31(土) 22:44:24
:h ctrl-{char}
76 :
71 :2009/01/31(土) 23:35:56
>>75 もしかしてShiftキー使っちゃダメ??まじで?
ヤンクした履歴ってどっかに残ってないですか?
78 :
名無しさん@お腹いっぱい。 :2009/02/06(金) 03:19:07
79 :
名無しさん@お腹いっぱい。 :2009/02/07(土) 13:00:31
jvimで記録したマクロを保存して、jvimを次に起動したときにも使えるようにしたいんですが、どのようにすればいいでしょうか? jvimで記録したマクロを保存することはできますか?
クラスやそのメンバ(変数|関数)を一覧表示してジャンプできるようなプラグインってない? taglist.vim, tagexplorer.vim は C なら問題ないけど、 C++ だと違うクラスのメンバが ごっちゃになって表示されるので辛い。
ああ ctags --extra=+q か。失礼。
vim7.2でCTRL-Aでインクリメントできなくね?
>>82 _vimrcの3行目に
source $VIMRUNTIME/mswin.vim
って書いてあるとか
ubuntuでgvimを使って日本語を入力しようとすると画面がちらついて 大変なことになる
あっそ
大変だね 俺がubuntuでgvim使ってもちらつかなくて良かった
88 :
名無しさん@お腹いっぱい。 :2009/02/09(月) 22:34:44
俺も Ubuntu で GVim 使って日本語を入力しても画面はちらつかないな…
vimと同じ設定でviewを使いたいんだけど aliasでvim -Rとかにするしかないっすか? てかviewってなんなんですか?こいつにも設定ファイルあるんですか?
viewはvim -Rと一緒じゃなかったっけ
>>90 うちのfedoraこうなってるけど・・
[ana@coppola tmp]$ls -l /bin/vi /bin/view /usr/bin/vim
-rwxr-xr-x 1 root root 693496 2008-12-02 01:13 /bin/vi
lrwxrwxrwx 1 root root 2 2009-02-10 08:08 /bin/view -> vi
-rwxr-xr-x 1 root root 1807112 2008-12-02 01:13 /usr/bin/vim
[ana@coppola tmp]$
alias vi='vim'
viewとして起動されたときに読む設定ファイルってのがあるんでしょか?
>>79 保存はできないけど、.jvimrcにmapでキーの入力内容を登録できるよ
>>89 > vimと同じ設定でviewを使いたいんだけど
そうはなってないってことかな。
>>91 > viewとして起動されたときに読む設定ファイルってのがあるんでしょか?
特にないと思ってた。
aliasなのにviとviewで挙動が違うのはなぜ?ということなら、何という名前で起動されたかを
元に処理を変えてるから。
>lrwxrwxrwx 1 root root 2 2009-02-10 08:08 /bin/view -> vi alias vi='vim' これってどっちが起動されるんだ? /bin/vi /usr/bin/vim
viと打てばvimだろうし、viewと打てばviだろう
96 :
名無しさん@お腹いっぱい。 :2009/02/10(火) 14:08:44
vim file1 file2 file3 みたいに開いて、 :q とやると、他に編集すべきファイルが2個あります、と出るんですが、もう一回:qすると、すべてのファイルが閉じてしまいます。 現在アクティブのファイルだけ閉じたいんですが、どうすればよいのでしょうか?? ご教示いただきたく m(_ _)m
98 :
96 :2009/02/10(火) 14:32:56
:n でも。
Cソースとかの関数をリストできる機能があったと思いますが なんでしたっけ?
ctrl-x ctrl-k で辞書開けなかったっけ?
taglist.vim じゃない?
shのsyntaxが微妙すぎるんですがどうにかならんですか?
何が不満なのか知らないがシンタックスファイル改造してみたら
Rubyの補完で、gets()で得たオブジェクトのomni補完しようとすると戻ってこなくなるんだけど解決策ない? str = gets(); str. ここでCTRL-X CTRL-OするとSearching...のまま戻ってこない。
>>105 str = gets
str.
なら大丈夫みたい。
str = gets();
の場合でも、「パターンは見つかりませんでした」になる。
OS: Ubuntu 8.10
Vim: 7.1 (patch 1-314)
rubycomplete.vim: 0.8
>>106 str = getsで通りました。
どうも末尾で挙動が違うようで、
str = gets #正常
str = gets; #フリーズ
str = gets(); #フリーズ
str = gets() #Pattern not found
セミコロンが良くないぽい。
いつのまにか、前編集してたところを忘れて同じファイル開いても一番上にいっちゃう設定になってたんですが、 どうすれば戻りますか?
>>108 .vimrc, _vimrc に以下を書く
"Move To Last Position: from vimrc_example.vim
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
110 :
名無しさん@お腹いっぱい。 :2009/02/16(月) 14:27:32
質問させてください。 vimで複数のファイルを開いているとき、:bnとかで次の画面に切り替えると、切り替える前のファイルの編集履歴が消滅してしまうようなのです。 つまり、Uボタンで最初の状態まで戻せなくなります。 また、ファイルを切り替える際、必ず保存を要求されるのですが、これも不便に感じてます。 どなたか解決方法ご存知でしたら教えていただけると幸いですm(_ _)m
>>110 CTRL-W n
とかのwindowコマンドを使うのはどう?
:help CTRL-W
CTRL-W _
CTRL-W =
CTRL-W w
CTRL-W q
これでなんとかなる。(俺はなんとかしてる)
CTRL Pでの補完で対象候補が縦にリストされるのを見かけたんですがどうやるんですか?
>>113 :h i_CTRL-P
:h cpt
参照
115 :
110 :2009/02/17(火) 20:32:30
ありがとうございます!m(_ _)m
<C-e>を押したときに10行下を表示する動作をさせるため、vimrcに nmap <C-e> 10<C-e> という風に書くと<C-e>を押したときに無限ループに入ってしまうのですが どうやったら解決できるかご教示願えませんか
つnoremap
119 :
117 :2009/02/18(水) 20:25:26
HTML ファイル編集時 class=" まで入力された状態で omni 補完を実行すると function htmlcomplete#CompleteTags の処理中にエラーが検出されました: 行 304: E121: 未定義の変数です: classlines とエラーが出るんだけど、このエラーどうすれば解決する? 環境は Fedora10, vim-enhanced-7.2.060-1.fc10.i386
>>120 同じOS&vimだけどエラー出なかったよ。
エラーの行番号304から察するに
/usr/share/vim/vim72/autoload/htmlcomplete.vim のverが自分のと違うっぽい。
うちのは
" Last Change: 2006 Oct 19
122 :
120 :2009/02/20(金) 23:35:04
>>121 こちらの htmlcomplete.vim も " Last Change: 2006 Oct 19
vimscript は読めないけれどちょっと中身を見てみると
どうやら classlines は css ファイルから補完候補を探してる模様
css ファイル用意するとエラーが出なくなり、問題なく omni 補完出来るようになりました
123 :
名無しさん@お腹いっぱい。 :2009/02/22(日) 16:43:49
バックアップファイルとスワップファイルを指定してもファイルが作れないんだよね。
E510:Can't make backup file (add ! to override)
ってでる。それぞれの対応フォルダには書き込み権限もあたえてるんだけど。
フォルダ指定をしないと、編集ファイルと同じ場所にバックアップファイルは作るみたい。
どこがまちがえてる?
vim cocoa 7.1
ttp://sourceforge.jp/forum/forum.php?forum_id=14613 osx 10.5.6
set swapfile
set dictionary = ~/.vim/swp
set backup
set writebackup
set backupdir = ~/.vim/bak
知らんけど、俺ならこう書く。 set backupdir=~/.vim/bak/
winにて、例えばVimGrepを行う場合 grep "vim" C:/Program Files/gvim/*txt のようにデフォルトのファイル名補完では半角スペース入りフォルダがある場合、そのままgrepできません ""で囲むか省略名PROGRA~1を使えば可能なのですが、vim側の設定でうまく展開できないでしょうか?
126 :
123 :2009/02/22(日) 17:41:54
>124 thx でもだめですた。
なぜこっちのスレできくのかわからないが、どういう挙動になるのが理想なんだ? 一つしかファイル名を受け付けない状況だとファイル名の空白を自動認識するけど 二つ以上受け付ける場合は囲むかエスケープしないとだめ、という仕様だった気がする 勝手に囲んだりエスケープされたりすると具合が悪いケースが出てくるんじゃない?
>>123 関係ないと思うけど、
set dictionary は
set directory のtypoだよね?
挿入モードで打ち損じたときバックスペースとかカーソルキーとか遠いし、コマンドモードに戻るのもイヤなんですけど、いい解決方法はないでしょうか?
>>129 君以外のviユーザは全員[Control]+[H]
打ち損じなければいいと思うよ
>>129 >挿入モードで打ち損じたとき
コマンドモードに戻すんだ。
そもそも挿入モードで訂正するのが、断じておかしい。
vimが許しても、俺は許さない。
打ち損じは後でまとめて直すようにしてる
>>125 grepprg呼んでる?
:vimgrepならいけるはず
>>135 set grepprg=internal
と設定すれば :grep は :vimgrep と同じになる。
:vimgrep でもフォルダ名/ファイル名のスペースは '\' でエスケープしないとエラーになる。
>>136 \エスケープしてもコンソールに渡す時にスペースがデリミタと見なされるっぽい
vimgrepはきちんと解釈してくれる
vimgrepはターゲットファイルが存在しないときにQuick fix窓をクリアしてくれないのが困る(*‘ω‘ *)=3
そういうときこそgrepを直接使うんじゃなくて、プラグインを使えばいいんじゃないか。
今まで劣化grepだと思ってたが再帰とかできるのか
劣化の反対語って何ですか?
142 :
名無しさん@お腹いっぱい。 :2009/03/01(日) 07:18:35
進化
vimgrepはいちいちfind/xargsと組み合わせなくても再帰+ファイル名指定が同時にできる
劣化に反対語などない
優化。 そんな言葉があるか知らんけど。
>>144 grepもそうだよ。GNU grep単体でも -r オプションある。
-r はディレクトリ指定だべ
再帰じゃろ
Vim 7.2-20090301香り屋版きた
ちょっと言葉がおかしいな vimgrepだと他コマンドと組み合わせなくても vimgrep "aho" **/hoge*/hoge.txt (カレントディレクトリから再帰を開始して、"/hoge*/hoge.txt"のディレクトリ配置になってるファイルを検索) みたいに細かいとこまで指定できる gnuの方は--includeでファイル名指定できるけどディレクトリ配置までは指定するの無理
> vimgrep "aho" **/hoge*/hoge.txt これzsh使ってれば同じ事できるし再帰も関係無い ワイルドカードの展開はコマンドじゃなくてシェルの役目
>>153 判り易い説明ありがとうございました。
>>154 zshではそうだと思います。
でも、vimgrep はvimが持ってる機能ですからシェルは関係ないと思われます。
vimが動けばどの環境だろうと動くしね
当たり前だけどvimバッファに読み込んでるんで文字コード自動認識してくれる
:e も**で再帰効くのね
> Vim 7.2-20090301香り屋版きた ↓このバグ、7.2でも直ってないなぁ… 240 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2008/05/08(木) 02:48:45 最近、Kaoriya Windows版vim6.4から7.1.278に変えたのだがバグっぽい気になる点が。 foldlevel=0の状態で {{{ カーソルはこのfoldの中でも外でも良い }}} こんな感じでfoldを開いた状態にする。 # この例はfdm=marker ここで :e してファイルを再読み込みすると、foldが勝手に閉じられてしまう。 vim6.4では閉じなかった。 undoバッファを消すために、しばしば :e を使うので気になる。 また、fdm=manualの場合、zcで手動で作ったfoldが :e で忘れられてしまうみたいだ。 :eの後に先程zcで閉じた所に移動して再度zcでfoldを閉じようとしても E490:折畳みがありません と怒られる。 この点もvim6.4なら問題なし。 これってバグじゃないかねぇ??
>>159 俺はそんな高度な技使わないから
正直どうでもいいけど、
そもそもバグとして開発陣に報告してんの?
:eでundoがクリアされるのもバグかもしれん
162 :
名無しさん@お腹いっぱい。 :2009/03/08(日) 11:19:41
163 :
162 :2009/03/08(日) 12:25:45
:r 使えばいいのか。 ファイル指定するのが面倒だけど、とりあえずこれでいいや
どうもvimの起動に時間がかかる(5〜6秒)と思っていろいろ調べたら、以前に60000行程度のヤンクをしていて、yankrin.vimが読み込みにいってて時間がかかってた お前らも気をつけろよ
6万行ものファイルはさすがにスクリーンエディタで開かないな。
うむ
100MBくらいならreadonlyすればそんなに時間かからないからめんどくさくてviで開いちゃう head/tail/grepだのlessがめんどい その辺を統括した巨大ファイル用スクリプトとか出ないかなw
どんな操作で読出専用にしているのか分からないけど、 lessなどから"v"でエディタに移る操作の方が簡単なんでない?
view
170 :
名無しさん@お腹いっぱい。 :2009/03/16(月) 23:59:30
>>162 $ vim .vimrc
autocmd BufNewFile *.c 0r [テンプレートファイルへのパス]
参考: h: BufNewFile
171 :
名無しさん@お腹いっぱい。 :2009/03/17(火) 00:02:55
テンプレートの選択はできなかったなあ…
173 :
名無しさん@お腹いっぱい。 :2009/03/17(火) 09:27:31
vim の略語(:ab で登録するやつ)ってファイルタイプごとに 登録できないんですか? 同じ略語をファイルタイプに応じて別のものに展開したいんですけど
:help :autocmd
>>174 それでうまくいくんですか?
同時に色んなタイプのファイルを編集してバッファを切り替えてるうちに
略語の定義が累積して効果がなくなるような気がするんですが
いちいち :abclear するってことですかね
ともかくヘルプを漁ってみます
>>175 >vim の略語(:ab で登録するやつ)ってファイルタイプごとに
>登録できないんですか?
ファイルタイプ ruby の場合
(1) ruby.vim を作成する
( ユーザーは foo )
Windows Vista
C:\Users\foo\vimfiles\ftplugin\ruby.vim
Linux
/home/foo/.vim/ftplugin/ruby.vim
(2) ruby.vim に略語を登録する
iabbrev <buffer> elseif elsif
iabbrev <buffer> elif elsif
これで OK
>>176 ありがとうございます。うまくいきました。
ファイルタイプ別の設定は略語に限らず ftplugin 以下のプラグインファイルに
書いておけばいいんですね。.vimrc がちょっとだけすっきりしました。
>>154 ARG_MAX変更しないとすぐ涙目になるよ
香り屋さんのところでVim7.2が公開されてたみたいなんで久しぶりにバージョンアップしたんだけど これWin32用のVimが見る設定ファイルの名前が変わってたりする? 手元の7.1の環境からgvimrcとか設定ファイル一式をひっぱってきても全然反応がなくてデフォルトのまま… 7.2起動後に :source gvimrc ってやると、読み込んでくれるんだけど。 7.2起動直後に「Vi互換モードで動作中」って表示されるようになったみたいだけど これも関係してる?
182 :
名無しさん@お腹いっぱい。 :2009/04/02(木) 08:21:23
半角スペース 全角スペース タブを見分けられるよう可視にできないすか?
:reg でレジスタの中身を表示したとき、 kbkbkb とつけた覚えのないkbという文字が並んでついているものがあるのですが これは何なんですか
うーむCUIのvimで使いたいんだけども 全角ハイライト
CUIならターミナルの性能を越えることはできんだろ
>>185 wikiにも書いて来たけど、CUI の vim でやる時は guibg を ctermbg に書き換えれば OK
分割した画面に一度に、:set 〜 する方法ってありませんか?
:windo?
192 :
名無しさん@お腹いっぱい。 :2009/04/17(金) 00:12:18
193 :
名無しさん@お腹いっぱい。 :2009/04/17(金) 00:32:07
194 :
名無しさん@お腹いっぱい。 :2009/04/17(金) 00:52:30
>>193 ありがとうございます!
上の例ですと以下でいけました。
:'<,'> w ! sed -e 's/hello/bye/'
解除したいキーバインドがあるんですが、mapはどう書けばいいですか?
unmap で helpれ
197 :
195 :2009/04/19(日) 18:26:57
ありがとうございます。 何がしたいかというと、Kでカーソル下のフレーズのmanが出るのを解除したいのですが、 unmap <S-K> などと色々試したものの、No such mapping とエラーが出てしまいました。 書き方が間違っているんでしょうか?
<Nop>を使うといいかもしれない
>>197 それだったら
map K <nop>
でいいじゃん
大文字のkは単に K と書けばおk
200 :
195 :2009/04/19(日) 22:34:57
<nop>なんてあったんですね。 おかげさまでできました。ありがとうございました。
202 :
名無しさん@お腹いっぱい。 :2009/04/21(火) 09:01:20
削除が全部切り取り扱いなのはどうにかならないんすか? ヤンクしたのはx押しただけで更新されちゃうしregで見て選択するのも面倒だし 大量の文字削除したらそれバッファに残ってるし
グダグダ言う前にマニュアル読めよ。適当なキーにブラックホールレジスタでもマップすりゃ済むだろ。
ここまで簡単にどうにかなることを「どうにかならないんですか?」って言われてもなw
初心者らしくへーこらしてりゃ叩かれないものを
>>202 もう解決した?
set guioptions-=a
↓これ見れば解決するん
:help 'guioptions'
:help 'clipboard'
コマンドモードで、入力モードにならずに行を挿入する方法はないでしょうか?
"="\n"p
enter忘れた "="\n"<CR>p
>>210 ありがとうございました。自分でショートカットキー作ることにします。
レジスタの内容をコマンドの一部に使いたいのですがどうすればいいのでしょうか? :nslookup @* のような使い方をしたいのです。 ベタに CTRL-R * で貼り付けるとキーマクロとして実行した場合にうまく動作しません。(毎回同じコマンド内容になる)
>>212 :execute '!nslookup' @*
.vimrcに vnoremap * "zy:let @/ = @z<CR>n というのがあったんですが、これどういう意味ですか? 自分で書いてて忘れてしまいました…(恥
>>217 Visual modeで選択した文字列を検索する。
Normal modeの*はカーソル下のキーワードを検索するけど、それと同じ感じ。
ただそのコードだとメタ文字があるときに困るから私は↓のようにしてる。
vnoremap * :<C-u>call <SID>search_the_selected_text_literaly('n')<Return>
vnoremap # :<C-u>call <SID>search_the_selected_text_literaly('N')<Return>
function! s:search_the_selected_text_literaly(search_command)
let reg_0 = [@0, getregtype('0')]
let reg_u = [@", getregtype('"')]
normal! gvy
let @/ = @0
call histadd('/', '\V' . escape(@0, '\'))
execute 'normal!' a:search_command
let v:searchforward = a:search_command ==# 'n'
call setreg('0', reg_0[0], reg_0[1])
call setreg('"', reg_u[0], reg_u[1])
endfunction
そこまでは思わないが、4tトラックでコンビニに行く程度には思えるな
221 :
217 :2009/05/03(日) 14:56:32
>>218 ありがとうございます!
vimってfunction使えるんですね。意味はさっぱり分からないですが使わせて頂きます
vimgdbを使ってみたんですけど、これって scanf()とかの入力ってどうやるんですかね?
質問です。Vimのウィンドウ分割後のウィンドウサイズ変更は {N}Ctrl+w +などを使いますがどう考えても手が壊れそうな キーの組み合わせだと思うのですが、皆さんはどのようにして押しているのでしょうか? よろしくおねがいします。
左手小指でCtrl、左手中指でw。 別に壊れないよ。
コマンドモードでヒストリーを参照する時に 上下カーソルを使いますが、ホームポジションで 使えるキーバインドもありますか?
226 :
225 :2009/05/07(木) 11:11:03
wikiにありました C-N, C-P
>>223 キーの押し方なんか聞いてどうするんだ?w
押しにくかったら適当にキーマップの設定でもしなよ
ちなみに俺は A の左を Ctrl にしてるけどね
228 :
223 :2009/05/07(木) 17:09:13
ありが誤答ございます。 Ctrl-Wは良いのですがCtrl+wを押しながら+を押すのがかなりきついです。
サイズ変更は、CTRL+Wを一度押せばあとはCTRL+Wを離しても+-でサイズ変更できるんじゃなかった?
>>228 C-w + という表記は C-w と + を同時に押すという意味ではなくて
続けて押せばおk、という意味
C-w C-w とかどうやって押すつもりだw
231 :
223 :2009/05/07(木) 23:13:42
すると、同時に押すときは C-w-+ とでも書くのだろうか。
Windows のソフトウェアのショートカットキーは、全部、いっぺんに押すよね。 vi や Emacs のようなキーバインドは、めずらしいよ。 こういうの、なんていうのか知らんけど。
Alt押してうんぬんとか Windowsキー押してうんぬんとかあるじゃん。
Windowsと関係ないところで進化してきたソフト達に Windowsでは珍しいとか・・・どういう意味? まぁエクスプローラーでさえ Alt-F W F みたいな入力が出来る訳だし、 ショートカットはいっぺんに押す。 とは言い切れないのでは?
Windowsの事はわからん Macの事もわからん DOSなら使った事あるが
>>232 修飾キー以外を複数同時に押させるようなものはなかったと思うけど
そんなのあったっけ?
>>233 同時押しだと使える組み合わせって限られるしエディタには向いてないよ
sequence なら組み合わせはほぼ無限で、やろうと思えばエディタの操作すべてに
キーを割り当てられるしカスタマイズの余地もありまくり
正規表現でサブパターンを使用し、マッチしたサブパターンを取り出す方法ってありますか? Ruby でいう /hoge(\d+)/ =~ "hoge123" print $1 みたいな感じです。(これができないとvimスクリプトが書きにくい)
>>239 Vim7 なら matchlist()
>>240 あ、ありがとう! まさしく求めていたモノはこれだった!
242 :
名無しさん@お腹いっぱい。 :2009/05/09(土) 20:24:08
他エディタみたいにエンターやセミコロン押したときに自動インデントさせる方法ないですか? 例をだすと if(??){ a=1 } のときにセミコロン打つと↓の様になって欲しいです. if(??){ a=1; }
243 :
242 :2009/05/09(土) 20:26:52
訂正 1 if(??){ 2 a=1 3 } ↓ 1 if(??){ 2 a=1; 3 }
244 :
242 :2009/05/09(土) 20:28:14
訂正その2orz 1 if(??){ 2 a=1 3 } ↓ 1 if(??){ 2 a=1; 3 }
autoindentやcindentをつかってはじめからインデントするんじゃダメなのか?
246 :
242 :2009/05/09(土) 20:44:22
使い方を間違っているのかもしれませんが, ↑の例の2行目でインサートモードに「i」で移ると autoindentが効かないのです.(←が動けば問題ないのですが・・・.)
autoindentは確か、行頭を自動で前の行と同じインデントにする物だったはず. smartindentやcindentを試してみたが、iでうつるとインデントはされなかったな... ちょっと調べてみる
248 :
242 :2009/05/09(土) 21:04:55
>> 247 お願いしますn_ _n ちょっとautoindentを実験. 1 if(){ 2 3 } この状態の1行目で「o」すれば,インデントされるが無駄な改行がはいる. 2行目だと「i」でも「o」でもインデントはされない. >autoindentは確か、行頭を自動で前の行と同じインデントにする物だったはず. なるほど・・・.と言った感じです. でも,インサートモードで閉じ括弧は自動的に下げインデントされるので, この当たりが怪しい気もします.
249 :
242 :2009/05/09(土) 21:23:05
自己解決しました.cindentがポイントだったみたいで, :set cinkeys+=; とすれば良いみたいです. 結構この辺,いじれそうなので遊んでみます.
cinkeys インデントの原因となる文字列ですか、
251 :
242 :2009/05/09(土) 21:36:18
>250 のようです.以下まとめ :set autoindent :set cindent :set cinkeys+=;
色設定ファイルのvimに関する設定項目ってどこかにまとまってないですかね? 最悪、無ければ英文でも良いんですけれど。 全ての色定義ファイルが全項目を使っているわけではないので、 長そうなのを実際に読み込んで試行錯誤してるんですが、 やっぱり面倒なのです‥‥
Vim完全バイブルという3500円ぐらいの本って、 買う価値ありますか? 設定ファイルとかスクリプトについて詳しく知りたいんですけれど。 ネットで目次だけみると、半分は正規表現の本みたいなので‥‥。
Vimがバイブになって3,500円で登場 最高の悦楽を貴方に!!
自分は意外と役に立ったけど、要らない人には全く要らないだろうという本 基本的な使い方から各オプションの細かい説明まで載ってるけど 一番マイナスなのがVim5あたりの内容だということ、ちょっとだけ古い 結局新しい機能についてはヘルプを見たりネットで調べたりすることになる (本体のヘルプ日本語訳してくれてる方、ありがとうございます) この本、最新版で出してくんないかなぁ
英語版を目を通してみました。 プログラマーでVim初心者には有益そうっすね。 品薄でもありそうなので、初見には良いかと思って、 注文してしまいました。 vmrcの内容については言及してますけれど、 カラースキーマまでは書いてないですね。
test
gvimの高さを指定したいんですが、うまく行きません。 .vimrcに set lines=40 とやってるんですが反映されないっす。 どう書けばいいですか?
なんか新しいVi&Vim本が平積みにしてあった。 オライリーのVi本と完全バイブルの中間みたいな中途半端な厚さだった。 パラッと立ち読みした限りだと内容も中途半端だった。
>>252 よくわからないけど、:help syntax.txtじゃだめなの?
>>259 .gvimrcに書いたらどうなる?
>>261 出来ました!
.gvimrcに書いても全然反映されない。
試しに端末からgvimを起動したら反映された。
GNOMEのメニューみたら -geometry を自分で設定してすっかり忘れてました。
ずっと悩んでましたアホでした、どうもすいません orz
set wrapで折り返しを指定するときに、 何文字で折り返すか明示的に指定する方法は無いのでしょうか? 改行をいれずに、表示の折り返しの幅だけを指定したいのです。
set columns
>>264 どうもありがとうございました。
でも、たいへん失礼しました、gvimで文字列の右端を空けた状態で、
改行を入れたいのです。
culumnsで指定すると、ウィンドウ枠自体がそのサイズになって、
画面にピッチリになりますよね。
それだと、読みにくいので、例えば80文字で折り返すなら、
左端から80文字で文字は終わりで、そのあとに空白が続く形で折り返したいのです。
俺もそれがしたい。 あと強制的に改行コードも挿入できれば。
いや、強制的に改行を入れていいなら、set textwidthで出来るんじゃないですか? 改行を入れたくない場合が難しいと思うのですが‥‥
:set textwidth=72 ってやってみたけど変化なす orz ずらずら〜っと文字を打ち込んで72桁目で自動的に改行してくれたら楽なんだけど。
すみません、vimrcとgvimrcって関係あるでしょうか? つまり、gvimrcってvimrcの内容にも影響を受けるのでしょうか? GUI版の設定ファイルは、コマンドライン版の設定ファイルに 追加する関係になっているのかなぁと‥‥
読み込む順番が決まっておりますので・・・
271 :
名無しさん@お腹いっぱい。 :2009/05/20(水) 18:11:25
済みません、vimでバッチモードみたいなのはないですか。 cal | vim -n -c ':set number' -c ':so $VIMRUNTIME/syntax/2html.vim' - -c ':w !cat' -c ':qa!' | lynx -stdin 見たいにしたのですが vim後続のコマンドがvimの画面表示も標準入力から受け取ってしまいます。 なにか解決策おねがいします。
>>271 オプションの最後に-e -sを追加。
あと-c '{command}'は:要らないよ。
>>269 :help startupとかだったと思うよ
>>263 英文なら以下をするだけで随分と見やすくなります。
:set linebreak
でも、日本語だと方法がないかもです。
>>266 textwidthがauto-wrapに使われるかはformatoptionsにも依存します。
:set fo+=tc
:help fo-table
あと'textwidth'ではなく'wrapmargin'を設定する方法もあります。
Vimが使えるマシンでViを使う理由ってある?
でかいログを直接見るときは軽いんじゃないの?
windowsでgvimからプリンタで印刷すると、化けません? utf-8なんですけれど。 PDF用の仮想プリンタでも日本語が化けてるんで、 gvim側で何か設定が必要なんでしょうか?
必要ないと思うけど。
印刷用フォントに変なの設定してるとなるかも。 :option 11 printing で見てみ。
○ :options × :option
282 :
278 :2009/05/21(木) 23:00:14
みなさん、どうもありがとうございます。 おっしゃる通りに、日本語の無いフォントになっていました。 どうもありがとうございました。
編集しているファイルのファイル名やディレクトリ名をサクッと取得する方法ってありますか?
nnoremap 適当なキー :let @*=substitute(expand("%:p"), "/", "\\", "g")<CR>
なんで置換してるのかわからんけどこういう風にも書けるよ expand('%:p:gs?/?\\?')
なんでややこしいvimコマンド使ってるのかわからんけどこういう風にも書けるよ :r !echo % --> (指定していた場合はディレクトリ名も含め)ファイル名が現在行の次に追加される :r !pwd --> 現在のディレクトリ名が現在行の次に追加される
なんつーか
C言語でポインタを定義する時、int* hogeと書くか、int *hogeで分かれるじゃん
int*派からすると、
int型のポインタなんだからint*なんだ、大体、int*を返す関数を定義する時どうする?
まさかint *hoge()とか書くのか? それともint * hoge()? どっちもキモい
int *派からすると、
おいおいちょっと待て、じゃあ何か、例えばポインタを複数定義したい時どうする?
int* hoge; int* hage;とか何度も書くのか?
ましてや、ポインタと通常型を同時に定義したい時どうする?
まさかint* hoge, hage;とか書くのか? 紛らわしい
それに、どうせおまえらだってconstが混じったらconst int *const hogeとか書くんだろ?
執拗にconst int* const hogeとか書くのか?
みたいな議論を
>>286 のレスを見た瞬間、鮮やかに思い出した
俺なら
:r! echo %
:r! pwd
だな
道は一つじゃないってだけだろ。 Vim はそんなに単純な道具かい?断じて否だ。その気になれば犬の散歩だって! いずれにしろ質問者の好みで選ぶだけだろうよ。
Vimで、pluginとかのエラーが出たときに、 パパパッと一瞬で流れてしまって読めないんですけど、 これバッファにはき出したりすることってできますか?
>>287 本筋と関係ないが
> ましてや、ポインタと通常型を同時に定義したい時どうする?
> まさかint* hoge, hage;とか書くのか? 紛らわしい
int* 派は
int* hoge;
int hage;
と分けて定義する、と思う
スレ違いの空気読めない子が多い
振り返れば、ポインタ型のある言語をここ何年かさわってないなぁ... と思ったらこないだまでiPhoneプロジェクトやってた。 つか、その前はC#やってた...だめだ記憶力が... iPhoneはvim使用は断念したが、C#はvimで十分だったよ! まぁ、GUIなかったし、mono互換が要件だったし。
:r ! pwd 派は認知すらされていないのか。
294 :
286 :2009/05/26(火) 21:05:54
>>286 から盛り上がってるようなのでうれしくなって一言.
ファイル読み込みのときには
:r ファイル
だよな?ファイルの代わりにコマンド実行の結果を読み込むんだから
:r !コマンド
が由緒正しい書きかたなんじゃないの?(まあどうでもいいんだけど)
>>289 これ,私もたまに困るんですが,なんか方法ないんですかねー?
正直人間の読める速さの限界を超えてる速度で流れて全然読めん.
>> 296さま おぉっ! ありがとうございます。 3ヶ月前ほどにEmacsから乗り換えたのですが、Emacsだと新規バッファにエラーはいてくれるので 良かったのですがVimだとどうすれば良いか悩んでいたところでした. ありがとうございました.
298 :
283 :2009/05/27(水) 13:49:05
何気なく質問したのですが、暑いレスをたくさん頂きありがとうございます 勉強になりました
299 :
283 :2009/05/27(水) 13:50:41
ありゃ、 ×暑い ○熱い でした、スイマセン
ググっても誰も困ってないようなので、私だけなのかもしれませんが、 vim7.2(.188)と、ruby1.9の組み合わせで、--enable-rubyinterp を付けてると、 makeでエラーになってしまいます。 具体的には、以下のエラーが発生します。 if_ruby.c:51:18: error: ruby.h: No such file or directory 確かに、 /usr/local/lib/ruby/1.9.1/i686-linux の中にruby.hがありません。 ruby1.8の時には、i686-linuxのディレクトリの中にありました。 これは現状では解決出来ない問題なのでしょうか?
>>300 そもそも1.9用のif_rubyが存在しない。
もしかしたらvim_devを漁ればあるかも知れないけど、あっても枯れてないから止めといた方が無難。
>>301 やはりそうですか・・・。
omni補完はほぼ使わないのですが、気になって仕方がありませんでした。
随分前からの悩みだったのですが、またしばらく待ってみます。
情報ありがとうございました。
ファイルを開いたときに 以前最後に開いたファイルの編集行を覚えさせるためには どうすればよいでしょうか?
:help viminfo-file :help 'viminfo'
10年くらいvim3をつかってましたが 周りにインストールされているのがvim7になってきて困っていることが、 vim3だとtag jump(C-])で複数候補があるときに選択リストがでますが vim7は問答無用で最初のエントリに飛ばされてしまいます。 vim7で選べるようにするにはどんな設定が必要?
>>305 nnoremap <C-]> :<C-u>tjump <C-r><C-w><Return>
あるいはデフォルトのままでも飛んだ後に:tnext/:tpreviousで他の候補に飛べるよ。
>>306 なんかまどろっこしいよ
g<C-]>
でいいよ。
mapするなら
nnoremap <C-]> g<C-]>
309 :
306 :2009/05/31(日) 23:09:20
>>308 あー、そんなのあったんだ。
Ex commandは覚えててもキーバインドは覚えてなかった。
さんくす。
310 :
303 :2009/06/01(月) 20:32:11
>>304 最後に開いたファイルの最後の編集行に
ちゃんとカーソルが来るユーザと同じ設定してみました。
set viminfo='100,<50,s10,h
しかしやはり編集行が保存されないようです。
一回:wqして開き直すとファイルの先頭にカーソルがきてしまいます。
:help 'viminfo'を確認しつつ全部のオプションを試してみて、
set viminfo='100,<50,s10,h,%,/50,c,f0,@50,:50,%
とりあえずこんな設定してみましたが、これでもできないようです。
他に考えられる理由はありますでしょうか?
よろしくお願いします
>>303 >以前最後に開いたファイルの編集行を覚えさせるためには
こいつが _vimrc か、.vimrcに書いてないんじゃね?
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
256色のcolorschemeをCUIで表示ってできますか?
guiだけ設定してて、ctermないスキームは無理じゃないかなぁ。
314 :
名無しさん@お腹いっぱい。 :2009/06/02(火) 15:51:11
すいません。vimと直接関係無いのですが、質問させて下さい。 Cのヘッダファイルから関数一覧のファイルを作り、set dictionaryしたいのですが、なにか良い方法は無いでしょうか? ctagsのマニュアルを読むと--c-kinds=+pとかすると行けそうに見えたのですが、上手く出来ていません。
>>314 ctags -R --c-types=f -x
で出力される各行の1ワード目が関数名。
あとはperlなりawkなりで取り出せばおk。
316 :
315 :2009/06/03(水) 00:14:23
× --c-types ○ --c-kinds h_east氏のサイト間違えてる?
317 :
314 :2009/06/03(水) 05:55:31
>315 ありがとうございます。 ただ、示してもらった方法では、ヘッダファイル(というか関数の宣言)から関数一覧は作れてないようです。 例えば、 ctags --c-kinds=f -x `find /usr/include -maxdepth 1 -name "*.h"` をやっても、例えば/usr/include/string.hのmemcpyは生成された一覧には出ません。 それとも僕の環境が悪いんでしょうか。 Exuberant Ctags 5.7 on ubuntu 8.04 でやっています。
hint: -I
>>314 そういうときこそ p 指定。
--c-kinds=p -x
320 :
314 :2009/06/03(水) 10:00:07
>318,319 ありがとうございます。下記方法で出来ました。 ctags --c-kinds=+px \ -I __THROW,__NTH,__wur,__warnattr,\ __nonnull,__attribute_malloc__,__attribute_pure__,__attribute_used__,\ __attribute_noinline__,__attribute_deprecated__,__attribute_format_arg__,\ __attribute_format_strfmon__,__attribute_warn_unused_result__,__always_inline,\ __extern_inline,__extension__,__restrict \ /usr/include/*.h
utf-16leのテキストファイルをvimで開くと文字化けしていたので、 :set enc=utf-16le :e! とやりました。 そしたら、文字化けは直りました。 utf-8で保存しようと思って、 :set fenc=utf-8 :w とやって、保存したら、まずかったみたいで、何をどうやっても文字化けしてしまいます。 たとえば「定」の文字コードはutf-16leでは9a5b、上記の操作でc3a5になってしまっています。 メモ帳でutf-16leの9a5bをutf-8で保存するとe5aeになります。 先週の水曜からコミットしてないソースなんですよ...orz 誰か助けてください (;_;)
バグですね とりあえずこれでなおるはず :set enc=latin1 :e ++enc=utf-8 /path/to/file :set enc=utf-8 :w ファイルの文字コードを指定して開きたいときはこうする :e ++enc=utf-16le /path/to/file encの設定はいらない しかしユニコードを扱うならencもユニコードにしないといろいろとあれなのでその場合はenc=utf-8にしてから上記コマンドで開くといいでしょう
>>323 ありがとうございます。本当に助かりました。
>>322 手動パッチで文字化けを直していたのですが、
11万行もあったので半分も終わってませんでした(^^;
11万行を commit しない勇気。今の若いモンにはこれが欠けている。
commitってどういう意味で使ってますか?
コミット 【commit】 関係すること。参加すること。かかわり合うこと。
>>326 文脈で分かってやれよ。不粋なやつだな。
いくら何でもそれは知ってるよ
>>328 の言わんとしてる事が判らないんだ
嘘つけ、慌てて調べたんだろう。
これ↓で文意が想像つかないって知らないんでなけりゃアホだ。
>>321 >先週の水曜からコミットしてないソースなんですよ...orz
1週間コミットしてないなんてありえないけどなw
>>332 そりゃすまん
>>324 からしか読んで無かったんで
>嘘つけ、慌てて調べたんだろう。
でもこんな風に思うか普通……。
あまりにも人を見下し過ぎてると逆に君の
レベルも多寡が知れてると思われるよ?
vimのスレで出てきたcommitをどう考えたらそれ以外の意味に取れるのかわからんが、 それを激しく追及するのもどうかと。このへんでやめとけよ。
敢えて深い意味があるのかと勘ぐった
ネタとしてな 2chだからここ
ソフトウェアは素晴らしいっすけど、ユーザーがもうねってありがちなパターンっすね。おっすおっす。
そんなことより、Vimの話しようぜ。
$ stat -c %s /usr/local/bin/vim 1658148 デカ過ぎ。この1/10のチビvimが欲しい。
$ stat -f %z /usr/bin/vi /usr/local/bin/vim 281980 1264028
行頭の # が>>コマンドでインデント出来ない。 行頭じゃなければ出来る。なんで? Kaorya gvim 7.2.148
:set nosmartindent
344 :
342 :2009/06/06(土) 15:10:21
C言語のインデントで、 gg=G みたいな事をやると // if (hoge == 0) { などという、コメントアウトした括弧まで反映されて困るんですが なんとかならないんでしょうか?
:set cindent
オートインデントで if (hogehoge) {<CR> ----<CR> としたら if (hogehoge) { ---- になるんだけど勝手にインデント削除させないようにするにはどうすればいいの?
:set autoindent
いろいろやってみたけど、インデントは削除されてしまうので
特にレスをしなかったんだけど、
>>348 じゃ解決できないよね?
けど、そのインデントを残しておきたい理由って何なんだろう?
あとからその行に書きたいときのことを想定してたりする?
>>349 Pythonじゃ勝手に消されると困るし他の言語でも空行もインデントするようにしてるんで
>>347 set cindent
inoremap <CR> x<BS><CR>
でいちおうできた。
他に弊害があるかはわからん。
python使ったことないけど、空行作るためには先頭に空白を入れなければならない言語なのか なれるまで大変そうだね。。
>>353 そんな必要全然ないよ。
>>350 のは編集するとき不便だって話じゃないかな。
ただそれでも隣接行からo/Oすれば十分だとは思うけど。
>>350 のソースを引き継いだ俺は、まず :%s/ *$//<CR> と入力するのであった。
pythonは西欧圏でやたら流行ってる印象が そんなにいいもんかな
今時のLinux環境は何かしらでpython必須だしょ? ソフトの拡張用途でも定番、クロプラ物はとくに とにかくrubyよりはまし
全然必須じゃないが
OpenOfficeでpythonつこてるよね。
つこてないよ
IPAが つ こ う た。
なにかしらで使われてることは知った上で、そんなにいいもんかなという印象なんだけど。 shとまではいかないまでも、perlぐらいの地位は得てるの?
ここ ヴぃm すれ
そんな呼び方は断じて認めない。ぶいあいえむ。
vimでphpのウェブ開発をしたいんですが、 実行結果の確認って、一々Ffとかieのブラウザをリロードしなきゃいけないんですか? ideみたくvim内で実行結果を確認することって出来ないんです?
IDE使えば?
('A`)ヒィィ
だって一番大事なコンソールでそれ実装できないし
vimの挿入モードだけど、常に挿入モードにしてる奴ってどのぐらいいる? それとも起動後、必ず i 入力するの?
どちらでもないな。 iはinsertを行いたい場面で使うし、挿入モードにしたいときに適したコマンドで挿入モードにするよ 新規ファイルを編集したいときに限定すれば起動した後必ずといっていいほどiを入力してるかな
どういう使い方でもそれが便利だと思ったら、その人にとってはそれが正解だよ
Git のコミットログコメントを入力する時にvimを起動しているんですけど、コメントが長いと勝手に改行されてしまうようです。 これをやめさせるにはどうしたらいいでしょうか。 たぶんgitモードかなんかになっていると思うので、それをやめさせればいいのだと思いますが。
どういう使い方でもそれが便利だと思ったら、その人にとってはそれが正解だよ アイン・シュタイン
twを0にするとか?
snipMateをインストールしたんですが、*.c や *.rb では機能が有効になっているのに、*.py では無効になっています。 *.pyでも有効にするにはどうしたらいいでしょうか。 Emacsから乗り換え中で、あまりよくわかっていません。 vim 7.2 使用中
>>366 そういうのは screen + w3m とかで。
>>376 .vimrcの先頭に
filetype plugin on
を入れたら、*.pyでもうまくいくようになりました。
>>371 vim仕様の原理主義的な発想を排除して聞きたい。
なんで、新規ファイルの時は毎回 i を入力してるの?
常時挿入の人は移動はカーソルキーのみ?
>原理主義的な発想を排除して がどの辺までかワカランけど 新規ファイルだろうがaを百個打ちたかったら 100ia[esc]ってiの前に数字打ったりするだろ バッファが空だろうと挿入モードに入る前にやることなんていろいろある 例えば新規ファイルを開いた瞬間インサートモードになってる、とかいう仕様じゃ困るよ
あぁ、スマン
>>371 の人限定の質問だったのか
横から答えちゃった、申し訳ない
そんなことは聞いてない。 なんで、「毎回」 i を打つの? って聞いてる。 おまえが、「毎回」 aを100個入力するなら、すまんかったな。が、そうじゃないだろ? 原理主義は越えないとその先へは進歩できないぞ。
それで慣れちゃったからなぁ。 先に行きたい人は行けばいいじゃない。 おれはほっといてくれていいよ。
なんだ、当人じゃないのか…。
386 :
384 :2009/06/20(土) 00:59:26
あ、371とは別人です。 381とも別人。
毎回「絶対」iするってんなら、371は最初からそう設定しとけよ!ってこと? それで原理主義を乗り越えたことになるのか 普通に不便そうだがw人によっては便利なのかもね
>>387 小さな一歩だが、原理主義を乗り越えるべき大きな前進。
だって、毎回 i をいれるなら、めんどくさく感じないと駄目な気がする。
既存ファイルからヤンク、新規ファイルに挿入、とか良くやるから 勝手に挿入モードに入られても困る
毎回先頭に文字挿入するわけじゃないしなぁ。 /hoge した 50G したりしてから i するじゃん。
原理主義ってどういうこと?
「毎回」iをタイプしたりはしないなぁ vim起動後その前後の行に入力したければoとかOをタイプするし 行末に文字を追加したければAをタイプする どこに文字を挿入するかで違う 最初から挿入モードで使いたい, モードなんて無視したい人にはcreamおすすめ
新規ファイルのときという条件らしいよ。
編集時に毎回iを押して挿入モードにすることをめんどくさがらないから原理主義者、 っていうのはなんか違う気がする。 自分でめんどうだと思っているのにそのまま使っている人の方がどちらかと言えば近いような気もする。
「新規ファイルの時だけ限定で最初から挿入モード」が便利な人もいるかもしれないけど 「何か入力する前にi(またはa)」と指や意識が慣れちゃってる人はわざわざ使い分けるのが面倒かもね 普段の考え方が一入力離脱型かベッタリ入力時々編集型かで分かれそう 「新規ファイルなんて滅多に作らない」人って業務スタイルによっては結構いそうだし 「面倒なことはガンガン設定して楽しようぜ」というのは良いことだとは思う
396 :
392 :2009/06/20(土) 02:43:31
新規ファイルでも,セレクションからペーストして編集する事も多いから 「毎回」iをタイプしたりはしないね
自分の場合は、半分くらいの場合、入力から入って、のこりの半分はコマンド実行から入るみたいだ。 で、最初から、入力になるように試してみたんだけど、入力を抜けるのが面倒くさく感じたぞ。 oやiは1キーだけど、C-[は2キー使うからな。慣れの問題かもしれん
かなりの割合でまず移動する
snipMateを使っているんですけど、~/.vim/snippets/*.snippets を編集したあとリロードするには、vimを再起動するしかないのでしょうか。 できれば現在編集中のvimを終了することなく、編集した*.snippetsの内容を反映させたいんですが。
>>394 そう言う話でてくると思った。でも、程度問題って事なんだよね。その程度では原理者義者ではない。って趣旨だから。
でも、原理主義者のほとんどは「俺は違う」って思ってる。
>>400 ×そう言う話でてくると思った
○そういうレスを待っていた
imapコマンドで、Ctrl+. を表現するにはどうしたらいいですか。 つまり imap <C-o> foo を imap <C-.> foo にしたいのですが、「.」が入力されるだけで、うまくコマンドが実行されません。
>>401 それって原理主義だろ? って言うと「脊髄反射で否定する」って事さ。
>>401 人を原理主義者呼ばわりする奴はキチガイの煽り屋だから相手しちゃダメ、てこと
>>379 亀ですまん。
新規ファイルを作ったらなんか書きたいので、大抵すぐ挿入モードにしてる。
:enewだとか:spだとかの場合はまた違うけど。
407 :
371 :2009/06/21(日) 03:08:36
ちょ、いろいろ議論されててびびった。
ええと、とりあえず言いたいのは
> なんで、新規ファイルの時は毎回 i を入力してるの?
毎回とは書いてないよ。大抵って書いてる。
その理由は
>>406 です。
大抵とも書いてなかった。ほんとすまん。 言いたいことは伝わってるかな…?
>>410 ありがとうございます。
これってvimというよりはterminalの制限ですよね。GUIバージョンでも同じ制限があるんですか。残念。
かわりに Ctrl+¥ や Ctrl+_ を使う事にします。
あと、現在vimスクリプトに挑戦しているんですけど、「カーソルのある場所の文字」を見て分岐するような関数はどうやって書くのでしょうか。
if カーソル状の文字が '<' なら
関数foo()を実行
else
関数bar()を実行
end
みたいなのです。
重ね重ねすみませんが、よろしくお願いします。
今初めてスクリプトについて調べたのでもうちょっと楽な方法あるのかもしれないけど strpart(getline("."),col("."),1) で取れたよ
ごめん。col関数は1オリジンの値を返すようでした。 strpart(getline("."),col(".")-1,1)
>>411 GUI版なら設定可能だよ。できないというのであればもう少し使用環境を詳しく書いて。
> カーソルのある場所の文字
>>413 の方法もあるけど私はgetline('.')[col('.')-1]の方が好みかな。
他にも方法はあるけどややこしいだけだから気にしなくてもいいよ。
>>412-414 ありがとうございます。getline('.')[col('.')-1] を使うことにします。
それでですね、カーソル上の文字によって、iまたはaを使いたいんですが、うまくいきません。
""" 別の関数(ここではstrftime())の実行結果を挿入する。
""" カーソル上の文字が '@' ならその右側に、それ以外なら左側に挿入する。
function Func1()
let ch = getline('.')[col('.')-1]
if ch == '@'
"exec "normal a<C-r>=strftime('%c')<CR>"
return "a<C-r>=strftime('%c')<CR>"
else
"exec "normal i<C-r>=strftime('%c')<CR>"
return "i<C-r>=strftime('%c')<CR>"
endif
endfunction
":nmap <C-¥> :call Func1()
:nmap <expr> <C-¥> Func1()
これを実行すると、<C-r>=strftime('%c')<CR> がそのまま挿入されてしまいます。
どなたか助けてください。
416 :
412 :2009/06/21(日) 13:41:53
>>414 おお、そういう感じに取れるんですね。一文字の場合はそっちがすっきりしてよさげです。
>>415 \<C-R>という風に記述してみたらどうでしょうか?
>>416 >¥<C-R>という風に記述してみたらどうでしょうか?
それで行けました。さんくすです。
>>414 >GUI版なら設定可能だよ。できないというのであればもう少し使用環境を詳しく書いて。
できますか? 環境はMacVM.appです。vim7.2相当。
Vimで、カーソル直前の単語を大文字にするやり方を教えてください。 たとえば request_method と入力して、なにかキーを押すと REQUEST_METHOD となるようにしたいです。
大文字小文字の反転でよければ viw~
と、レスしたはいいけど、ありそうな気がしたのでヘルプ見たらUでできた viwU でどうでしょ
えーとですね。i [esc] i [esc] i [esc] i [esc] って連続して入力していくと、 カーソルがどんどん左に行ってしまうんですが、なんか止める方法ナイスかね。
ガムとかかんで気を紛らわす
>>421 a [esc] a [esc] a [esc] a [esc]
と入力するようにすればいいんじゃナイスかね
set insertmode なんてあるのか。
vimでキーバインドの一覧を表示する機能ってありますか :map とすると、なんかカスタマイズしたぶんだけが表示されて、一覧ではないようです イメージ的にはEmacsの C-h l が欲しいんですけど。
あとvisualモードやinsertモードでの一覧もみたいです
>>420 ありがとうございます。これを参考に vbU でやってみました。
あとカーソルが移動しちゃってるので、移動しないようにしたいのですが、どうしたらいいでしょうか。
vbUw とすると、カーソルが次の単語の先頭に移動しちゃいます。
>>424 vbUw じゃなくて vbUe でよさそうです。eなんていうのがあるとは知りませんでした。
で、関数にしてみたんですけど、どうでしょうか。添削お願いします。
function MyUpcaseWord()
normal vbUe
endfunction
":imap <C-q><C-u> <C-r>=MyUpcaseWord()<CR>
:imap <C-q><C-u> <Esc>:call MyUpcaseWord()<CR>a
:nmap <C-q><C-u> :call MyUpcaseWord()<CR>l
関数、マップ方法については添削できるほどの知識がないので、動けばよいのでは?としか言えないですorz require_function<ESC>としたときにカーソルはnにあるのでiwを使っていました。 require_function<ESC>vbとすると、末尾のnは選択されないように思うのですが、そのへんは大丈夫です?
>>430 手元の環境では、「n」にカーソルがある状態で vb とすると、「n」も含めて選択されました。
vimのバージョンによって違うのかもしれないですね。
けどvimスクリプトは難しい
現在編集中のバッファから、指定した正規表現にマッチする行を一覧表示し、 かつその一覧表示から該当する行にジャンプするようなvimスクリプトってありますか。 イメージとしては、現在編集中のバッファから '^¥s*def ¥w+' や '^¥s*class ¥w+' に一致する行を一覧表示させ、 そこからクラス定義やメソッド定義に簡単にジャンプしたいです。
taglist.vim tagexplorer.vim あたりを使えばよいように思う。
>>432 :vimgrep /^\s*\<\%(class\|def\)\> \w\+/j % | cwindow
とかでどうですか?
>>433 ,434
朝はやくからありがとうございます。
ctagsはあらかじめ実行しておく必要があるし、ちょっと目的とは違うようなので、
:vimgrep のほうを使うことにします。
:vimgrep は、検索結果のウィンドウでEnterキーを押したら該当箇所にジャンプしてくれて便利ですね。
これをカスタマイズして、ジャンプすると同時に検索結果のウィンドウを閉じるような関数をつくり、
それを <C-j> とかに割り当てたいんですけど、どうしたらいいでしょうか。
検索結果のウィンドウでだけキーバインドを変える方法があれば教えてください。
taglist.vimは指定時間置きに自動更新じゃなかったっけ
>>435 わざわざ関数を作ってマップする必要はないと思うけど
:autocmd BufReadPost quickfix nnoremap <silent> <buffer> <C-j> <CR>:cclose<CR>
あ、あれ? 目的見てからtaglist勧めたのに。すまんこ
>>437 どうもありがとうございます。
>:autocmd BufReadPost quickfix nnoremap <silent> <buffer> <C-j> <CR>:cclose<CR>
自分なりに調べたところ、
・:autocmd を使って、quickfix というバッファでBufReadPost イベントが発生したときに、
・nnoremp を使って C-j にコマンドをバッファローカルに割り当てる
ということでいいでしょうか。
うーん難しい。
>>438 こちらこそすみません。ctagsは複数のファイルを横断的に検索するのと、
あらかじめ実行しておかなければいけないから変更直後には使用できないと
思ってやめました。
例が def と class だったので ctags のほうをお勧めされたと思うのですが、
実際にはそれ以外の wiki や html や不定形のファイルも扱いたかったので。
>>439 うん。ctagsを使うものを勧めた理由はそういうわけでした。
quickfixの方がよかったですね。おさわがせしましたよー
やべー vimgrep と quicfix が便利すぎるー 教えてくれた人超サンクスです 未来が30パーセント明るくなった :autocmd BufReadPost quickfix nnoremap <buffer> <C-p> k :autocmd BufReadPost quickfix nnoremap <buffer> <C-n> j これで C-p と C-n で上下に移動できるようになったウヒョー あと追加で質問させてください。 ・quickfix のウィンドウの高さを変えるにはどうしたらいいですか。 :help cwindow は意味不明でした。 ・quickfix のウィンドウ内だけ、カーソルのある行の背景色を変えるにはどうしたらいいですか。 カーソル行の色を変えることができると、視認性が上がりすごく選択しやすくなります。 ・quickfixでは、行の先頭の空白が取り除かれるようなんですが、これを取り除かないように変更できますか。 行頭の空白が取り除かれると、インデントがわからなくなってしまいます。 ・:vimgrep /^[ ¥t]*¥(class¥|def¥) /j % | cwindow をキーマップにバインドするかっこいい方法は何があるでしょうか。 :nmap <C-_> :vimgrep /^[ ¥t]*¥(class¥|def¥) /j % | cwindow としたけどうまくいかなかったので今は function MySearch() :vimgrep /^[ ¥t]*¥(class¥|def¥) /j % | cwindow endfunction :nmap <C-_> :call MySearch()<CR> としています。もっといい方法があれば教えてください。 おしえてくんでごめんなさい
CTRL-W_+
>>441 > :nmap <C-_> :vimgrep /^[ ¥t]*¥(class¥|def¥) /j % | cwindow
最後に <CR> を忘れてるだ
ぽまいら au QuickfixCmdPost vimgrep cw してないの?
.vimに書く時に :nmap ホニャララ と書くのと nmap ホニャララ と書くのと、2通りあるみたいなんですが、違いはなんでしょうか。
意味は同じ。普通はコロンは付けない。
CTRL+N or Pで補完候補の前後移動が出来ますが、 これをCTRLを押さずに候補移動できないでしょうか? CTRL押しっぱなしだと指が痛くなります。
> 450 autocomplpop
452 :
450 :2009/07/03(金) 21:25:17
現在AutoComplPopをつかっていますがどのように設定するのでしょうか。
CTRL-N or CTRL-Pで補完リストにフォーカスを移動し、その後はnかpで上下移動したいのです。
ttp://blog.blueblack.net/item_164 こちらに記載してある「TABキーで補完する」設定をいじってnキーで移動するようにしてみましたが、
これだとnが入力できなくなります。
そこ見たならnが入力できなくなることぐらいわかるだろうに
くだらない質問なきがするんですが 「/」を含む文字列を検索するのってどうすればいいんですか?
ああ\でエスケープすればいいのはわかるんですが 例えば /'/home/hoge' とかみたいに楽にできるといいんです
magicあたりでどうにかならんかと思って調べてたら、 ?で検索すればよいという何ともいえない解決方法が見つかったよ。 なもんで、 ?/home/hoge<CR> /<CR>(検索方向を下向きにしたい場合) とやればいいのかな。ちょっと手間だけども。
置換するときぐらいしか精密な検索しないので、大抵 /home.hogeみたいにして曖昧に検索してる
おれもおれも。
Kaoriya VIM 7.2を使っているのですが、 backspace=1 を設定すると、CTRL+Uによる削除が機能しません。 backspace=2 であれば従来通り行頭まで削除されます。 7.1までは期待した通りの動作なんですが、 バックスペース関連の動作が変更になったんですかね?
7.2入れてないからわかんないけどマニュアルになんか書いてない?
>>460 探してみたんですけど見つからないんですよね。
Cygwin版のvim7.2も試してみたのですが、こちらは期待した通りの動作でした。
となるとKaoriYa版の問題かも知れませんね。
あちらに問い合わせるべきですが、BBSも閉鎖しているようですし…
普通にメールで聞けば?
>>462 そちらで聞いてみます。
ありがとうございました。
465 :
名無しさん@お腹いっぱい。 :2009/07/08(水) 23:46:31
set dictionaryで辞書補完しているんですが 辞書のファイル側の文字列について質問です。 test apple hoge/apple/site /が補完対象にならないのですが どうすればいいのでしょうか・・・
466 :
名無しさん@お腹いっぱい。 :2009/07/09(木) 03:10:27
set iskeyword なのか?
ヤンク&ペーストした際に、行末の「バックスラッシュ+改行」が「@@@」に置換されるのを 止めさせたい場合、どのオプションを設定すれば良いのでしょうか。 現象例: 以下3行をヤンク ./foo arg1 arg2 arg3 \ arg4 arg5 \ arg6 ↓ ペーストするとこのように変形される ./foo arg1 arg2 arg3 @@@ arg4 arg5 @@@ arg6
>>468 おれ91
rcファイルのリアル行数と戦闘力(レベル)は比例しないよ。
# emacsだったらそうかもしれんが
vimの場合はほぼデフォルトのままで如何に使用する本人がレベルアップするかだと思う。
500行超えている人はむしろ素人なんじゃないだろうか?
Emacsだって違うだろ RMSは0行だ
~/.exrc しか無いですがな。
そういうのはいいから。
開発者はよっぽどの事態が起こらない限りデフォで使うだろうよ。
誰もお前の意見なんて聞いてない
うざいね。暑かったからかね
>>476 は自分が作ったカスタマイズ可能なアプリをカスタムして使うんだろうな
思いやりがあるというかなんというかw
さすがにデフォルトはないわw
まずいドッグフードをどうにかしたら超うまくなるのなら最初から超うまくしておけばいい その味が合わない人は味を調整すればいい
だから
>>470 がソースを示せばいいだけだろ
妄想で言っただけなら馬鹿丸出し
まあ、Emacsはほとんど知らないんだけどね
そういやRMSがEmacsは古くさいよ捨てなさいよって言ったんじゃないっけ?
ゴスリンだったのかも。すまんこ
>>467 OS、使用アプリケーション、バージョン、再現手順など詳しく
487 :
467 :2009/07/16(木) 00:55:22
>>486 レスありがとうございます。
RHEL5.2 の標準搭載Vimなので、Ver.7系列だったと思います(今手元にないので未確認です)。
WindowsXPからTera Term4.62でssh2接続し、Makefileの編集を行っていたときに現象確認しました。
まだ初期設定(.vimrc, .vim/なし)では試せていないのですが、
通常は起きない現象との認識で良いでしょうか?
tera termの端末設定いじってないの?
CentOS5.2とTeraTerm4.62のデフォルト設定でマウスでもコマンドでも普通にヤンプできた
491 :
名無しさん@お腹いっぱい。 :2009/07/16(木) 10:59:47
ローカルWindowsのvimでリモートUnixのファイルを編集するのって、どうするのが便利?
ビジュアルモードで選択した範囲内の空行を除去したい場合 どうすればいいでしょうか? :'<,'>s/^$//g では何も起りませんでした。
ありがとう!
496 :
467 :2009/07/17(金) 00:13:18
>>467 の件
原因は、以前導入したプラグインのyankring.vimのバグでした。
最新版に更新したら解決しました。
どうもお騒がせしました。
指定した場所の.vimrcは vim -u path/to/vimrc で読めますが、指定した場所の .vim/ を使ってもらうにはどうすればいいですか? .vimrcを指定しただけだと、.vim/plugin などを読んでくれず困ってます。
$VIMとか$VIMRUNTIMEとかかなあ
>>497 > 指定した場所の .vim/ を使ってもらうにはどうすれば
適当なオプションはないから--cmdで明示的に指定するしかないかな。
vim -u ... --cmd 'set runtimepath^=dokka/.vim | set runtimepath+=dokka/.vim/after'
とか。
> .vimrcを指定しただけだと、.vim/plugin などを読んでくれず困ってます。
これはどういう動作を期待しているの?
'runtimepath'にあるpluginなら-uでvimrc指定しようがしまいがロードされるよ。
Vimで保存時に(自動保存時にも)Growlで通知を出したいのと 特定の拡張子のファイルのときには保存時に自動的にchmod +xをしておいて欲しいのですが、 ファイル保存時に自動実行したいコマンドはどのように設定すれば良いのでしょうか? ご教授願います。 また、Vimscriptの書き方が詳しく解説されているサイトが有りましたら 教えてください。
Growwalとは何ですか。kill(signal)? syslog?
502 :
名無しさん@お腹いっぱい。 :2009/07/19(日) 15:36:49
:vimgrep /移動/ .\runtime\doc\* | cwindow ってのを :help 移動 ってかんじで検索したいんですがむりでしょうか?
503 :
名無しさん@お腹いっぱい。 :2009/07/19(日) 15:41:09
なぜかというと:help 移動 だと 検索にひっかからないからです
>>501 すいませんでした。
そちらについてはMac板で質問します、
自動的にchmod +xする方法についてご教授願います。
>>502 :help :helpgrep
>>500 :help BufWritePre
:help :autocmd
>>505 >:help BufWritePre
>:help :autocmd
無事解決しました。ありがとう御座います。
507 :
名無しさん@お腹いっぱい。 :2009/07/19(日) 17:38:11
:help :helpgrep 該当はありませんってでてしまう。 helpって日本語で 検索できないよね jaxhelpにかえてるんだけど
508 :
名無しさん@お腹いっぱい。 :2009/07/19(日) 17:44:42
●ウィンドウの作成 と書いて コマンドを浮かべようとすると www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/ だけを googleで ウィンドウで検索するはめになる。 vimのhelpgrepは 日本語ではだめなので。 ってのをみつけた やっぱだめみたい。。
>>507 :helpはヘルプを検索するコマンドではないよ。
:helpgrepはヘルプ内検索コマンド。
日本語で検索する場合はヘルプファイルと実行しているvimのエンコードが一緒ならできると思います。
ubuntu9.04でvimをコンパイルしようとしたのですが、 configureすると --enable-gui argument... no GUI support って出てそのままmakeしてもgvimが出来ません。vim -g としても E25: GUI cannot be used: Not enabled at compile time となってしまいます。何か分かる方いましたらよろしくお願いします。
ふぅ・・・
>>510 どうせ必要なライブラリヘッダ等をインストールしてないんだろ。
とりあえずbuild-dep入れとけば。
>>512 無事できました。
ありがとうございました。
"や(を入力する度にw
すみません、書き込みボタンが暴発しました とても説明がしにくいのですが、 " や ( を押す度に、w で移動した後くらいを見計らって 閉じの " を入力してくれるプラグインなんかはありますでしょうか 具体的には、"の押下の回数によって、 1回: "|hoge huga 2回: "|"hoge huga 3回: "hoge|" huga 4回: "hoge huga|" という感じにダブルクォートがずれていくものを期待しています('|'はキー入力位置)
surround.vim嫌い?
やりたそうなことが違うしなあ
>>516 調べてみました
似たようなことはできそうなので、今のとこはこれを使ってみます
ありがとうございます
autocomplpop使ってるけど別バッファで書いたばかりの単語を補完してくれないのう 何回か読み込みしてるとできるようになるんだけど条件が分からん 'complete' は ., w, b, i なんだけど
ああautocomplpop用のcompleteオプションが別にあるのね スレ汚しすまん
最近のマシンだとストレスなくオムニれるの? pen4でJAVAのちっこいソースいじってるだけでも7秒近く検索してる そのほとんどがクラスライブラリ検索してるんだろうけど
522 :
名無しさん@お腹いっぱい。 :2009/07/24(金) 15:20:56
>>507 exコマンドなんちゃって自作でいけました。まっぴんぐしただけだけどね
あとvimの日本語ヘルプってundolistなかったんだけど
つくってkaoriyaあたりにおくったほうがいいんかな?
いがいとそろってないマニュアルあるね。VIM7の新機能だと
マニュアルがないばあいがおおい。半年以上たってんのにね
翻訳状況を見る限りでは追随してそうなんだけどね。 足りないんだったらサイトに書いてるとおり教えてあげるといいと思う
手伝ってもらえるとちょー助かります。
525 :
名無しさん@お腹いっぱい。 :2009/07/25(土) 12:44:34
gvimってタブページひらくとデフォルトで パスを表示するようになってるけどシンプルに ファイルネームだけ表示できないかな、 tablineとかラベルいじらないとむりとか・・・だめか?
そのディレクトリにcdすればいいんじゃね?
まれにみる駄回答…
なにふぁびょっとるん
ふぁびょってるときいて飛んできたのにそんな人はいなかったでござる
最近vim中毒・・・・ ほかのエディッターだとシンタックスカラーみずらいし YYしてコメントして ちょっとづつ作るおいらには Yは必須だし・・・・・viviだとなんかだめだしいろいろと EMエディッターのEmViプラグインが日本語キーボードに対応してたら うつれたんだけど、なんかいいやつないんかな。最近じゃvimスクリプト 組めそうになってきた。サクラエディッターでvimのキーバインドだったら すぐうつりたいんだけど。。
あとVimにつけてほしい機能は Tabで自動インデントをOn Offできるオプションとかだな。 仕事柄どうしてもLispを使う機会があるんだが、 Emacsは小指いたくなから使いたくないしな
>>533 >setl ai
ありがとう、でも、Emacsみたいに
インデントが正しいときはTab押しても移動しないように設定できないかな?
そうなってくれると非常にべんりなんだけど
あれ、がんばって考えた結果、タブごとに自動インデントを設定したいということだろうと読んだけど まちがえてたみたいね。 タブキーを押してもタブを入力させなくする方法はちょっとわからんです。 最終的にgg=Gとかで整形するんじゃダメ?
>>535 ありがとう御座います。
とりあえず今はそのようにして、整形してます。
まあ、Emacsではきっとこれを実装するためにいろいろ
おもい作業をしているようなきがするのでいいです。
Vimは軽いのも魅力なんで
537 :
名無しさん@お腹いっぱい。 :2009/07/29(水) 15:04:32
windows端末からサーバに入ってるときにMSIME日本語入力とコマンドモードを簡単切替できたらいいんだけどなー。SKKとか難しそうだし
いつ頃からだったか、insert modeからEsc 0すると行頭に戻らなくなって しまったんだが、なぜか分かる?nviだと問題無いんだが。
どこに移動するの?
Esc 0 とするとカーソルが1文字右に移動して再度insert modeになってしまう。 Escと0を押す間隔を1秒以上空けると問題無いんだが。 ちなみに使用環境はUbuntu 9.04上のvim 7.2.79です。
>>539 ESCにimapするプラグインがいるんじゃない?
543 :
539 :2009/07/29(水) 18:01:13
>>542 ありがとうございます。vim --nopluginで起動すると問題なかったので
pluginを探した所、tabbar.vimというのが悪さをしていました。
全く使っていないので消して解決しました。
そういう時はau VimEnterで悪さするマッピングをunmapする手もある 全く使っていないなら消すのが当然だけど
545 :
537 :2009/07/29(水) 19:49:31
>>538 putty+ssh。
kaoriya-vimのwin版はIMEと連携してて使いやすいなー
>>545 コマンドモードになったときに自動的にIMEが切れて欲しいということかな
netrwつかったらどうかな
547 :
537 :2009/07/29(水) 21:46:06
>>546 アドバイスありがとう!win上のvimから読み書きしろってことだよね。
でもunix上のシェルとscreenとvimが最高のベストコンビネーションな気がするんだよなあ・・・
zsh+screen+vim+mutt これこそが俺たちのジャスティス
最高のベストジャスティス!
vimで編集したファイルを自動的に世代管理 差異txt表示は 非常にたすかる。 かおりやにあったやつ メニューカスタム。コマンドのカスタム。 無料でこんなエディッタ みたことないよ。 でも知り合いにはevimをすすめる。
奇数行だけデリートってどうやるの?
スクリプトを書くとか
マクロでやるとか
>>551 :%s/.*\n\(.*\n\)/\1/
でできるような気が。
1G99999@='ddj'<CR>
冗談でなく、いつもこんな風にやってる。 :%!awk '{if(\! int(NR\%2))print}'
utf8で「未読」とだけ書いてあるファイルを開くと cp932と誤認される 何が原因なんだろう vim7.2.238
utf-8を前に持って行くとか。
559 :
537 :2009/07/31(金) 10:12:35
BOM付けるとか。
既読にしたら?
ちょっwww
562 :
名無しさん@お腹いっぱい。 :2009/07/31(金) 14:36:39
無変換キーとか 変換キーってxmod(linux設定ファイル)でかえるしかないの? vimrcにmapでつけたしたいんだけどむりかな?
564 :
名無しさん@お腹いっぱい。 :2009/08/01(土) 17:39:12
コマンドモードでコピーとかペーストってできますか?
>>563 どこの項目か書いてくれ。
:setのことなら:set使わずに:let使えばできるよ。
:let &t_us = "\<Esc>something"
とか。
ヤンクした文字列をコマンドモードで貼り付ける事はできますか? 文字列hogeをヤンクした後、:%s/ まで押した後にhogeをペーストして使う、みたいなことがしたいです。
>>567 CTRL-R *
*の部分は任意のレジスタで可
すみません、教えてくだしあ。 VIMって「ヴィ・アイ・エム」って発音しますか? それとも「ヴィム」でもよろしいですか?
>>570 好きなように自由に呼ぶべし
お友達も綺麗にしてさしあげましょう。
俺はゴルゴとレッドみたく
「俺たちおれたちV・I・M」
と叫ぶよw
>>365 が回答だろうけど、読んでないので知らない。
天地が裂けても断じて「ぶいあいえむ」。
読みなよwww 公式にはどうであるかを一応知っておいた方がいいと思うよ。一応ねw
Vim is pronounced as one word, like Jim, not vi-ai-em. It's written with a capital, since it's a name, again like Jim. って言われようがどうしようが俺の中でも「ヴィ・アイ・エム」
gvimを使っています。 「/」で検索した際に、検索した文字に色が付く機能がありまして、非常に重宝してるのですが、 新しく別の単語を検索したりgvimを閉じるまで、ずっと色が付いたままになってしまいます。 いつもは、存在しない単語を検索して(わざと空検索して)色を消しているのですが、スマートではないと思っています。 検索した後、用済みになった色(マーカー)を消す為のコマンドとかあるのでしょうか? 教えて貰えると助かります。
>>576 ありがとうございます!
助かりました。
vim -u /path/to/myvimrc file として起動した場合、一部設定がうまく読み込めません。具体的には、cmapは有効なのですがnoremapやnmapの設定が効きません。 myvimrcを.vimrcにリネームするとこのnoremap、nmapは正常動作します。それぞれこのように書いています。 noremap <Space> :bnext<CR> nmap <silent> <C-L> <C-L>:noh<CR> これらを動作させるにはどうしたらいいですか?
>>578 vimrcにset nocompatible書いてないから。
-u fileを指定せずにvimrcがロードされたときはnocompatibleになるけど
-u fileを指定したときはnocompatibleにならない。だから<Space>などの
特殊キーの表記が認識されない。
ついでに言うとその設定はどっちもnnoremap使う方が良いよ。
>>579 望みどおりに動作しました、ありがとうございます。
> ついでに言うとその設定はどっちもnnoremap使う方が良いよ。
:help nnoremap と :help nmap を見たところ、前者は再帰を行わず、後者は再帰を行うようですね。
nnoremapの方が良いというのは、無限ループを回避するため、ということですか?
-uだからcompatibleなんじゃなくて、読み込み順の問題じゃないの? 結果的にはcompatibleで処理されてるのが原因だけど
:eでさいよみこみ set acdで デレクトリ移動 GUIのステータスラインで ファイル名だけ表示
C言語のhelpファイルつくりたいんだけど むずかしい?
作りなよ。
vim用の各言語helpファイルてあんまないね 簡単に作れるのにね
よしつくることにするよ
txtまでつくれたけど helotagsでタグファイルつくれない たすけて ちなみにUTF-8でつくった 日本語検索できるように うまくいったらUTF-8ばんhelpファイルUPする
manじゃなく、か。 がんばれがんばれ
crontab -e とかvisudoとかでviが開いて vimじゃねーのかよって思ったときに瞬時にvimに切り替える方法教えて下さい
:w tmpfile ! vim tmpfile
前者はEDITOR もしくは VISUALを設定しておく事で、今後切り替える必要が無くなる 後者は危険を承知で別の実行ファイルを動作させたいのであれば、manを参照すること
どうもです ただlessからviに切り替えるくらいスマートな方法はないですかね?
最初はviで、編集したいときだけvimにしたいということ?
lessからはvimじゃなく、viでいいのかね
いや自分が管理じゃない鯖にもよくさわるわけですよ 勝手にprofileとかいじるわけにはいかないし lessからもvimがいいけどそこはv押すだけで行けるっていうスマートさの例なだけです
visudoできる権限与えられてるなら何でもやっていいんでないの?
自分の管理でないと言ってるのだから、出来るけど、やってはいけないのだろう。 だからたぶん ~/.exrc を変更できないだろうし、どんな種類の vi かも不明なので「スマートな方法はありません」がこたえ。 つかそれ以前に、viの話題なのでスレ違い。
そのあと:rとかで読んで保存すれば、まぁ。
>>598 昔、vi-buffer.el つー elisp があっての。
1) 編集中文書を一時ファイルへ書き出す。
2) 現emacsをサスペンドし、viで一時ファイルを開く。
3) emacsに復帰したら、編集中文書を一時ファイルで置き換える。
なかなか有用であった。
アイディアを借用し、逆の vim から emacs への呼び出しを作り、これは今でも使っている。
help つくれない あきらめた
なんでvimscriptがんばる。vimにげんかいをかんじた
autocmd FileType python set omnifunc=pythoncomplete#Complete このpythonのオムニ補完のための1文をvimrcで読み込ませてるんですが、gvimrcではOFFにしたいと思っています。 この場合なんてgvimrcにはなんて記述すればいいんでしょう?
"autocmd FileType python set omnifunc=pythoncomplete#Complete とか。。
やったことないけど if !has("gui_running") autocmd FileType python set omnifunc=pythoncomplete#Complete endif
編集中のファイルのタイプ(shとかperlとか)がどう認識されてるかを表示するコマンドって何でしたっけ?
:echo &filetype ですた
>>608 おお。こっちのほうがタイプ量が少なくていいですね。どうも。
>>603 通常インストールだと
set omnifunc=pythoncomplete#Complete
はftplugin/python.vimに記述してないか?
記述してある場合はvimrcにautocmdで書き込んでも書かなくても同じ
.vim/ftplugin/python.vim
が後に読み込まれるので、.vimは各自で異なるが、そこで
if !has("gui_running")
setlocal omnifunc=
endif
でどうだろ
611 :
名無しさん@お腹いっぱい。 :2009/08/14(金) 11:25:00
>>585 詳しく教えてください お願いしますm(_)m
613 :
603 :2009/08/15(土) 22:45:38
>>610 ありがとうございます!! その方向からうまくいけそうです。
vimを開いた状態で特定のvimrcを読み直すことできますか?
sourceすればいいんじゃね?
nowrapのときにカーソルを動かさないで横スクロールってできますか?
論理改行が好きならいっそwrapで使う 物理改行が好きなら桁数を決めて gvimrcなりターミナルのサイズをカスタマイズしてそれを超えないように努める 君も80桁教に入信しようぜ
>>618 >>619 どうもです
でかいCSVファイルとか見るときに使いたかったんでnowrapじゃないと辛いんですよね
まぁwとかでカーソル移動しちゃうのは諦めます
621 :
名無しさん@お腹いっぱい。 :2009/08/19(水) 20:30:58
vimでphp開発したいんですが、vim+phpのデバックの王道ってどのようなものがあるんですか?
あと マウススクロールに mapしたいんだけど UPとDOWNって割り当てできないだっけ C+Kでも値でなくてさぁ・・・
624 :
612 :2009/08/20(木) 16:58:55
>>622 有難う御座います
さっそくググってみます
set guitablabel=%<%t\ %m これってけっこういいね。
入力補完で.を含むキーワードも補完候補にさせるにはどうすればよいの?
ホームページを書くことになった。 遅ればせながら、project.vim を使ってみた。便利だ。 副産物として、vimwiki の存在を知った。 ちょっと、遅かった。_| ̄|○
>>627 set isk=@,48-57,_,.
see
:h 'isk'
あれ、cmigemo って kensaku と入力しても出力パターンに「けんさく」が出なくて kennsaku で出るのか。 migemo とはちゃうのね。 スレ違イかな
631 :
名無しさん@お腹いっぱい。 :2009/08/27(木) 18:22:07
ステータスラインの色を変更したい 挿入モード時 解除時 ビジュアルモード時 色を変えたいです。
>>631 autocmd InsetEnter * highlight StatusLine guifg=red
autocmd InsetLeave * highlight StatusLine guifg=white
とか試してみ
けれど
highlight StatueLineNCとの兼ね合いでうまくいかんかもしらん
633 :
名無しさん@お腹いっぱい。 :2009/08/28(金) 00:00:53
ファイルを開いてる時に現在どのsyntaxファイルを使用しているのか調べる方法はありませんか?
:scriptnames かな
>>635 ありがとうございました。
色付けはfiletype.vimとsyntax/*.vimが紐づいてたんですね。
vim人口ふえないかな
それは非windows人口の増加にかかっているのかな
>>634 > ファイルを開いてる時に現在どのsyntaxファイルを使用しているのか調べる方法はありませんか?
:set syntax? でオプション'syntax'の中身を見れば現在のsyntax名が分かる。
値が cpp なら syntax/cpp.vim が読み込まれてる。
syntaxがバッファ毎に異なれば'syntax'オプションの中身も変わる。
641 :
名無しさん@そうだ選挙に行こう :2009/08/30(日) 04:21:44
vim自慢しようぜ おいらのは タブ保存復帰 firefoxみたく windowサイズ保存 オムニ保管 バックアップ連番管理。
gVim を起動させた時,ウィンドウ位置とサイズを指定させることはできますか?
X(1)のgeometryで指定しては。
geometry で希望が家内ました! 643 さんありがとうございます! 多謝!!
すいません<body>や</body> これを一発で削除するやりかたをおしえてください dta とか なんかそういうので!!
みんなサンクス。 書き込みに参考してやってみる!
da<が結構よかったです ditなんて便利ですね<font>@@@</font> @@@が消えるから
ルーラーか、ファイル開いた直後のコマンド行に、ファイルのエンコードを表示ってできる?
statuslineやrulerformatに%{&fenc}を忍ばせるとか
653 :
名無しさん@お腹いっぱい。 :2009/09/04(金) 13:22:31
できた。色々やってみて set statusline=%t\ %m%r%h%w[%Y][%{&fenc}][%{&ff}]%=%c,%l%11p%% こんな感じでおちついた。
655 :
名無しさん@お腹いっぱい。 :2009/09/05(土) 01:11:05
どうもmksでタブ保存するけど バッファが変更できないってエラーでる。。詳細あとで書くので、 わかる人がいたら教えてください。
ちょっとお知恵を拝借したいです。 以下、空白文字の代わりにアンダースコアを書きます。 class Test(object): __def method(self, argument):←ここでEnterを押して ____この行に空白文字を4つ、自動的に挿入できるようにするにはどうすればいいでしょうか。 vimrcは今こうなっています。 "--------------------- autocmd FileType python setl autoindent autocmd FileType python setl tabstop=2 expandtab autocmd FileType python setl smartindent indentexpr=2 cinwords=if,elif,else,for,while,try,except,finally,def,class "--------------------- 現在の行のインデントに対して、smartindentがインデントを追加するようにしたいのだけど、うまくいかない。 ご存知の方、教えてください。
657 :
655 :2009/09/05(土) 03:04:13
vim72-kaoriya-w32j\.vim_last_session の処理中にエラーが検出され ました: 行 125: E163: 編集するファイルは1つしかありません 行 244: E163: 編集するファイルは1つしかありません ".htpasswd" ".htpasswd" 1L, 21C ".htaccess" ".htaccess" 5L, 167C ".htaccess" ".htaccess" 5L, 167C こういうエラーです。
>>656 本家vim7.0
python使ったことないけど、デフォでそのようにインデントされたよ
indentexpr=GetPythonIndent(v:lnum)
となっていたので、これが大事なのかもね。
659 :
656 :2009/09/05(土) 05:50:42
>>658 ああ、ありがとう。
centOSで一からvimrcを書いてるので、あたふたしてます。
GetPythonIndent()のことは調べてみてもよく分からなかったけれど、
いろいろ調べているうちに自己解決しました。
いいきっかけになりました。
indentexprなんて使わずに、
shiftwidth=2を追加するだけでよかったなんて…。
お騒がせしました〜。
妖怪人間vim
なにげに為になった。 横からトン
早く emacs に成りたーい # こんだけ重くなりゃもうすぐだよ。
CentOS5.3のvimをデフォルト状態で使うと、 入力モード、コマンドモードに関わらず、括弧上にカーソルが移動する「だけ」で、 対応する括弧上でブロックカーソルが表示されるようになってるけど、 これってどのオプションが効いてるの?
matchpairsと色設定のMatchParen
プラグインによるものだったようで、 :he matchparen をみてみてください
>>665 :NoMatchParen でキャンセルできた。
あんがと。
~/.vimrc に let loaded_matchparen = 1 って入れてもできた。
ちょっとした問題を解決したんで備忘録に vimで保存したファイルの内容の各文字毎にnull文字が挿入される hdコマンドで見るとこんな感じ 00000000 66 00 75 00 67 00 61 00 0a 00 |f.u.g.a...| 原因はfileencoding=ucs-2leであったこと 適当に :set fileencoding=euc-jp で解決 ucs-2leでエンコードされたファイルをPerlに食わせたら 変な怒り方したんで調べた ファイルエンコーディングの話だからVim以外でも起こりうる問題だけど…
null文字が挿入されているように思えるのは、あなたがucs-2leについて知らないからです。 それは決してnull文字ではありません。
保存するファイルのエンコードがucs-2leになってしまう原因わかりました
> 香り屋版のvimrcは(中略)空のファイルを開くと文字コードがucs-2leとして判定されてしまう
http://d.tir.jp/pw?vim この記事の更新日は2005/01/13らしいので少し古いですが、今でも同様の問題が
現在、香り屋のVim 7.2に入ってる日本語の自動判別はruntime\encode_japan.vimに書いてあります
ここのvimrcとencode_japan.vimをそのまま使ってたので問題が起きてました
>>668 statuslineにfileencodingを表示させておけばすぐ判ったのにね
set laststatus=2
set statusline=%<%f\ %m%r%h%w[%{&fileformat}][%{has('multi_byte')&&\ &fileencoding!=''?&fileencoding:&encoding}]\ 0x%B%=%l,%c\ %P
問題だの何だのとひどい言いぐさだけど、ucs-2leをデフォで使用するのはWindowsなら妥当だと思うがね
674 :
名無しさん@お腹いっぱい。 :2009/09/11(金) 15:47:37
俺はなんといおうとカオリヤさんvimhelp翻訳やさんには 最強に感謝している!!!!!!!!
Windowsが糞なのに
↓はeuc-jpなlinuxでの問題だろう。Winでは新規でもcp932がデフォ。
> > 香り屋版のvimrcは(中略)空のファイルを開くと文字コードがucs-2leとして判定されてしまう
>
http://d.tir.jp/pw?vim >>668 が使用OSを明記しないからこんなことに。。。
OS明記汁!!
ここはunix板ゆえunix系なら無問題
>>676 Winでは新規でもcp932がデフォ、というところが引っかかる。
普通にそのまま保存すればcp932だが、普通にunicodeで保存すればucs-2le
普通ってなんやねん
デフォってなんやねん
unicode はencodingじゃないぞ
>>681 一応指定できる
>>678 > 普通にunicodeで保存すればucs-2le
違う!ちゃんと確認してから書き米や方形
>>672 おお、これは素敵
>>676 OSはFreeBSD 7.2です。あとLANG=ja_JP.eucJP
>>677 の言う通り、unix居だから書く必要があまり無い気がしたもんで。
まぁWinで使われる設定ファイルをそのままFreeBSDに持ってきた事が
書かれてなかったからこそそんなことに。。。
>>681-682 Winのメモ帳ではファイル保存時に選べるエンコーディング(「文字コード」と表記されてる)が
ANSI、Unicode、Unicode big endian、UTF-8というカオス(表記が文字コードだからセーフなんだろうけど…)
で、ここでのUnicodeがucs-2leになってる
うちのメモ帳は ANSI (cp932) Unicode (ucs-2le) Unicode big endian (utf-16) UTF-8 (utf-8) が指定できたよ。括弧の中はそのファイルをvimで開いたときに判定されたfenc。 なので、普通にunicodeで保存すればというのは間違えてもないような?
かぶったすまそ
メモ帳はゴミ箱へ
なんでメモ帳が出てくるの?
入力モードから抜ける時のキーバインドはデフォルトでEscですが、とても押しにくいです。 これも設定で変更することは可能ですか? また、一般的にはデフォルトのまま使う人が多いのでしょうか?
なんでもう一個のキーは秘密にw Ctrl + [ でエスケープと同じになるよ
691 :
688 :2009/09/12(土) 03:12:25
やってるかもしれないけど、CtrlとCapsLockを入れ替えるとさらに楽になるよー
Ctrl+C
Ctrl+Cのほうが圧倒的に押しやすいのになんでEscが標準みたいな感じになってんだろ
>>688 TABの上にESCキーが付いてるキーボードを買う
ついでに言えばEnterの上はDeleteが望ましい。
>>694 「みたい」じゃなく<Esc>が標準だからでしょ。
CTRL-Cを<Esc>の代替にできるのはvim以外に無いんでないの?
MS-DOSのstevieとかだったらCTRL-Cするとvi自体が落ちたりして。
>>694 何このEmacs脳
そもそもvimはキー配置を変えなくても快適に使えるってのもvimの利点だった
CtrlとCapsLockの入れ替え前提のEmacsはオリジナル環境じゃないと何もできない
/ を使ったmapを行うと、当然ながらそのmap中の検索が検索履歴に残り、 ハイライトされてしますのですが、これって防ぐ方法あるのでしょうか? ハイライトは:nohすればいいでしょうけど、前回の検索結果は保持しておきたいんです。 / を使わない他の方法があるのでしょうか・・・よくわららないもんで。
Ctrl-cじゃなくて、Ctrl-3なら、viでもいけたような希ガス
>>698 前回の検索結果は @/ に保持されてるはずだから
let tmp = @/
とか、一時的に退避させて後で
let @/ = tmp
で戻すようにすれば良いんじゃない?
perlモードで $hoge->foo(bar => { hoge => huga, # 何か余計にインデントされる }); # ここも $var # ここからはインデントは左端 となるんですが、これを $hoge->foo(bar => { hoge => huga, }); とは出来ませんか?
細けえことは、気に済んな。 ハイ、次。
wakachiko! wakachiko!
OSのクリップボードとvimのバッファを繋ぐことは出来ないでしょうか? 例えば、インターネットをしていてブラウザ上の文章をコピーして、それをvimでペーストしたりしたいのです。
vim上で ノーマルモードの時は、"*p インサートモードの時は、Ctrl+r* はい、次。
706 :
名無しさん@お腹いっぱい。 :2009/09/13(日) 01:55:55
vimhelpを作りたいときはどうすればいいですか? プラグイン作成したとき添付しようとおもっていて
既存のヘルプファイルを参考にすればいいとおもうよ。
helpが添付してあるプラグインを探すのだな vimballとかついてなかったかな
Linux動くttyなvimasterとかってありませんか?
>>704 puttyでvim使っているなら
シフトキー押しながらコピー
711 :
710 :2009/09/13(日) 19:12:47
うほ。こんなの初めて知った。 「挿入モード解除に、ESC の代わりに Ctrl+[ が使える」 キーの組み合わせたくさんありすぎるな
定番杉
Putty以外でも、UNIX環境であればgnome-terminalとかでもホイール使えるな。 xtermではダメだった。
715 :
698 :2009/09/14(月) 01:09:27
>700 ふむ、ちょっち考えてみます・・・ 結局私のやりたいことって、f, F, t, T での移動を 行をまたいでやりたい!!って事なんですよね〜。 これ絶対出来たほうがいいと思うんだけど whichwrap じゃだめみたいだし。
箇条書きで ・ほげほげ ・ふがふがふがふがふがふ ふがふが * ぴよぴよぴよぴよぴよ ぴよぴよぴよ - ふー ・ばー みたいに、箇条書きとインデントを便利に書く方法ってないかな
半角スペースのところを全て改行させたいんだけど上手くいかない。 :%s / /\n/g
>>717 :%s/ /Ctrl-vCtrl-m/g
Vimの改行コードって^Mなの?
>>717 \n じゃなくて \r でいけないか?
:%s/ /\r/g
sedでいいじゃん
>>721 なんで\rだとうまくいくのかな?
\rはCR、\nはLFという認識なんだけど。
fileformat=unixだったら\nでうまくいきそうなんだが。
自分は
>>718 みたいにしちゃうけど。
725 :
717 :2009/09/15(火) 12:43:33
>>718 ,721
どちらでも出来ました
ありがとうございましたm(__)m
--------------------- vim最強 Win-Mac-Unix --------------------- menu.vimにこれ付け足したら幸せになる。(koaoriyaからエンコ変換引用) an 10.360 File.-SEPICONV- <Nop> an 10.361.100.100 File.LineBreak\.\.\..Reload\.\.\..DOS<Tab>ff=dos :e ++ff=dos<CR> an 10.361.100.110 File.LineBreak\.\.\..Reload\.\.\..Mac<Tab>ff=mac :e ++ff=mac<CR> an 10.361.100.120 File.LineBreak\.\.\..Reload\.\.\..Unix<Tab>ff=unix :e ++ff=unix<CR> an 10.362.100.100 File.LineBreak\.\.\..Convert\.\.\..DOS<Tab>ff=dos :set ff=dos<CR> an 10.362.100.110 File.LineBreak\.\.\..Convert\.\.\..Mac<Tab>ff=mac :set ff=mac<CR> an 10.362.100.120 File.LineBreak\.\.\..Convert\.\.\..Unix<Tab>ff=unix :set ff=unix<CR> " <続く>
if has('iconv') let support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0 an 10.396.100.100 File.Encoding\.\.\..Open\.\.\..SJIS<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR> if !support_jisx0213 an 10.396.100.110 File.Encoding\.\.\..Open\.\.\..EUC<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR> an 10.396.100.120 File.Encoding\.\.\..Open\.\.\..JIS<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR> else an 10.396.100.110 File.Encoding\.\.\..Open\.\.\..EUC<Tab>fenc=euc-jisx0213 :browse confirm e ++enc=euc-jisx0213<CR> an 10.396.100.120 File.Encoding\.\.\..Open\.\.\..JIS<Tab>fenc=iso-2022-jp-3 :browse confirm e ++enc=iso-2022-jp-3<CR> endif an 10.396.100.130 File.Encoding\.\.\..Open\.\.\..UTF-8<Tab>fenc=utf-8 :browse confirm e ++enc=utf-8<CR> " <続く>
an 10.396.110.100 File.Encoding\.\.\..Reload\.\.\..SJIS<Tab>fenc=cp932 :e ++enc=cp932<CR> if !support_jisx0213 an 10.396.110.110 File.Encoding\.\.\..Reload\.\.\..EUC<Tab>fenc=euc-jp :e ++enc=euc-jp<CR> an 10.396.110.120 File.Encoding\.\.\..Reload\.\.\..JIS<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR> else an 10.396.110.110 File.Encoding\.\.\..Reload\.\.\..EUC<Tab>fenc=euc-jisx0213 :e ++enc=euc-jisx0213<CR> an 10.396.110.120 File.Encoding\.\.\..Reload\.\.\..JIS<Tab>fenc=iso-2022-jp-3 :e ++enc=iso-2022-jp-3<CR> endif an 10.396.110.130 File.Encoding\.\.\..Reload\.\.\..UTF-8<Tab>fenc=utf-8 :e ++enc=utf-8<CR> an 10.396.115 File.Encoding\.\.\..-SEP1- <Nop> an 10.396.120.100 File.Encoding\.\.\..Save\.\.\..SJIS<Tab>fenc=cp932 :set fenc=cp932 \| w<CR> if !support_jisx0213 an 10.396.120.110 File.Encoding\.\.\..Save\.\.\..EUC<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR> an 10.396.120.120 File.Encoding\.\.\..Save\.\.\..JIS<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR> else an 10.396.120.110 File.Encoding\.\.\..Save\.\.\..EUC<Tab>fenc=euc-jisx0213 :set fenc=euc-jisx0213 \| w<CR> an 10.396.120.120 File.Encoding\.\.\..Save\.\.\..JIS<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR> endif an 10.396.120.130 File.Encoding\.\.\..Save\.\.\..UTF-8<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR> endif
>>704 _vimrc にこれ書いたらできん?
set clipboard=unnamed
>>729 wikiって?
>>724 :help s/\n
:help s/\r
まぁ変な仕様だけどしょうがない
>>724 疑問を持ちつついつも<CR>を使ってたってこと?
735 :
724 :2009/09/15(火) 20:58:03
>>732 \nを置換の右側に書いたときはNULを表すのか。
vimの内部での改行の扱い上の都合があるようですね。
:help NL-used-for-Nul
sedでも右側に\nは書けないんだね。
The escape sequence \n matches a newline character embedded in the pattern space. You cannot, however, use a literal newline character in an address or in the substitute command.(man sed)
>>734 ^MがLFともCRだと思ってなかった。疑問も持たずに、
ただ改行のときはこれ使うみたいな。
>>704 うちはふつうにブラウザかvimにcmd+c/vでコピペできるよ。
vimrcにも特に設定してないと思う。
vimは7.2.108だね(10.6付属)。
もしかしてOSってOSXじゃない?
>>735 なるほど。
\<CR>を今日知ったけど、多分使うことないんだろうなぁ。。。
^MはCRLFだと思ってた。マジで。 だってShift-JISなテキスト開くと^Mがいっぱいあったから……
つまりShift-JISなテキストの改行コードがCRLFLFであると思っていた?という意地悪なこと言っちゃダメか
あぁ、文字コードと改行コードは別でしたね。 Windowsで書いたテキストです。
ここ、unix板じゃないのか。
CRLF と LF が混在した場合に^Mが表示されるようになるのだから、 ^MがCRなのだろうな、という推測はできてもいいんじゃないかと
>>741 Windowsで書かれたテキストを読む事無いかい?
>>745 確認した。使えるね。
正規表現も実装によって微妙に違うんだね。
これまで使ってきて、気づくことはなかったけど。
>>735 はOSX(FreeBSD?)のsedの話だった。
アンカー間違えてる気がしないでもない
Kaoriya の Vim 7.2-20090321 for Windows を落としてきて中のREADME_w32j.txt をvimで開けると、1行目とか、行頭とか、ハイフンに続く文字列に色が付いている んだけど、これってどうなっているの? このREADME_w32j.txtをコピーしたりリネームしたファイルも同じようになる。
モードラインでft書いてるんじゃね?
>>749-750 ありがとう!
モードラインやfiletypeっていう概念があるとは知らなかった!
README_w32j.txtの最後に
vim:set ts=8 sts=2 sw=2 tw=78 et ft=memo:
って確かに書いてあった。なるほど。
正規表現で指定すれば好きなように色づけできると分かったので
調べてみます。助かりました。
E勝手に動く奴が多すぎ 白ネのソロとか糞しかいねぇ
:highlightで表示される内容を編集するにはどうすればいい? 誰か教えて!
よくわからんが、とりあえず :so $VIMRUNTIME/syntax/hitext.vim でも眺めてみては?
コマンドを一行で複数回実行したいんですがどうすればいいですか。 :e main.cpp; :vs main.h; :tabnew sub.cpp; :vs sub.h みたいにして一発でcppとhを開くようなことをしたいと思っています。
>>75 4
:so $VIMRUNTIME/syntax/hitext.vim とは違うような・・??
文字のハイライトが変更できても、保存ができないんです。
:highlight
String xxx links to Constant ってのを
:highlight link String Hoge とかにして
String xxx links to Hoge に変更はできて文字色も変わるけど、ファイル閉じたら
元通りになってしまう。。
ああ、俺もhitest.vimの表示内容を変更したいのかと思ってた。 自分用のcolorschemeを作るといいよ
>>758 ありがとん。カラースキーム作ろうかと思ったけど、公式でよさそうなの
たくさん配布されてるな〜オープンソースばんざい!
760 :
名無しさん@お腹いっぱい。 :2009/09/26(土) 20:03:47
すすめスニペットおしえてください。 windowsでも動くやつ。。(現状sunipet emuしかいれられない. . sunipetmateつかいたいです、 あと最近unix上でのプログラミン グに移行しようとおもってんだけど、 winよりやっぱunixのFTPの ほうがべんりなのかなwinscpで いまやってるんだけど、、gfとかつ かえなくてさ。。vimrcのパスいじれば いけるとおもうけどめんどい 。。 でもunix上だとvimとか勝手にいじれない
>760 日本語でおk
全角、半角が混在している文で、40文字目(全角は2文字換算)が 全角の行を40文字目で改行させる方法はありますか? ・・・難しい
1文字目から自分で数えればよくね?
>>762 こういうことかいね?
:%s/\%>40v/^M/
>>763 説明ヘタクソで申しわけない。
>>764 そのとおりだが、一括変換したい。手作業は漏れるんで。
>>765 40文字目が全角時のみ改行したかったけれど、
/\%>40v/で、全角を2文字換算して数えることができたので
あとは自分で考えてみます。
どうもありがとう。助かりました。
767 :
名無しさん@お腹いっぱい。 :2009/09/28(月) 12:36:04
おすすめカラースキーム inkpot
俺はslateで落ち着いたな。 自分で追加したり色いじるのまんどくせ。 デフォルトからあんまし動かしたくない。
:set tw=60 :set fo+=mt で、60文字目で自動改行させているのだが、 途中で文字の挿入や削除をしても、 60文字目で自動で改行するようにできない? 文章を編集したあとはいつも ctrl+jで行を結合してgqqで整形している。 # 面倒 :set fo+=a で、対応できるのだが、 これだと、文章の後に空行がないと次の段落(センテンス?) の行までくっついてしまう・・・。
黒地に白字、制御記号やステータスバーは全部赤字にしている あんまりカラフルだとかえって見づらい性分
vimスクリプトのタイピングゲームってないですか
>>771 スペースインベーダーを作って俺に下さい。
chalice の起動時、くまがズサーって出てくるから、できるだろうな バッファーローカルなキーイベントも定義できるし 落ちゲーでなくても、単なる文字列(たとえば Bram Moolenaar) を表示して、 そのキーを叩いたら、順番どおりに消えていくとか
そう言えば、テトリスとか倉庫番とか無かったっけ?
自作スクリプト読み込むとき :source jisaku.vim ってする代わりに :jisaku で読み込めるようにするのってどうしたらいいですか
全部小文字はダメだけど、最初が大文字ならば、こう。 command! Jisaku :source jisaku.vim
HTML.vim を *.html というファイルを編集するときにだけ有効にしたいのですがどう書けばいいですかね?
:h ftplugin
htmlの編集で、対応する閉じタグにジャンプすることなんてできますか? もしくはタグの開始で1インデント下げ、閉じタグで1インデント上げるなんて整形ができれば畳み込みと相性がよさそうなんですが。
puttyでマウスを使いたいのですが set mouse=a set ttymouse=xterm2 (ほかの設定値も試した) としてもうまくいきません。 画面をクリックするとhelpが表示されてしまうんですがどこを設定すればいいんでしょうか?
ウガンダにお金を寄付したらお礼かなにかあるんでしょうか
寄付に見返りを求めるな
>>781 VIM - Vi IMproved 7.0 (2006 May 7, compiled Apr 7 2009 23:36:59)
Included patches: 1-243
Compiled by
[email protected] Big version without GUI. Features included (+) or not (-):
+arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +cryptv
+cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic +emacs_tags +eval
+ex_extra +extra_search +farsi +file_in_path +find_in_path +folding -footer +fork()
+gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall
+linebreak +lispindent +listcmds +localmap +menu +mksession +modify_fname +mouse
-mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm +mouse_xterm
+multi_byte +multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra -perl
+postscript +printer -profile -python +quickfix +reltime +rightleft -ruby +scrollbind
+signs +smartindent -sniff +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
-toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
-xterm_clipboard -xterm_save
です
>>782 一般的に寄付の見返りは減税。
だから領収書が出るところにだけ、寄付した方が良いぞ。
>>784 わからん
vim -u NONE で起動するとどうだろう
あとはputtyの設定かな
>>786 おお、出来ました。ありがとうございます
ということはvimrcの何かが悪いんですね
789 :
788 :2009/10/05(月) 20:16:50
set term=builtin_xterm にしたら出来ました。ありがとうございました
ubuntu8.04でvim7.1を使っているのですが set hlsearchとしていると、%s/foo/bar/gc などとして確認しながら置換する時に 全てハイライトされてしまうので、どこを置換しようとしているのか分からなくなります 置換する前にset nohlsearchとしなければいけないのでしょうか それとも、次に置換される場所のハイライト色を変える方法などありますでしょうか
:he :s_c によると、今対象となってる部分はIncSearchで強調されるみたい 俺も気になってたから設定したw
IncSearchだったのですか 項目は見つけていたのに、インクリメント検索とか関係ないだろと 決め付けてしまっていました、、 ありがとうございました。
>793 ちょっとおもしろい。使えるかもしんないですね。 これなんの定数ですか? 2.1414213562373095
> 794 自己解決 白銀比でしたね。。。
なんだろ、この数字? google様もわからんということは、e-05とか、10^6 とかの桁数が抜けた後のなにか、とかかな。
わかったの? なにそれ? なんかごめん:wq
こんにちは。 Vimで読み込んでファイルの行を移動して、そのファイルを閉じて、再び開いたときに 以前に移動していた行から表示される感じのオプションを教えてください。お願いします。
800 :
793 :2009/10/07(水) 17:11:12
すんません。 ルート2の値を間違えただけです。
Command-line mode の undo ってない?
>>798 :h restore-cursor
他に、viminfoの設定が必要だったような、そうじゃないような。
vimなんて使ってて恥ずかしくないの? emacsから落ちこぼれた連中が集まってるとはいえ、ツールにはもう少しこだわりを持った方がいいよ
emacsってそんなすごいんだ。 わざわざ忠告するために時間作ってくれてありがとう。
二日使っただけで小指が痛くてタイプできなくなった。 たかがctrl打つだけで絶対になるわきゃないって思ってたけど emacs小指って本当になるんだよ。 ならない人の殆どはswapcapsじゃない人だった。 俺のノート左下角がFNキーでその右が本来のCtrl Lispマシンのように無変換と変換キーにCtrlを割り当てたりもしたけど マシン変える度に面倒くさくなってVimがいいやって事に。
vimだってCtrlよく押すだろうに。 screenとも併用したりするだろ
Emacsほど頻繁に押さないだろ Screen使ってて頻繁にCtrlを押すシチュエーションを知りたいわ どうでもいいがVi VS Emacsのスレがどっかにあったから 探してそっちでやれよ厨房。
>>805 その発想は無かったなぁ
てっきり逆だと思ってたよ
Emacsが標準で入ってる環境って知らないから。
hjklにとらわれててもう逃げ出せません
そうなんだよなー。 ただ、俺は、viもemacsもどちらも半端にしか使えなくて行ったり来たりしてる。 駄目人間の典型…
マクロとかスクリプトとか活用できるようになってこそ真のvier
>マクロとかスクリプトとか活用できるようになってこそ真のvier 何だよ、viのスクリプトって。
vimスクリプトは十二分に書ける自信あるが syntaxファイルがいまいち自信がない
>>809 window移動でよく押す<ctrl
というかこれがscreenのキモだと思うのだが
そんな自己紹介は誰も聞いてない
わかんないんです(><)
知らんがな(´・ω・`)
余はgVimのアイコンが気に入らぬ
828 :
名無しさん@お腹いっぱい。 :2009/10/17(土) 15:09:37
>>827 今日頑張ってみることにしよう
ウィンドウの一覧のアイコンも変えられるんだよな・・・?
>>828 リソースでも弄れば変えられるんじゃね?
830 :
名無しさん@お腹いっぱい。 :2009/10/17(土) 16:01:01
これはもしかしてアレか ビルドの段階で書き換えとけってやつか
>>830 リソースならビルド後でも変えられるだろうが
てか、手法を含めてヒント出してやってるんだから後は自分で調べろよ
832 :
名無しさん@お腹いっぱい。 :2009/10/17(土) 16:38:38
アイコンって/usr/shareの下あたりに普通に入ってるんじゃ? それを置き換えるか追加すれば済むはなしじゃない。 リソースってなんだ?
>>833 Windowsプログラミングのリソースとして登録されているなら、それを変更すれば出来るし
リソース(素材)として存在しているなら、それを変えればいい
その変も含めて調べれば直ぐに分かることなんじゃねーの?って話
ここはUNIX板うんたらかんたら
>>833 /usr/share/vim/vim72/以下の*.{jpg,png,xpm}と/usr/share/pixmaps/以下のアイコンを変更してみたけど
どうも適用されません。。
linux用のリソースエディタも見つからないので諦めます
諦めるのはまだ早い
諦めて済む問題なら諦めた方が無駄な時間を使わないで済むよ
>>822 困ってる人が声ださないとずっと直らないかもね
840 :
833 :2009/10/17(土) 23:50:36
>> 834,836 windowsとかリソースエディタとかネタなのかな。つられてるの? 2ちゃん初心者なおっさんをからかわないでください。 アイコンってwindow managerとかラウンチャで設定するでないのかい?
直接バイナリエディタで編集すればいいじゃn
アイコンとかどうでもいいだろ。。。
gvim のことすっかり忘れてた。
てか、釣りかどうかも判断出来ないってどうなんだろうな… むしろ、アイコン変更したいとか、アイコン変更出来ないとかの方が釣りっぽく見えるよな
gvim使ってる人いるのん? 使ってる人いたら、gvimってどこらへんが便利なん?
個人的には "--remote"なんちゃらを使うときかな。
freyaってカラースキームがきれい
画面分割したときに境界線をドラッグで移動できる
gvimじゃなくても出来るけど
gvimな人はシェルはどうするの? 別にターミナルを用意しておくのか?
ドロップでファイルを読み込ませられる
>>850 う、うん……(´・ω・`)
ターミナルで作業しつつ、おもむろに、gvimするんだ。
>>850 ターミナルで gvim と打って起動するに決まってるじゃないか。
何を言ってるんだ。
ですよねー
どうしてもって時だけ:guするものだとばかり
>>855 :gu や -g オプションが使えるモノは、それスナワチ gvim なのでは。
vim と gvim の違いはなんやねん。って話をしてないのにナンだけど。
アイコンの話なんだけど。(遠慮がち ubuntuでは/usr/share/pixmaps/ にxpmファイルがあるだが。 でも、stringsしてみると、vimバイナリのなかにもxpm形式の アイコンデータが埋め込まれているよう。 vimをビルドしたことないので変更方法は知らない。 自分的にはgvimは使わないのでアイコンは気にしたことないですわ。
858 :
名無しさん@お腹いっぱい。 :2009/10/19(月) 23:01:10
kaoriyaのgvimのgvimrcに nnoremap <silent> <C-p> :<C-u>execute '!' &l:filetype '%'<Return> って書いたんだけど、python実行されません >C:\WINDOWS\system32\cmd.exe /c python hellow world.py >'python' は、内部コマンドまたは外部コマンド、 >操作可能なプログラムまたはバッチ ファイルとして認識されていません。 >shell returned 1 こんなエラーメッセージが出ます
860 :
858 :2009/10/20(火) 00:08:07
windowsにはパスが通っているんです vim側にも設定箇所ってありましたっけ?
echo $PATHしてみたら。
863 :
858 :2009/10/20(火) 10:53:11
すみません・・・解決しました windowsにパス通した後再起動してませんでした すみませんすみません
動いたならよかったw
再起動、、、
WindowsNT以降は再起動いらんでしょ。。。
867 :
858 :2009/10/20(火) 21:26:31
そうなんですか・・・ 昨夜はvimでエラーが出て、PCの電源を落とし、今日の朝に試したらうまく行ったんです 昨日は動画のエンコばっかしてたから非行に走ったのだろうか・・・悪い子め・・・
へぇ、再起動いらないのか。 俺もシステム環境変数を変えたときはいつも再起動してた。
再起動が必要なのはNT系じゃないWindowsだけ
さすがMS-Windowsユーザ。板違いも知ったことではないか。
マジレスするとユーザ環境変数を変えるなら再起動はいらない。 システム環境変数は再ログインが必要。 システムの再起動はいらないよ。 ってかここunix板でしたね。すみません。
873 :
vim入門中 :2009/10/20(火) 23:41:58
Emacsを少し使っていた者です。 Vim使いの文化を少しでも知りたいと思い質問させていただきます。 Vim使いの方も、モードの切り替えに面倒さを感じたりするのでしょうか? 面倒に感じない方は、理由を教えていただけると、嬉しいのです! 面倒に感じている方も、どのようにカバーしているのか教えていただけると尚嬉しいです。
874 :
vim入門中 :2009/10/20(火) 23:45:42
モードの切り替えとは 編集モード、挿入モードの切り替えです。
日本語の入力時などIMEの切り替えを伴う時は面倒だと思うけど 英文字だけなら俺はそう思わない。 要は慣れでしょ。暫く使ってみれば?面倒ならEmacsに戻ればいいじゃん。 ところで編集モードってなんだ?ノーマルモードのことかしら
モードの切り替えによる操作手順は確かに増えるが、モードがあることによるメリットもある ・たとえば行の中ほどにカーソルがあり、下に新しい行を追加し、そのまま入力を行いたい場合、oを押すだけでよい ・たとえばカーソルの下にある1文字を削除する場合はxを押すが、モードの切り替えはない Vimを使い続ける人はこのメリットの方が、モード切替の手間よりも大きいと感じてるんでしょう。
日本語の入力がある時は辛いお。。。
i 押して「い」となったり、イライラ
879 :
vim入門中 :2009/10/21(水) 01:26:23
>>876 なるほど、Vimは小さく単純なコマンドが割り当てられているぶん
新しいコマンドを割り当てなくても、組み合わせ、または単純なコマンドのまま
使うことによって、特殊な状況でも簡潔に対応できるのですね。
小さいツールを組み合わせるというviの文化が反映されていそうですね。
たしかに、モードの切り替えをなくして、キーバインドだけでは、再現できなさそうですね。
ただ、日本語入力がある時は手間がさらに増えてしまうみたいなので
日本人にとってはプログラミングツールって位置付けになりそうですね。
少しだけVimの文化を知れたような気がします^^
みなさん、ありがとうございました!
>>879 どういたしまして。
ちなみに、キーバインドでどうにかしたのがEmacsenといってもいいかも知れない。
モード切替の手間を無くした代りにCtrlだったりAltだったりの修飾キーの使用頻度が高まった。
あと、一応、IME切り替えの煩雑さを解消するためのパッチもあるよ。
>>873 便利に感じるって言うプラスの発想はないんだな
vimでの日本語入力に関する質問です。 普通の日本語は問題なく入力できるのですが、 ■や↓などの記号を入力するとバグります。 どうバグるかというと■や↓の記号がある行だけ記号以降の文字がガタガタになります。 ガタガタになるだけでそのまま保存すると記号も保存されていますが、編集時に記号以降の編集が難しいです。 特殊な例かもしれませんが、ご教示いただければと思います。 環境: OS :cent os 5 vim :version 7.0.237 文字コード : UTF-8
charset=iso-2022-jpでutf-8のボディや、 ヘッダにコントロールコードを混入したメールに迷惑してるんだが、 送信者はお前だろう。
>>882 それってvimの問題なの?
端末上で△なんかの文字幅が正しく扱えないならAmbiguous Widthの問題だと思うけど
違ったらゴメンね
885 :
名無しさん@お腹いっぱい。 :2009/10/21(水) 23:23:54
皆はESCキーのめんどくささはどうやって解決してるの? 俺は定番の変換キーにESCキーを割り当て
Ctrl-[
Ctrl-[
Ctrl+C
質問なんですが、特定のディレクトリ以下の複数のファイルでvimの 検索・置換を一気に行ないたいという場合に使えるpluginとかはありますか?
>>891 ぬお!標準機能であったんですね…。ありがとうございます!
imap <C-j> <C-\><C-n> vmap <C-j> <C-\><C-n> ヴィジュアルモードからでもC-jで戻れる。ほとんどホームポジションのまま。
>>885 Ctrl-[
うちの変換キーはWindowsキーに割り当てられている
んで、Windowsキーとhjklの同時押しをカーソルキーにマップしている
ウガンダに募金したら現地の子供たちがお手紙を書いて送ってくれたりしないんですか
>>896 見返りを求めるなよw
その手紙代でどれだけの命が救われることやら・・・
If you sponsor a child you can communicate with it. You will get a picture and information about the child's situation, write letters to the child and expect something in return. Let us know if you don't want to communicate with the child.
そだったのか。 募金しようかなぁという気持ちになった。
>>882 set ambiwidth=double
exモードで行の先頭に文字列を入れるのはどう書けばいいでしょうか? 複数行をコメントアウトしたいのです
カーソル行を置き換える :call setline(".", substitute(getline("."), "^", "# ", "g")) "# "が置き換えたい文字列なのでお好きなように料理してください
あ。複数行か。ってか :.,+10s/^/# /g の方が楽やね^−;
>>901 複数行コメントアウトはいつもこんな感じ。
Ctrl+v
jjjjjj...
Shift+i
#
Esc
qaI#<ESC>jq@5a
qaI#<ESC>jq5@a のミス
>>904 これは知らん買った。最期のESC押した時点で#が挿入されるんだな。
随分前に入れたEnhancedCommentify.vimを使ってないことに気づいた。
理由は
>>904 のやり方に慣れきっていたからであり、なんか残念。
>>904 こんなやりかたあったんですね。
コメント解除は
Ctrl+v
jjj...
x
でできるのか。
コメントアウトのときに#とスペース1個入れていた場合も
Ctrl+v
jjj...
l
x
でいいんですね。
ちなみに私はコメントアウトは
v
jjj...
:'<,'>s/^/#
(:と押すと'<,'>は自動で入力されます。最後の/はタイプ量削減のためわざと省略)
で、コメント解除は
v
jjj...
:'<,'>s/#
(:と押すと'<,'>は自動で入力されます。s/#だけなのはタイプ量削減のため)
とやっていました。
>>903 試しに、範囲指定を現在行からマイナス方向で指定したら、Vim にやさしく諭されたよ。
:h E493 が該当するようだ。Vim は頭がいいな。
visualモードという選択肢がありましたね気づきませんでした ctrlとかshiftの同時押しってキーボード見ないとできないし指がつりそうになります
>>911 見ないとできないっていうのは・・・まぁ、慣れだよね。
つりそうになるっていうのは、Vimとは話題が外れるが
モディファイアを使ってない別のキーに置き換えればいいさ。
よくある話だけれど。
shiftとctrlを変換、無変換キーに割り当てるとかね。
GUIなgVimですと、ノーマル/編集状態のカーソル色をそれぞれ任意のものに 変更可能ですが、Vim(vimrc)だと変更方法がわかりません。よろしくご教示ください。
>ctrlとかshiftの同時押しってキーボード見ないとできないし指がつりそうになります 両手でやりゃええやん。
915 :
名無しさん@お腹いっぱい。 :2009/10/24(土) 19:04:31
ターミナルのVimから:spとか:vsして分かれたウィンドウの大きさを ドラッグで変えるにはどうすればいいですか? 端末はgnome-terminalです
対応してるターミナルを使う
>>916 ,917
今のままでは厳しいですか・・
気にせずに頑張ります
みんなバッファ管理どうしてる?
バッファ管理?どういうこと?例を出してくれ
>>920 バッファの表示や切り替えとかバッファまわりで、
どんなカスタマイズしてるか気になったもんで。。
例えば、project.vim使ってるとか。。
" <F2>で前のウィンドウに移動し、最大化 nnoremap <F2> <C-W>W<C-W>_ " <F3>で次のウィンドウに移動し、最大化 nnoremap <F3> <C-W>w<C-W>_ うちはproject.vimとこれぐらい。 S-F2(F3)でタブ切り替えも設定したけど、あんまり使ってない。
バッファ使わずタブしか使ってない
逆にタブ使わずバッファしか使ってないな nnoremap <Space> :bn<CR> nnoremap <BS> :bp<CR> nnoremap ,, :ls<CR> nnoremap ,d :<C-u>bd<CR> nnoremap <Leader><Space> :<C-u>up<CR> バッファを一斉に消すとかするときはqbuf.vim使ってるよ g:qb_hotkey = ",<LT>" にしておく
925 :
vimrcで困っています。 :2009/10/26(月) 22:10:45
ホームディレクトリでなくローカルなディレクトリに vimrcを置いて読み込ませる方法ってありますか? 一つの環境を複数人で使う必要がありホームディレクトリに vimrcを置けません。
-u
>>915 gnome-terminalて新しめの端末なのにマウスの入力受け付けないんだ?
俺はいまだにktermだけど何の設定もせずにマウスでドラッグ出来るよ
>>925 $HOME/.vimrc に set exrc だけ書いとく
ktermで「ターミナルのVimから:spとか:vsして分かれたウィンドウの大きさをドラッグで変える」具体的な方法を教えてけろ。
うちのgnome-terminalはマウスでドラッグできてるな
俺が中三のとき風呂から上がってソファでくつろいでいたのだが 脚を開いた状態だったので 中一だった妹は「ど〜ん」とか言いながら握ってきた 俺は「バカタレ」と言いながらもパジャマのズボンとパンツを下ろして モロに見せつけてやった 妹は凍りついたようになりながらも みるみる勃起する俺のチンコを凝視してた
わっふるわ(ry
>>930 おー。
:set mouse=a とかすると、マウスでxterm上のvimの境界線(?)を動かせるんだ。
感動した。
Vimの便利さをアピールするには、まずどの機能を紹介しますか?
hjkl
>>936 テキストオブジェクトじゃね?
俺はこれで「Vim便利過ぎる」と思った。
別にアピールしなくていいよ
>>939 ふむふむ、なるほど。確かに ci" とか便利ですな。
そこで surround.vim ですよ?
Linuxで<C-Tab>がmapできないんですけど仕様ですか? windowsならできるんですが
Linuxでっていう問題じゃなく リモートからログインしてるからとかじゃないの。
>>944 ああ、なるほどそういうことですか
ありがとうございます
946 :
名無しさん@お腹いっぱい。 :2009/11/06(金) 10:39:57
XP + Cygwin でソースから vim72 をインストールの試行錯誤をしているものです。 環境的にはソフトウェア板にするべき質問かもですが、Unix板のほうが趣旨に合っていると考え、こちらでさせてもらうことにしました。 日常、Windows XP, Cygwin, rxvt でbash などのコマンドを呼び出して使っています。以下のようにしました。 $ ./configure --prefix=/usr/local --with-features=big --enable-multibyte --enable-gui $ make $ make install vimを起動して、:version すると、 -term_clipboard -clipboard のままだったのですが、この二つのオプションを有効にするには、作業前に何をすればいいでしょうか? やりたいことは、クリップボード関連を強化したいのです。 feature.h をいじるといいようですが、これはエディタでいじっても大丈夫なのでしょうか? よろしくおねがいします。
configureのパラメータにないの? --enable-clipboard とかそういうそれっぽい感じのやつ
948 :
946 :2009/11/07(土) 09:31:45
947 さん、レスありがとうございます。 $ ./configure --help | less で見てもそれらしいのはありませんでした。 Unixのにはそういったパラメータはあるのですか?やはりCygwinのは違うということでしょうか。 引き続き情報お待ちしておりますので、おわかりの方よろしくお願いいたします。
>>946 クリップボード単体をどうこうするオプションはないよ。
他のオプションとコンパイル環境によって自動的に有効になる。
基本的に*nix環境なら基本的にXの使用が必須。
そういう訳だからfeature.hを弄って無理矢理有効にしても十中八九コンパイル通らない。
クリップボードの読み書きなら/dev/clipboardなどを使えばできるし、
"*Yなどと普通にクリップボードを使うだけならfakeclipをインストールしておけば良いよ。
950 :
946 :2009/11/07(土) 11:20:46
>>949 さん、レスありがとうございます。
オプションはないのですね、わかりました。
ご教示いただいた方法を試してみたいと思います。
皆さんありがとうございました。
953 :
946 :2009/11/07(土) 19:14:51
>>951 さん、レスありがとうございます。
パッチあててインストールしましたところ、:version にて
+clipboard
-term_clipboard
と有効になり、双方向でのクリップボードのやり取りが可能になりました。
先ほど教えていただいた fakeclip.vim スクリプトでの方法も確かによかったのですが、
キーマップの扱いなどで違和感を覚えていました。
やはり、パッチあてる方法が、慣れた操作で自然に行えるので、今後はこれでいこうと思います。
>>952 さんも情報ありがとうございました。
みなさんご協力感謝いたします。自分は厨房なのですが(リアルで中一ですw)厨房の質問にも
丁寧に答えてくれたUnixの人たちの優しさに触れ感激しております。
本当にありがとうございました。
またなにかありました時にはこちらでお世話になるかもしれませんが、そのときはよろしくお願いいたします。
それでは失礼いたします。長文ですいませんでした。
追伸ですが、configure は、 --with-features=huge に変更して行ったことも報告しておきます。連レスすいません。
955 :
名無しさん@お腹いっぱい。 :2009/11/08(日) 23:22:59
edは標準のエディターである。 edを使っては、pdf・epub・html等の標準形式で保存されたデータを編集できると、有能なソフトウェアーとしてあらゆる出版会社で注目を浴びている。 JASRACの会長に聞いたところ、「われらの会員の歌詞の一部をedでアクセスするようにすれば、それらの出回しが明らかに減りました」と語った。 鳩山首相もedに関して、「妻に紹介してもらいました。まだ慣れていませんけど、21世紀の政治をめざし、迅速に自治体にedの使用を取り入れる方針です。^[^[wq q ? ? n m ,」と仰った。
時代はスクリーンエディタ
今時ガチでラインエディタ使ってる人って。。。
久しぶりにemacsつこたら:wして困る。。。
自分の _vimrc を見ていたら、こんなのが残っていた。 nnoremap <C-x><C-s> :w<CR> 一時期、使ったけど、いまはすっかり忘れて、 使わなくなったものが色々あるな。
初心者なんだけど、vimの操作の覚えがわるくて、kaoriyaに付いてきた日本語チュートリアルもう3週目だよ
チュートリアルは雰囲気をつかむだけでおーけー。 あとは実践しながら体で覚える。
0/$は使うな、I/Aを使えと聞きますが、行の真中くらいにカーソルがあって、その行全体を削除したいときはどうすればいいですか? 今は I esc D としてますが、これだと行がインデントされてた場合行頭に空白が残ります。 やりたいことは 0 D です。
>>962 >0/$は使うな、I/Aを使えと聞きますが
誰に聞いたのか知らないけど0Dでok
またはdd (これだと行自体が削除されるけどね)
cc^[とか。
後出しで偉そうに質問読み違えてレスとか恥ずかしいな
>>964 cc知りませんでした、ありがとうございます。
>0/$は使うな、I/Aを使えと聞きますが
どこだかは忘れましたが、どっかのブログです。そもそも0/$を押さずに済むようなキーが用意されているからとか、
そもそも使わなくていいように作られている、とか書いてました。
私が0/$を嫌うのも、ただ単に押しづらいからです。
ddOだとキャレット行以降が(行が詰まるので)たいていすべて一度再描画される 0Dだと描画はキャレット行のみ、かつ2ストロークで済む みたいな違いはあるのかな 自分はddO使うけど、0Dのが効率的なのかもしれん
>>968 0i とか $a とかやってるんだったら、I とか A を使え、ってことじゃなくって?
map と :map の違いは何でしょうか?
974 :
名無しさん@お腹いっぱい。 :2009/11/14(土) 02:59:18
gVimでは複数行のインデントをTabキーで行うことは出来ませんか? Google先生に尋ねた所、Ctrl+vでビューモードがどうちゃらこうちゃら書いてあったけど理解出来ませんでした・・・
karaage(); umauma(); dayomon(); 先頭のkの位置にカーソルがあるとして <C-v>jjI<Tab><Tab>てな感じ
<C-v>jj>>....のほうがいい
大文字を入力したくてインサート中にcapslockをすると ESCで戻ったとき、コマンドの大文字小文字が逆になり戸惑います コマンドモードに戻る前にcaps解除する癖を付けたほうが良いでしょうか?
qaI<Tab><ESC>jq(行数)@a
大抵はVで指定して=で済むけどね
あと>>使うならC-vじゃなくてVで良くない?
981 :
名無しさん@お腹いっぱい。 :2009/11/14(土) 15:40:32
行のインデントはVで行単位選択して> or <。深さがある時は追加でピリオド連打とか。 ところで末尾が数字の単語の上でCtrl+aとかCtrl+xとかやるとインクリメントとデクリメントやってくれんのな。これ便利。
挿入モードでc-tとc-dはいい機能
984 :
名無しさん@お腹いっぱい。 :2009/11/14(土) 15:47:53
あー俺も知らなかった もう何年も使ってるのに未だに度々便利な機能を発見して感動する
>>981 うおおおおおおおおおおおおおおおおお。知らん買った
>>981 あと、
vmap > >gv
vmap < <gv
てやっとくと、連チャンでインデントできる
c-a/c-zで数字の増減が出来ますが、文字でも似たことはできませんか? aがb,c...に変化するような。
普通に r 使った方がキーストローク少なくて済むと思うんだけど
これって、もしかして・・・ちゃんと指をホームポジションに置いて タッチタイピングできる人でなければ活用できないんじゃないんですか??
これってどれだ?
次スレは?
続きのテンプレ貼ったよ うめ
999
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。