1 :
名無しさん@お腹いっぱい。 :
2010/09/13(月) 11:28:46
2 :
名無しさん@お腹いっぱい。 :2010/09/13(月) 11:32:25
3 :
名無しさん@お腹いっぱい。 :2010/09/13(月) 11:34:55
4 :
名無しさん@お腹いっぱい。 :2010/09/13(月) 11:35:37
5 :
名無しさん@お腹いっぱい。 :2010/09/13(月) 11:37:08
力尽きたorz だれか後頼むスマン
6 :
名無しさん@お腹いっぱい。 :2010/09/13(月) 15:52:53
7 :
名無しさん@お腹いっぱい。 :2010/09/13(月) 15:54:47
8 :
名無しさん@お腹いっぱい。 :2010/09/13(月) 15:56:39
いちもつ
10 :
名無しさん@お腹いっぱい。 :2010/09/13(月) 15:58:13
11 :
名無しさん@お腹いっぱい。 :2010/09/13(月) 16:00:08
インデントファイルの書き方について 解説したサイトを知りませんか?
やっと新スレたったか 乙
16 :
名無しさん@お腹いっぱい。 :2010/09/13(月) 22:33:30
シンタックスファイルの混在ってできないですか HTMLとjavascriptみたいに
>>16 :help :syn-include かな?
19 :
名無しさん@お腹いっぱい。 :2010/09/14(火) 09:08:54
さんくす!!!
端末が EUC-JP で、Unicode のファイル扱うとき「〜」の問題に苦しんでたんだけど、みんな困ってないの? 「〜」の問題ってのは、U+301C vs U+FF5E ね。 んで、つい先日やっと解決策を見つけたから忘れないように書いておく。誰かの参考になれば。 set encoding=utf-8 "←ここは、iconvな名前通らない(これに苦しんでた)。内部表現を指示するところ。 set termencoding=euc-jp-ms "←iconv通る。内部表現と画面/キー入力の相互変換時 set fileencoding=euc-jp-ms "←iconv通る。ファイルと内部表現の相互変換時 としておくと、デフォルトが U+FF5E の入出力。 で、U+301C の「〜」を入力したいときだけ、set termencoding=euc-jp してから入力。 入力したらすぐ戻しても平気。 statusline に [U+%04B] とかしておけば、文字コードがわかって便利。長文ゴメン。
vim のインサートモードでタブキーを押したときの挙動を以下のようにしたいのですが、設定はどのようにすればいいでしょうか? 以下のプログラム (hoge.rb) は例です。タブ文字は >--- で、半角スペースは " " (そのまま) で表現しています。 hoge.rb ---- hoge.rb ここから ---- class HogeClass >----def initialize(foo, bar, foobar) >---->----@foo =foo >---->----@bar =bar >---->----@foobar =foobar >----end >----def print_vars() >---->----puts @foo, @bar, @foobar >----end end ---- hoge.rb ここまで ---- タブキーを押したときの挙動を、 ・インデントをする場合はタブ文字 ・そうでない場合は expandtab を有効にしている時のように半角スペースで整形 を入力したいということです。宜しくお願いします。
どこでタブキーを押したら、どうなって欲しいのか書いてくれんと良く分からんな 「そうでない場合」の判断基準って何だ?
レスありがとうございます。
>>23 情報不足で申し訳ないです。。プログラム例の部分が等幅フォントでないとちょっと分かりにくかったかもしれません。
上の例で、変数の代入部分において (カーソルが = の左にあるとき) タブキーを入力することによって = の位置を揃えたいと思っています。
そして揃えるときの挙動が expandtab 有効時のようにタブ文字分の半角スペースが入力されて欲しいと思っています。
インデントでない場合の判断基準が難しいですが、インデント以外において半角スペースが入力されて欲しいので、
・カーソルが行の途中にある
・カーソルの左には既に何かしらの文字が入力されている状態
という感じで考えています。宜しくお願いします。
質問には答えられないんだけど インデントにタブ文字使うの止めちゃった方がよくね?
ヒントだけ
function! hoge()
if getline(".")[:max(0, [col(".")-2])] =~ "^\t*$"
return "\<Tab>"
else
return "xxx"
endif
endfunction
imap <expr> <Tab> hoge()
これで、カーソル位置から行頭までがtabならばtabキーが入力され、そうでない場合は"xxx"が入力される
あとは、:help evalして自分で作る
他に
>>24 のような整形をするためには、Alignというプラグインがある
これは行を選択して :Align =で済む
neocomplcache.vim (4e271922ef57b2eec525c54dae49e949befad052) native windows でコメントの中で、大括弧 { を使うと Vim(let):E220: } がありません. というようなエラーが出ます。 とりあえず、672d75e34f07b7577585532e3af236352e293359 での修正を 元に戻すと直りましたが、中の人見てましたら何らかの修正お願いします。 diff --git a/autoload/neocomplcache.vim b/autoload/neocomplcache.vim index a8cf514..4e5218b 100644 --- a/autoload/neocomplcache.vim +++ b/autoload/neocomplcache.vim @@ -103,8 +103,13 @@ function! neocomplcache#enable() "{{{ endif call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'default', \'\k\+') - call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'filename', - \'\%(\\[^[:alnum:].-]\|\f\)\+') + if has('win32') || has('win64') + call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'filename', + \'\%(\\[^[:alnum:].-]\|[[:alnum:]:@/._+#$%~-]\)\+') + else + call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'filename', + \'\%(\\[^[:alnum:].-]\|[[:alnum:]@/._+#$%~-]\)\+') + endif call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'lisp,scheme,clojure,int-gosh,int-clisp,int-clj', \'[[:alnum:]+*@$%^&_=<>~.-]\+[!?]\?') call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'ruby,int-irb',
>>26 レスありがとうございます。
情報収集不足で Align プラグインの存在を知りませんでした。。
Align プラグインが非常に便利で上で自分の要求を満たしてくれそうなので Align プラグインを使ってみようと思います。
示していただいた function 定義は非常に勉強になったのでこちらも利用させていただきます。
ありがとうございました。
29 :
名無しさん@お腹いっぱい。 :2010/09/18(土) 15:43:23
すいません、間違ってwindows版の方に書き込んでしまったので こちらでも質問させてください。 色々いじってたら '<,'> というのがコマンドラインのところに出ました。 これはどうやったら出るのでしょうか?何に使うのでしょうか? また、/の検索の際に、nキーで一個ずつ進めますが、 いま選択している部分だけ消したいときはどうすればよいのでしょうか?? ご教示いただけると幸いです。
>> '<,'> visualモードで : を押すとそうなる 選択範囲に対してコマンドを実行する場合に使用する >> 選択している部分だけ消したい 検索はヒットした検索語をハイライトしているだけなので、選択しているわけではない 普通にxとかdwなどで消す もしくは :%s/hoge//gcで該当するところだけyを押して置換するとか
buftabs.vim
http://vim.sourceforge.net/scripts/script.php?script_id=1664 というプラグインについて質問です。
.vimrcには
let g:buftabs_only_basename=1
let g:buftabs_in_statusline=1
を記述し、vim file1 file2 file3 と開くと、ステータスバーにバッファ一覧が表示されますが、:sp して上のウィンドウで :bn や :bp で移動すると、
バッファ一覧が消えて、buftabsを使わないときと同様のステータスバーが表示されます。:spした直後に開かれているバッファを開いているときだけは正常動作します。下のウィンドウでは正常動作します。
:sp する前に一番最初のウィンドウで :bn などで開いたバッファがあれば、そのバッファは :sp した後の上のウィンドウでも正常動作します。
これを正常動作させるにはどうしたらいいでしょうか?
vimは7.2、buftabs.vimは0.16です。
33 :
名無しさん@お腹いっぱい。 :2010/10/02(土) 00:51:29
vimのnetrwで使えるマークを有効活用したいです。 マークしたファイル&ディレクトリをまとめてコピーしたり削除したり。 ただ現状だとディレクトリにマークを付けられないのでほとんど使い物になりません。 ディレクトリにもマークできるようにする方法は無いでしょうか?
>>33 いつの netrw 使ってるのか知らないけど少なくとも g:loaded_netrw == 'v140' なら普通にディレクトリにマークできるよ
35 :
33 :2010/10/02(土) 13:46:21
>>34 ありがとうございます。
netrwを起動すると、右上に
(netrw v132)
という表示があるのですが、このことでしょうか?
だとしたらバージョンが古いためディレクトリにマークが付いてないのかな…
yes!
we
管
39 :
33 :2010/10/02(土) 19:48:12
>>36 ありがとうございます。
ただ、ちゃんと調べてみたら、v132でも実はディレクトリにもマークが付けられてました。
マークは付いてるのに、ディレクトリだと色が変わらないんですね。。
ファイルだと黄色になるのに。
vimの重大なバグ rm ~/vim/ftplugin/vim_hoge.vim rm ~/vim/ftplugin/vim/hoge.vim としても、バックアップファイル vim_hoge.vim~ hoge.vim~ があれば それを読み込んでしまう。 解決法 $VIMRUNTIME/runtime/ftplugin.vim の exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim' を exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim$ ftplugin/' . name . '/*.vim$' に変更。
>>40 $VIMRUNTIME/ftplugin.vim の間違い。
追加
$VIMRUNTIME/menu.vim
$VIMRUNTIME/syntax/synload.vim
も同様に。
42 :
40 :2010/10/03(日) 11:07:46
ごめんない。:runtime の指定に $ は使えないみたいです。 :help wildcard だれかvim自身のpatchお願いします。
うちでは再現できないんだけどosとvimのバージョンは? vim -u NONE -c "runtime! ftplugin/vim.vim ftplugin/vim_*.vim ftplugin/vim/*.vim" でもなる?
>>43 Windows XP
vim72-20100510-kaoriya-w32j
と
rev2596 (fae782ef63dd) + kaoriya.patch
で確認。
ワイルドカードの展開はシステムによって動作が違う?
cygwin-1.7では再現せず。
vista+vim7.3.19では大丈夫なので 7.2以降に修正が入ったかkaoriyaパッチが怪しいのかどっちかではないかと...
>>45 素の状態の XP + vim7.3.19 でもダメでした。
$ hg clone
https://vim.googlecode.com/hg/ rev2596 (fae782ef63dd) vim7.3.19
$ make -B -f Make_ming.mak \
CC=gcc-3 ARCH=i686 \
GUI=yes FEATURES=HUGE OLE=yes \
ICONV=yes MBYTE=yes IME=yes GETTEXT=yes \
gvim.exe 2>&1 | tee ../../make.mingw.gui.log
として何もpatchを当てずコンパイル。
>>40 では :filetype on としたときの動作を例に挙げましたが
:so[urce] {file} というような {file} が引数に含まれているものについても
同様なことが起きます。
:help :filename
:help E480
:help file-pattern
test01.vim~ という名のファイルに
let g:test = 'test01.vim~'
として保存。
gvim -u NONE -c "so test*.vim" -c "echo g:test"
test01.vim~~ というファイルがあるとき、マッチが1個以上と見なされ
E77 エラーが出るので注意。
:so test*.vim としたとき正常ならば E480 のエラーになるが
Windows XPだと、test01.vim~が読み込まれる。
XPというのが原因?
自分の環境だけだったらすいません。
失礼、vistaでも再現した windowsのshort nameがマッチしてるからですね dir /x で出るやつ FindFirstFileの仕様 互換性とか考えるとしょうがない部分ではある べつにpatchなんて書かなくても普通にバグレポートすればいいと思うよ
単純にショートネームを見てるわけじゃなくて 1. FindFirstFileでワイルドカード検索 2. ロングネームを見て正規表現(ワイルドカードから同等のものを生成)でフィルタをかける 3. 一つも残らなかったらFindFirstFileの検索結果をそのまま使う(つまりショートネームを使う) という不思議なことをしてるんだな
妖怪人間vim
はやくemacsに成りたい
IDEにかーくれて生きる
人にはvimrcを見せられぬ 獣のようなキーバインド
GUI さだめを吹き飛ばせー
vim 7.3にしたら構文ハイライトができなくなた。 googleに聞いてもヒットせず、泣く泣く7.2に戻した。 ChangeLog見ても。。。
たぶんちゃんとインストールできてないだけ
泣く泣く戻すような状況になるほど7.3にはいい機能が追加されているのか。 これは試してみなければ
7.3にはすごく良い機能がある
空を飛ぶのかな。
それはもう7.2から実装されてるし。
おれによーし
あをによし
あおはすすんでよし
64 :
名無しさん@お腹いっぱい。 :2010/10/14(木) 15:21:08
65 :
名無しさん@お腹いっぱい。 :2010/10/14(木) 16:55:14
>>55 × :modeline
○ :se modeline
なんでmodelineなんだろう。 :syn onとかしてみたら?
>>66 65氏は、ft= とかを考えているのかも
:h 'ft' すると最初に modeline の設定が出ている
確かに filetype の設定は必要だけど
通常は modeline を使わずに、デフォルトで設定されるし
最初に疑うのは syn on だよな
68 :
65 :2010/10/15(金) 02:42:28
言葉足らずですみません。 65で :se modeline を挙げたのは、自分の環境でも 7.2 -> 7.3 変更時に 一度ハイライトしない事象が出たので、その経験を元に書きました。 私の場合は、helpファイル(例:help.txt)をvimで開いたところ ハイライトされなかった、というもので、7.2のときは問題なく ハイライトされていました。 こちらの環境では、.vimrc は 7.2 と同じものを使用。 コンパイルオプションも 7.2 と同じ条件でコンパイルした上での 差異なので、7.3 ではデフォルトの設定が変わったのかも… (ヘルプ上では、7.2/7.3いずれも、root 以外はデフォルト on と書いてありますが…)と考えて、65 のような回答をしています。 :syn on については、7.3 のソースでもグローバルの vimrc は 普通に syntax 機能を付けてコンパイルしてあれば、有効に なるようになっていますから(ローカルの .vimrc で意図的に off にでもしないかぎり…):syn on の影響はないように考えて います。 modeline の件については、7.3.27 時点でも、手元の .vimrc から se modeline の一行をコメントアウトするか、.vimrc を リネームするだけで再現しますので、バグかどうかは別にし ても、7.2 との実装上の差異のように見受けられます。
69 :
65 :2010/10/15(金) 03:12:19
追記 いま、自宅環境でいろいろ調べたところ、次の点がわかりました。 Ubuntu 10.10 で一般ユーザで上記 help.txt ファイルを .vimrc なしで開くと 7.2/7.3 いずれもハイライトされませんでした。→ modeline オフ 一方、7.3 でも Ubuntu 8.4.4 では、問題なくハイライトされます→ modeline オン 同じことが、CentOS 5.5 でも確認されました→ modeline オン ということで、簡単に 7.2/7.3 の実装の違いと言い切ってしまいましたが、 どうも環境要因も考慮する必要がありそうです。
>>69 そう考えているならfiletypeが適切に設定されていないことを疑うべきじゃないか?
modelineに何も記述していないにもかかわらず、modelineのon/offでハイライトが切り替わるならまだしも。
71 :
65 :2010/10/15(金) 04:46:35
>>70 上で説明した help ファイルの filetype(ft) は、 modeline で設定されています。
したがって、modeline が環境要因などでオフに設定された段階で filetype が判定で
きず、ハイライトもされないということだと認識しています。
「modeline に何も記述してない」という点は、どこから判断されたのでしょうか。
72 :
65 :2010/10/15(金) 04:52:51
追記 失礼、 modelineに何も記述しなくても、modelineのon/offでハイライトが切り替わるなら、問題は modeline にある、という文意でしたね。 私の判断は、modeline に適切に filetype の指定がされているにも関わらず、 そのファイルタイプのハイライトが反映しない=環境または実装またはその両方の要因 により modeline がオフになっていることが直接の原因 ととらえて、.vimrc で明示的に se modeline を指定することで対応したということを述べた までです。
73 :
65 :2010/10/15(金) 04:57:51
補足
>>72 のコメントに追加説明ですが、modeline で filetype を指定しているのですから
modeline がオフになった段階で、filetype は設定されません。つまり、filetype が
正しく設定されていないことは事実です。疑う余地はありません。
ただし、本問題の対症療法的は解決策としては、filetype の設定をどうこうする、
という観点より、modeline を正しく設定すればよいというのが簡単な方法ではないか
と考えています。
.c の拡張子だと runtime/filetype.vim の設定にしたがって、 filetype=c に設定される。.rb の拡張子だと filetype=ruby に設定される。 しかし、ヘルプファイルの拡張子は、一般的なテキストファイルを表す .txt だから、 filetype は、modeline で設定する。 :h で見ることのできるファイルは、ぜんぶファイルの最後の vim:....: で ft=help をしている。 ちなみにkoronさんの gvim フォルダの README_w32j.txt の最後は、 ft=memo を設定して、koron さんの syntax/memo.vim が反映される。
エスパーなのかな。状況を限定しすぎてる
76 :
名無しさん@お腹いっぱい。 :2010/10/15(金) 15:26:50
うん、エスパー的に答えてみた。なんせ、質問者の状況が明確ではないので ただし、事象は検証したものなので、書いておくことは、同じ経験をした人 には役に立つかと…
Vimでソースひらいて二分割したとき左側に関数一覧を表示するみたいなことできますか?
78 :
77 :2010/10/17(日) 21:45:54
すいません。みつかりました taglist.vimってやつです。
minibufexpl.vimやtabbar.vimのステータスラインって消せませんか?
きっとスクリプト書いた本人も消せるもんなら消したいと思っているだろうな…
:set laststatus=0で消せるよ 全部消えるけどな
超初歩的な質問です。 vim72-kaoriya-w32j を解凍後にgvim.exeを実行すると起動時に 常に以下のエラーが出ます。 E575: viminfo: 不正な先頭文字です 行目: O E575: viminfo: 不正な先頭文字です 行目: U E575: viminfo: 不正な先頭文字です 行目: ^I"^I22^IO などのエラーメッセージです。少し調べてみて viminfoを消せば治るという情報もあったので試してみたのですが 治りません。どうすれば治りますでしょうか?
それって初歩的な質問なの?
;e hoge でファイルを開いたとき、常に新しいタブで開くようにできますか?
cabbrev e tabe
>>86 ありがとうございます。
cabbrevって初めてしりました便利ですね
vimwikiの見出しの書式を以下のように変えたいです。 =Title= ↓ #Title 3時間くらい試行錯誤してみたんですが、できませんでした。 自力では無理だという結論に達しました。 なので、誰か作ってください。 お願いしますお願いしますお願いしますお願いしますお願いします いじるのは /autoload/vimwiki.vim の、650行付近にある function! vimwiki#AddHeaderLevel() "{{{ のところだと思います!!!
vimwiki は、syntax highlight の有効が必須だったはず ハイライトとかも書き換えないとマズイでしょ でもさ、ハイライトだけを調べて、ヘッダーだと判定しているだけならばいいけど、 正規表現 /^==\+/ で判定していたらヤバイよね
Opsploreの使い方で質問。 今はvim起動して:Opsploreで使えている状態です。ここから起動時にもプラグインが実行されるようにしたいです。 .vimrcに set runtimepath+=$HOME/.vim/after .vim/afterに Opsplore といれたんですが、実行されません。どうすればいいですか?
エラーが起きないなら、ディレクトリ行蔵でもまちがえてるんじゃね
友達のemacs使いに馬鹿にされるんですけどどうすればいいですか。
>>95 何を馬鹿にされてるんだ?
両刀使いの俺なら emacsしか使えないの? って言い返すけど。
信心が足りてません
>>95 ))))))))))))))))))))))
↑
ダンゴムシのAA
vimなら10時間ぶっ通しでコーディング出来るけどemacsでは無理
スクラッチでゼロから書く時はそう変わらないけど、修正したりデバッグする時はvimの方が速いと思う テキストオブジェクト最強
vimで出来ることは例外無くemacsでも実現出来る。
マジで?
軽快さは失われるだろうけど。
だったら俺vim勉強するよりEmacsに乗り換えよ
>>103 そういえば、486SXでmule(emacs19)がなかなか立ち上がんなくてな。。。
それまでemacsとviを行き来していたが、結局vi系がメインになってまった。
問題はemacsで実現するのに要する手間だよな viper-modeを試したり、自分でelisp書いたりもしたが、これがなかなか面倒 素直に使い分けた方が楽だ
メールの読み書きはemacs。 プログラミングはvim。
Zen CodingでCSSを書くときの実行コマンドを忘れました教えてください。 HTMLなら<Ctrl>y,のやつです。
Eclipsとvimを連携させたいんだけどできないかな
eclim
メールはSeaMonkey プログラミングはGedit 設定ファイルごにょごにょはvim 2chブラウザはgvim
>Gedit
Geditさんをバカにするなよっ
geditは良いエディタだよ 機能の割に重いのが難点だが。
bramの$PATH丸見え>7.3.051
まじかw
みるなよ、エッチ
twitvimで、他者のつぶやき文中にコントロールコード(ascii zero)が入るんだけど、こういうもの?
それはvim的改行コードだね
windows vim で :se shell=zsh shellcmdflag=-c にして :!echo 'a|b' とすると b' なんてないよとか言われます。 どうも "vimrun zsh -c echo 'a|b'" って感じの文字列を デフォルトシェル?(cmd になるのかな?)で解釈実行してて、 解釈上 ' の quote が意味を持たず | が pipe とされている結果、 b' を実行しようとしてる。ようです。多分。 そんで、まあ、特殊記号を普通に扱えないわけですが、 お客様の中に windows vim で :se shell=sh とかをうまいことやってる方が いらっしゃいましたら、お力添えをお願いします。 いらっしゃらなくてもお願いします。
:!"echo 'a|b'" :echo vimproc#system("echo 'a|b'")
122 :
416 :2010/11/18(木) 21:28:32
mの動作がよくわからないのですが 教えていただけますか? mark というのはどういうことでしょうか
>>122 mはviのmと同じです。(vim特有じゃないです)
124 :
416 :2010/11/18(木) 21:39:21
>>123 vi
で改めて検索したらわかりましたありがとうございます
exコマンドの中でスクリプト変数を評価して使いたいのだけど、どうすればいい?
:execute のことかな? :let i='hello world' :exec 'echo i' hello world
>>126 それだ!ありがとう!
しかし、 :exec 'echo i'のiがクオートの中に入っているのに、ちゃんと変数として評価されるのが微妙に気持ち悪いね。不思議な感じ。
ruby書いてる時に,クラスとかeachとかの構文を:setclass とかすると,class endって行って,間に改行も含まれててカーソルはその間に戻る的なのがしたいです. どんなん書けばいいです?
snippetとは違うのか
>>129 は何とか意味を汲み取って、その結果スニペットを提示したんだろうけど、やりたいことを伝えきれていないからこうなったんじゃないかな。
簡単に言うと、日本語でおk
>>128 。
:ab を定義すれば良いんじゃないかとエスパーしてみる
133 :
120 :2010/11/20(土) 06:47:29
>>121 :set shell=zsh としているのは、
:!zsh -c "echo 'a|b'" とかを :!echo 'a|b' と書きたいからで、
それは " やら ' やら | の特殊記号についてエスケープとかを
本来やろうとしていることに対して余計に気にしたくないという欲求によるものです。
というか、普通に unix でできているようにしたいというだけです。
案(代替案?)を示して頂いて申し訳ないのですが、
つまり、余分に " で囲ったり、関数を噛ませたりはしたくない訳です。
:!echo 'a|b' として実行したい。
と、なんかちょっと無理そうな気はする。
unix vim だと system() とかに渡す前に \ エスケープとかしてるっぽいけど、
win32 vim だとそれがないっぽい。
system() 相当の関数から呼ばれている parser ('shell' とは別。cmd.exe ?) を
指定できればなんとかなったりするのかな。何か勘違いしてる気もするが。
>>127 :exec 'echo i' と :echo i って同じですよ。
例としては :exe '!echo' i の方が適切かと。
:exe '!echo ' . i の方が解りやすいかも。
Vimscriptの書き方について教えてください。 以下のように書いたら、結果がコマンドラインに表示されるんですが バッファ内に表示させるにはどうすればいいんですか。 map <leader>f :call Test()<CR> function Test() let input = input('Text: ') let text = input echo text endfunction
setline だったかで、書き込むんだよ。
let @z=input('Text: ') put! z とかもあるよ でも一時的な表示でバッファーを使いたいというのならば、 香り屋 plugin cmdex.vim の Scratch かな 同じことだけど new setlocal bt=nofile noswf これで保存しないで閉じても文句を言われない
>>133 解決方法その1
alias gvim='perl -we "exec q{$HOME/bin/vim/gvim.exe},
map { s/^(.*)$/(-f \$1)?qx{cygpath -aw \"\$1\"}:\$1/e; chomp; \$_; }
(@ARGV); " --'
として、cygwim から gvim を使う。
解決方法その2
if s:is_win
function! s:set_shell(shell) "{{{
let $HOME = 'E:/home/hoge'
"let $PATH = 'C:/strawberry/perl/bin' . ',' . $PATH
execute 'set shell=' . a:shell
set shellcmdflag=-ic
set shellpipe=2>&1\|\ tee
if a:shell =~# '\<zsh\.exe'
set shellredir=>&
else
set shellredir=>%s\ 2>&1
endif
set shellxquote=\"
set shellquote=
endfunction "}}}
function! s:set_cmd() "{{{
set shell=cmd.exe
set shellcmdflag=/c
"set shellpipe=>
set shellpipe=2>&1\|nkf\ -w>%s
set shellredir=>%s\ 2>&1
set shellxquote=
set shellquote=
endfunction "}}}
"
http://got-ravings.blogspot.com/2010/07/vim-pr0n-sample-nerd-tree-plugins.html function! s:shell()
let save_cwd = getcwd()
try
execute 'lcd ' . expand('%:p:h')
redraw!
shell
finally
execute 'lcd ' . save_cwd
endtry
endfunction
command! Shell call s:shell()
command! Mingw call s:set_shell(s:msys_home . '/bin/bash.exe')
command! Cygwin call s:set_shell(g:CygwinHome . '/bin/bash.exe')
command! Zsh call s:set_shell(g:CygwinHome . '/bin/zsh.exe')
command! Cmd call s:set_cmd()
endif
ちょっと変更 @@ -5,7 +5,7 @@ map { s/^(.*)$/(-f \$1)?qx{cygpath -aw \"\$1\"}:\$1/e; chomp; \$_; } (@ARGV); " --' -として、cygwim から gvim を使う。 +として、cygwim から native windows の gvim を使う。 解決方法その2 @@ -31,8 +31,11 @@ function! s:set_cmd() "{{{ set shell=cmd.exe set shellcmdflag=/c - "set shellpipe=> - set shellpipe=2>&1\|nkf\ -w>%s + if &encoding ==# 'utf-8' + set shellpipe=2>&1\|nkf\ -w>%s + else + set shellpipe=> + endif set shellredir=>%s\ 2>&1 set shellxquote= set shellquote=
なんか力作キター
>>132 エスパーさんさすが!!
それどうやってやるですか?
ついさきほどvim使い始めたド素人なんですが、質問させてください! javascriptのsyntaxをダウンロードして/syntax/に放り込んだのですが、 関数も変数も色分けされません(デフォルトの文字色)…PHPなどと違い、javascriptは控えめな色分けなのでしょうか? ちょっとしたスペルミスなどに気づくことができず、はまってばかりです。 それともうまくインストールできてないのか…
どの拡張子が来たらこれを適用する。 っていうのをどっかの設定ファイルに1行かないといけない気がする
function とか var のキーワードがハイライトされてるならそれでおk。 PHPだと組み込みの関数も色が変わるから、それに比べたら地味に見えるかもね。
145 :
142 :2010/11/22(月) 05:28:47
>143,144 こんな時間にレスありがとうございます>< >143 !!もう一度調べてみます; >144 なるほど…一応それらはハイライトさています。 これは自分で作るしかない予感… お二方ありでした!!
>>128 Windows ならば %USERPROFILE%\vimfiles\ftplugin\ruby.vim に
Linux ならば $HOME/.vim/ftplugin/ruby.vim に、以下を書く
inoreab <buffer> module module<cr>end<up><end>
inoreab <buffer> class class<cr>end<up><end>
inoreab <buffer> def def<cr>end<up><end>
んで、filtype が ruby のときだけ、class を書けば次行に end が入力されて
クラス名を入力する状況になる。do, case でやってもいいけど
"string" や /regexp/ の中で書くとウザイよ。
補完を停止するには、class と入力した後に、C-c する。
以下だと _ が補完の発動になるので、じゃまっけではないかも
inoreab <buffer> module_ module<cr>end<up><end>
inoreab <buffer> class_ class<cr>end<up><end>
>>149 おぉー!!でキター!!
ありがとうございましたっ!!
短縮入力っていうのね・・・ 勉強になりまつ
152 :
名無しさん@お腹いっぱい。 :2010/11/26(金) 10:08:25
" Php, php3, php4, etc. " Also Phtml (was used for PHP 2 in the past) " Also .ctp for Cake template file au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php
inset modeを出ることなしに で copy, cut ってどうやるんですか? put(paste) は出来ました
どちらかというと、insertの方に入る感覚なんだよ
挿入って気持ちいいおね
くだらねぇーこと言ってんじゃねーよ!!
iとEsc交互に叩きながら腰を振ってたら一日が終わった。
任意の uri の文字エンコーディングを取得するベターな方法があれば教えてください。
とりあえず、思いついたもの。これは、大げさな気がする。
function! GuessEncode(x)
perl use Encode::Guess qw/ utf8 euc-jp shiftjis /
perl $value = VIM::Eval('a:x')
perl $guess = Encode::Guess::guess_encoding($value)
perl VIM::DoCommand("let result ='" . $guess->name . "'")
return result ==# 'ascii' ? &encoding
\ : result ==# 'utf8' ? 'utf-8'
\ : result ==# 'shiftjis' ? 'cp932'
\ : result
endfunction
"
https://github.com/mattn/webapi-vim " echo GuessEncode(http#get('
http://hibari.2ch.net/unix/ ').content)
大げさとか気にせずにあるものを使うのがベター。 pure vimで文字コード判定したいならgaucheのguess.cあたりを移植するのが簡単かな。
現在開いているバッファの数をステータスラインに表示させることはできますか?
こんな感じ? set statusline=%{CountBuffers()} function! CountBuffers() let cnt = 0 for nr in range(1, bufnr('$')) if buflisted(nr) let cnt += 1 endif endfor return cnt endfunction
挿入モードからコマンドモードに戻る時に、 全角入力から半角入力に勝手に切り替わるように出来ないでしょうか。
inoremap <ESC> <ESC>:set iminsert=0<CR> gvimでは効果があったけどCygwinのvimだと効かなかった
KaoriYa版のgvimってことを書き忘れてた
>>163 無印MacVimだと下の設定でGoogle日本語入力のEscによる切り替えは効いた。
set noimdisable
set iminsert=1
set imsearch=1
ただコンソールからだとうまくいかなかったりカーソルがバグったりインサートモードになったらおせっかいにも前回Escする前の入力言語にもどしてくれたりと良いことなしなので、あまりおすすめしない。
常に意識して変換するクセをつけた方が幸せになれると思う。
ヤンクとクリップボードの関係でもそうかもしれんけど、デフォルトに慣れてしまえばそう悪いもんでもない。
本家が力入れてくれるとも思えないしな。
いい設定見つけたら教えてくれ。
特定エディタの設定をするためだけの言語とか覚える気しねぇ やっぱEmacsの方が分があるよな
emacsは設定用の言語を覚える必要がないのか? 不思議だ。
その言語が特定エディタのためのものかどうかって話だろ
lispの仕事も来ないし、趣味でlispを書くこともない俺にとっては、 lispも特定エディタ(emacs、xyzzy)の設定をするためだけの言語ですw
lisp知っててもemacsの設定は書けんよ。
>>168 細かな設定には lisp を書く必要もあるだろうけれど
M-x customize とか customize-group とか使えば
lisp わからなくてもいじれる気がする。
昔はElisp書くことが目的になるほど夢中になってる人がたくさんいた。 今は書ける人はたくさんいるが研究してる人は少ない。 情報が出尽くして誰でもある程度のElispを書けてしまうから、ハッカーにとってみればもう魅力が無いのだろう。
emacs lispはCommon LispとかSchemeとかに比べるとイマイチ魅力に欠けるからなあ
175 :
名無しさん@お腹いっぱい。 :2010/12/12(日) 06:57:38
kaoriya版のmacvimだとC-^でIMを切り替えると,insertモードに入った時にIMをオンにするかオフにするかを切り替えられるよね. でも同じmacvimでもコンソールだとそれができないんだよね・・・ コンソール上でも出来るようにならんかな
>>176 これってどうなの?
俺は見送ったんだけど。
>>177 helpをちゃんと読める人には不要だと思う。
vimscriptをじっくり解説してくれるようなマニアな本は無いのかなぁ
elispはよく見るのに。
>>177 フォントが大きいせいか1ページあたりに書き込める内容が少ないから
ポケットの名を冠するわりには分厚かった
実際に携帯するポケットリファレンスとして買うなら
俺は持ってないけど、オライリーのviデスクトップ リファレンスのほうがいいんじゃないかな
>>137 レスが遅れ失礼。
試してみました。
解決方法1、2とも set shellxquote=\" が肝のようですね。
それ以外の部分は大体今回の問題に対しては不要、かな?
さて、これで | は使えましたが、" がそのままでは使えません。
(" → "^"" とすると使える)
解決方法1 を参考に SHELL=zshのwindowsパス としていますが、
" も使えるようにする手段としては
- vim をいじる
- vimrun をいじる
- COMSPEC にこの問題に対応したものを指定する
ぐらいかなあ、と思います。
色々試したところ、COMSPEC 変えるのはよく分からない結果になり、
vimrun いじればなんとかなるかな、って感じです。
vim をいじるより vimrun いじる方がいいかな、と。
(最近あんまりコンパイルとかしたくないけど。深い理由はなく)
# shellxquote の他に shellexpr みたいな感じのオプションがあれば、
# もっと簡単に対応できるんだけどなー。 ! のコマンドを入力に
# shell に渡す文字列を返す処理を指定するようなやつ。
# あるいは shelltype が win でも有効ならいいのか?
# というかコレバグなんだよな、多分。
181 :
177 :2010/12/12(日) 23:44:42
>>178 >>179 ありがとう。
ちょっと余裕できたから、オライリーの方も含めて検討する事にした。
体系的な学習をするならオライリーの入門viが向いてるよ あとは技術評論社の はじめての vi & Vim ってのがあるけど評判は分からない
vimに関しては:helpより有用な本を見たことが無いな。
Vim の解説 PDF があったよね。5.7 頃のやつ。 あれ印刷してベット脇において、寝る前にパラパラめくっていたら、 Vim の知らない機能をいろいろ発見して役に立ったよ。 どっちにしろ、全体的な本は必要だと思う。
ポケットリファレンス、各コマンドに使用頻度が1〜5段階でランク付けされてるんだが、 ほとんどが4か5でまったく機能してない感じだな
ここにあるやつvimwikiにのせていい?
いいよ。
188 :
名無しさん@お腹いっぱい。 :2010/12/13(月) 15:01:08
1行目:......$[カーソル] 2行目:^...... この状態で右方向キーを押したら 2行目の先頭に移動するようにはできないのでしょうか? つまりFreeBSDのee(1)みたいな挙動にしたいです。
>188 :help whichwrap
おおー。これは知らなかった。横だがトン
>>177 他の人が書いてるように内容はアッサリ風味なんだけど
項目の順序立てが考えてあって手元に置いとくのに以外と便利
「Vim完全バイブルが大きすぎて机に置いときたくない」って俺には重宝する
もちろん内容的にはhelpに敵いようもない
パラパラと目次見て気に入れば…
192 :
188 :2010/12/13(月) 20:10:38
新規でバッファを制作し始めた時に、エンコードがUTF8になるように設定するにはどうすれば良い? KaoriyaのWin32版gvimを使っていて、標準でcp932になってしまうんだが。
ぐぐれよそれくらい
ヤンクされている文字で検索したり、Grepしたりするのはどうすればいいですか? /C-r*とか書いてあったりしますけど、Ctrl+rやるとダブルクォーテーションが出てきて期待通りの結果になりません。 単純にヤンクしている文字を貼り付けられれば検索だろうがGrepだろうが簡単なんですけど…
その状態で*を押そう。 あと、/C-rw も便利だと思うよ。カーソルがあるところの単語を拾ってくる
>>196 ctrl-r で `"' が出たら, もう一回 `"'.
:h i_ctrl-r
>>197 >>198 ctrl+rwは出来たんですがかんじんのヤンクの方が…
つまりどういうことだってばよ
Ctrl-rの後に、残りのレジスタ記号を打つんだよ " → 無名レジスタ "" (ヤンクした文字列) * → クリップボード "* :help registers
できました どうもありがとうございました
^WTでウィンドウをタブにできるけど、 逆にタブをウィンドウにすることはできますか?
行頭でh押した時に前行の行末へ移動する 行末でl押した時に次行の行頭へ移動する これができるような設定方法っありますか?
>>203 できる mswin.vimにかいてあったぞ
glob(), globpath() を使用してディレクトリやファイル名を求めるとき、 &encoding != &termencoding においてマルチバイト文字や '(' を含むファイルが あると vim が落ちるのは自分だけ? native windows vim7.3.087 rev2668 (bfade53bcafb) + kaoriya.patch を mingw でコンパイルしたものは、Visual C++ Runtime Error で vim73-20101209-kaoriya-w32j は何もエラーを出さずそのまま vim が終了する。 :echo globpath('./', '(*') :echo glob('(*') neocomplcache とか unite でよく落ちる。 function! neocomplcache#util#globpath(path, expr, ...)"{{{ let flag = exists('a:1') ? a:1 : 0 let save_encoding = &encoding let l:termencoding = (has('win32') || has('win64')) && &termencoding == '' \ ? "default" : &termencoding let &encoding = l:termencoding " finally がないと <C-c>で途中でキャンセルしたとき " &encoding の値が &termencoding になる。 try let result = s:iconv(globpath(a:path, a:expr, flag), \ l:termencoding, save_encoding) finally let &encoding = save_encoding endtry return result endfunction"}}} " iconv() wrapper for safety. function! s:iconv(expr, from, to)"{{{ if !has('iconv') || a:from == '' || a:to == '' || a:from ==# a:to return a:expr endif let result = iconv(a:expr, a:from, a:to) return result != '' ? result : a:expr endfunction"}}}
windows持ってないからわからんけど デバッグ付きでビルドしてgdbかなにかで見てみるとか?
ウェブ屋ならemacsじゃなくてvim使え って言われたから使ってるのだが なんだこの糞エディタ vimscriptとか糞過ぎる 拡張性も糞もないから愛着が沸かない
>>208 > ウェブ屋ならemacsじゃなくてvim使え
誰に言われたのか知らんけど多分鯖管理などリモートで作業するときのために
一通りコマンドを覚えとけってことじゃないの?
別に常用する必要はないと思うけど
そもそも使うエディタを他人に強要されている時点で愛着なんて沸かないだろ
vimを使い込むと逆にリモートの初期設定のviが使えなくなる不思議
209が言うように 「緊急時にサーバにログインして、ターミナルで作業する時のために使い方は知っとけ」 って意味で言われたんだと思うよ>Web屋ならVim 昔ならわかるけど、今でもそんなこと言われるんかね?
>>207 ありがとうございます。原因が解りました。
vim73-20101209-kaoriya-w32j のほうは、iconv.dll を KoRoNさんがビルドしたもの
を使用、mingw版は upx圧縮をしないようにすると解決しました。
>>212 vimscript とか拡張性とか言ってるから違うんじゃないかな。
緊急用ならそんなんいらんでしょ。
>>205 出来ませんでしたよ
それWindowsのGUI環境じゃないと動かないんですかね
自分はCentOSなんですが。
>>216 うごくおれもCENTOSだ mswinじゃないけどソースにあった
それくらいすぐ解決できるだろうよ
vimrcに1行かくだけだから
22 set backspace=indent,eol,start 23 set whichwrap=b,s,h,l,<,>,[,], 218だがこれでだめだったらおれもわからん
220 :
名無しさん@お腹いっぱい。 :2010/12/25(土) 12:00:07
highlight CursorIM guifg=NONE guibg=Purple としてもIMEをオンにした時に色が変わらないんですが…
・色が変わるのはgvimだけ ・colorschme hogeの後で設定する(ほとんどのスキームは中でhi clearしてるので)
222 :
220 :2010/12/25(土) 12:29:17
>>221 gvimを使用して、~/.gvimrc内でcolorschemeを設定した後にやっているのですが…
224 :
220 :2010/12/25(土) 13:12:15
:verbise hi CursorIM CursorIM xxx cleared と表示されました。
set verbose=1 としないと設定した場所が表示されないかもしれない。 gvimrc で colorscheme hoge より後で CursorIM が設定されているかどうか または、autocmd の ColorScheme で設定する :help autocmd.txt augroup GvimrcCursorIM autocmd! autocmd InsertEnter * highlight CursorIM guifg=NONE guibg=Purple augroup END
226 :
220 :2010/12/25(土) 14:36:42
>>225 うまく行きました。ありがとうございます。
□とか☆のような文字が入ると表示がおかしくなってしまいます。 ネットで調べると、 set ambiwidth=double で解決するとのことですが、自分の環境では解決できませんでした。 おそらくgvimではなくターミナル内で起動させているのが原因だと思うのですが 解決する方法はあるのでしょうか。
>>227 端末のフォントを変えてみる
vteを使った端末なら環境変数に「VTE_CJK_WIDTH=1」を設定する
229 :
227 :2011/01/05(水) 01:43:59
>>228 返信ありがとうございます。
頂いたアドバイスを試してみましたが直りませんでした。
ググってみるとgnome-terminalの問題らしいですね。
--disable-factoryなども合わせて試しましたがダメでした。
奥が深そうです。。
ホーム直下の gvim 設定ファイルの代わりに 別の場所に置いた設定ファイルを読み込むようにしたいのですが どうすればいいですか? Vim 7.3 windows 64bit用 を使っています。 具体的には、 $HOME/_gvimrc の代わりに $HOME/vimfiles/_gvimrc を読み込むようにしたいです。
~/_gvimrc こう表記した方がいいのかな???
:split状態を90度回転させて:vsplit状態に移行する方法ないの? +-------+ +-------+ | 1 | | | | |-------| => | 2 | 1 | | 2 | | | | +-------+ +-------+
Ctrl+w Shift+l か。
236 :
名無しさん@お腹いっぱい。 :2011/01/07(金) 22:20:20
ヘルプ的には CTRL-W_L か。
へー C-w L C-w K を組で覚えればいいんだ
238 :
231 :2011/01/08(土) 00:22:26
>>234 ありがとうございます。
おかげさまで解決できました。
えー、それで解決なの?
240 :
231 :2011/01/08(土) 07:54:07
>>239 はい、
Vim をインストールしたフォルダの設定ファイルに
下記の :soource コマンドを記述して解決しました。
if filereadable(expand('~/vimfiles/_gvimrc'))
source ~/vimfiles/_gvimrc
endif
neocomplcacheについて質問なのですが、 デフォルトvimの補完やAutocomplpopなどにある'complete'オプションにあたるものはどこにあるのでしょうか。 裏で読んでるバッファから単語を拾って補完してくれなくて困ってます。
コマンドモードでスペースキーを押してスペースを挿入できるようにするには、どうすればいいですか?
雰囲気的にコマンドモードがノーマルモードを指してる気がするので :nnoremap <Space> i<Space><Esc> とかでどうですかね。
ESP能力の無い者がこのスレに迷い込んだようです、ヨミさま。
オムニ補完の仕組みがよく分かりません。
C言語の場合は、ソースからタグを作ってそれを参照しているということなのでまだ分かるのですが、
vim-rubyなどは、配布されている設定ファイルを.vimディレクトリに配置するだけのようです。
(
http://rubyforge.org/frs/?group_id=16&release_id=11557 )
ローカルでどのバージョンのRubyを利用しているかによって補完すべきメソッドなどは変わると思うのですが、
vim-rubyはどうやって実現してるのですか?
あるいは固定のバージョンにのみ対応しているだけですか?
rubyのコードがついてるくらいだから言語機能でなんかあったりしないの
見た目どおりに入力してもだめだったかー
>>249 頭のコロンいらないですよね?vimrcに書く場合
そうなら、できなかった。
ちなみにLinuxのvimですよ
yankringってvim7.3で使えてますか? 入れてみたら起動が妙に遅くなったんですが
アルプス一万尺小槍の上でアルペン踊りをさあ踊りましょ
netrwをssh越しに使ってる人っている? 動作が鈍いのが何とかなればそこそこ使えそうなのだが。
おとといからVim使い始めた新参者なので変なこといってたらすみません… Project.vim起動中にQuickRun.vimでソース実行させると、選択されてるウィンドウが変更されないから、[C-w]してqで消してるんだけど、消した後Projectのウィンドウの幅がやたら大きくなったままで<space>をおしてもっかい[C-w]ってやってます…どうにか一発で QuickRun実行→出力されたウィンドウ選択状態→コマンドなんか一つ→QuickRun実行前の状態に戻る というふうにできないでしょうか? よくばりすぎてすみません/
:bdelete でどうかな
.vim/autoload このディレクトリの役割は何ですか? 名前からしてvim起動時に一度だけ呼ばれるファイルを置くのかな?とも思ったのですが それは.vim/pluginの役目のようです。 実験してみてもvim起動時には.vim/autoloadのファイルを読んでいないようです。
:help autoload
259 :
名無しさん@お腹いっぱい。 :2011/02/05(土) 17:06:21
質問させてください〜 よく、コマンドライン端末からvim起動させてJavaScriptの編集をするのですが、 どういう訳か、編集中に文章の色分けがおかしくなる事があります。 画面をスクロールさせてると、どこかで直るのですが・・・ その他の(PerlやJAVA)ソースの編集中には起こらない不具合なのですが どうすれば、JavaScriptでも色分けがおかしくならないようになるでしょうか?
ブログとか書く時にブラウザが突然落ちることもあるから これで下書きしようと思うんだけどオススメの設定とかあるかな
>>259 色がおかしくなったら、Ctrl-L を押すべし。
263 :
名無しさん@お腹いっぱい。 :2011/02/06(日) 03:09:01
PHPのオムニ補完 で スクラッチ ウインドウが分割されてしまうんですが しないようにできますか?
たまにメモリ不足エラーが出るけど、 不足しているようには思えないんだよなあ。 vim としての使用上限でもあるのかな。 あーでも win gvim でしか出てなかったかも。 project.vim でよく出てた気も。
> たまにメモリ不足エラーが出るけど、 見たことない。
vmware使ってると固まることは度々あるな。 eclipseですらヌルヌル動くのに。
267 :
名無しさん@お腹いっぱい。 :2011/02/06(日) 13:41:39
>>260 おぉ、ありがとうございます
勉強になりました〜が、設定を見直しても正常な色分けにならないです・・・
>>262 CTRL-Lを押すと、正常だったのがおかしくなります・・・
おかしくなってしまった後に押しても、何の変化もありません
う〜ん、折りたたみとか使ってるんですが、
それが原因なんでしょうかねぇ・・・
でも、他の言語なら色分けおかしくなる事ないのに何故だろ・・・
ソース編集中に、突然色がおかしくなると、それだけでイライラしますねw
>>267 vim.orgで探してみるのはどうか
vim-hacksか何かで読んでウチでは~/.vim/syntax/javascript.vimが設置してある
あーそうだ、メモリ不足エラーは win gvim でしか出てなかったな。うん。
unix では見た記憶ないわ。project.vim だけだったかわ覚えてないが、
深いディレクトリで \C する時によく出てた記憶がある。
plugin の問題なのかなー。
>>267 その症状だと :help :syn-sync にある内容が該当すると思うけど。
まあ javascript の syntax で起こりそうには思えないけどね。
というか自前 syntax ですか?それならありうる。
vimって拡張性低いし自由利かないしつまらないし〜 みたいなことを、知り合いのemacs使い(エディタに詳しいが頭は悪い)にしつこく言われる。 洗脳されてしまいそうだ。
その人はエディタにも詳しくない
まぁ、間違ってはいないんだけどね あくまで「Emacsに比べれば」だけど で、Emacsじゃなきゃ無理なレベルの拡張性と自由が欲しいかと言われると全く欲しくないわけで…w
>>270 エディタに求める機能を十分満たしてるのでわざわざ乗り換えようとは思わないです。
emacsの方がよい点を挙げてもらって、それが欲しい機能なら乗り換えるかもしれません。
って言ってみたらどう。
エディタに詳しい人間ほど、emacsとvimの間を揺れ動くもんだと思う
>>270 当たり前のことをしつこく言うってのは・・・
差は少なくなったとはいえ、コンセプトの違いはハッキリしてるんだから、
ケースとニーズで使い分けろと
最近は vim vs emacs ではなく、(vim, emacs)連合 vs 総合開発環境 の話をよくする。
Vim が好きだけど、emacs の elisp による比類なき拡張性には憧れる。 とは言っても、別に emacs的な環境が欲しいというわけではない。あってもいいけど、Vim遣い的にはおまけ。 それで elisp の拡張性にモノを言わせてVimをエミュレーションすればいいんじゃね?って思って vim-mode とか試してみたけど、なんか動きが微妙に怪しい。 他にいいのがあったら教えてほしいけど、 特に↓コレが出ないのが何とも寂しすぎる…。やっぱり Vim に Vim用Lisp 組み込むか、新しい vim 作るしか無いのかなぁ? ~ ~ ~
278 :
名無しさん@お腹いっぱい。 :2011/02/10(木) 20:01:00
>>277 :help mzscheme
あと、gaucheインタフェースも開発中だとか。
vimscriptで出来ないことって具体的に何があるんだ?
280 :
277 :2011/02/11(金) 00:47:28
>>279 確か neocomplcache の中の人も苦しんでたと思うけど、
例えば Vimの組み込み補完自体の挙動を変えたいって場合には、
vimscript 「だけ」 では太刀打ち出来ないと思う。
Vim の進化の過程で、割と複雑な補完という大機能を搭載したのに
その実装方法が十分に一般化されておらず、
ハードコードされてる部分が多すぎて十分に制御できない。
例えば、補完で使われるポップアップウィンドウは、コマンドモードからは呼べない。
そういうものがたくさんあるから、emacs の elisp でエディタを実装している、という
Vimから見ると正反対のアプローチによる強力さに憧れる。
>>280 おおなるほど。ありがとう。あまり理解できてないがw
rubyとかperlでもvimは拡張できるけど、ああいうのもやっぱり駄目なのかな。
根っこの部分が問題なのか。
またこの流れか 該当スレへどうぞ
>>277 emacsのvimエミュレーションで、vimpulseというのもある
viper-modeを拡張してテキストオブジェクトなんかも出来るのだけど、
ちょっと挙動が違う部分もあってとまどう点は、他のviエミュと一緒なのであまり期待しないようにw
システム内の他プロセスが大量にファイルIO(ファイルディスクリプタ)を使用している場合、 vimが、一切反応が無くなることがあるのですが、これを改善する方法はあるでしょうか。 (topで見ると、STATがDで、反応がなかった間に行ったキー操作が数分後にまとめて反映される) ファイル保存は仕方ないとして、カーソルさえまともに動かせなくなるのは厳しいです。 検証はしていませんが、スワップファイルの更新が影響しているのかなぁと考えています。 スワップファイルを更新するイベントを減らすとか、 編集中に一時的にスワップファイルの更新を止めるとかそういう事は可能でしょうか。
挿入モードで、1文字入力するごとに反映されて 後続の文字が後退していくんだけど、 これって昔からこんなだったっけ? しかも、それなのに BackSpace では戻らないのはどういうことなんだ。
なんか覚えのある…
:set noswapfile
本家サイトが壊れたまま復旧しないお。。。
289 :
名無しさん@お腹いっぱい。 :2011/02/12(土) 11:52:07
viみたく変更する部分までを$表示するなら set cpo+=$
>>288 うわマジだwなんだこれ。個人の趣味サイトじゃあるまいし。
Vim もどんどん肥大化して もう結局 Emacs と変わんないよな。
shellの中での起動がデフォ という圧倒的利点がある。 emacsは環境だから、それ自体が主役になってしまう。 勿論それはそれで良いのだが、zshを使い込んでるような輩には不満も出てくる。
個人的に Vim script はあまり好きじゃないけど。
emacs は起動に 10秒かかるからなあ。昔の話だけど。
vim は起動 0.1秒台だからなあ。昔はそれより遅かっただろうけど。
つか、pluginなしなら 0.01秒台なんだよなあ。実用性には関係ないけど
キーを押した瞬間に起動を終えているというのはいいものだ。
0.01秒だとほぼ「キーを押したと思ったら起動していた」なんだが
0.1秒だと間が感じられる。いやどうでもいいだろうけど。
>>285 set nocompatible で <BS> で戻るよ。
主役はシェルという視点はある。 VZ が DOS と親和性が高くて人気があったのと同じく。
emacsで補完系のelisp見ても無駄に頑張ってる感しか伝わってこないしな。 eclipse使えばいいのに、って思ってしまう。
emacsclient使えばシェルからすぐファイルを開くってのは可能なので 結局キーバインドの好みの違いのほうが大きいような気がする
sourceforgeからvimscript落とすことも出来ないんだけど。 sourceforgeがおかしくなってるのか?
いつも本家サイトでバージョン番号確認してVimを最新に保っていたのに 本家サイトが壊れている中、7.3.119 に上がってた vim.googlecode.com はちゃんと稼働してるので、みなさん忘れず hg pull しましょう
301 :
名無しさん@お腹いっぱい。 :2011/02/17(木) 11:08:34
文字列をコピーして、ブラウザに貼りつけようとしたのですがうまくいきません 何が間違っているのでしょうか?
はい
「vim クリップボード」で検索
304 :
名無しさん@お腹いっぱい。 :2011/02/17(木) 13:13:33
>>302 はいじゃねーよボケカス
>>303 ありがとうございます、出来ました!
ですがまた困った問題が出ました
htmlタグ付きのリンクを文字の途中に貼り付けようとすると
なぜか上の行の先頭にペーストされます。
普通の文字列をコピペするときは問題なかったのですが・・・。
どうしたら文字の途中に挿入することができるでしょうか
文字の…途中だと?
はいはい文字列の、でいいですか アスペかよ
見事に教える気がなくなった
>>307 すいません、ご存知でしたらお願いします、教えてください
もういやです。
>>309 どうせしらないくせに偉そうに言ってんじゃねーよボケ
お前みたいなのはレスしなくていいから
「htmlタグ付きのリンク」とは何?
挿入モードで貼り付ければ?カス。
どうやって貼り付けようとしたかも書かないとかクズすぎる 釣り乙
挿入モードでダメと言うなら、もう俺たちに教えてあげられることは無い
>>314 この流れでどうやってかわからないとか馬鹿すぎるだろ
話に入ってこなくていいよ、難しいでしょw
>>315 バグかもしれないですね
ハイハイ、バグかもしれないね
俺のところでは起こらないけど、カスのところだけ再現するバグだよ。
vimproc(fd43703aaa8c3cf5ccc8519dc4f4a507e2de629e) native Windows でのエラー報告 その1 bc6fb43d550e8b5dac43132415705c89a51f9045 Date: 2011/02/15 16:22:21 以降の vimproc で vimproc#system() に第二引数を与えると、 vim がフレーズし <C-c> でキャンセルした後も起動したプログラムのプロセスが残る。 native Windows: make_mingw.mak, make_msvc.mak cygwin-1.7: make_cygwin.mak, make_gcc.mak(proc.so) でビルドしたものでそれぞれ確認。 :echo vimproc#system('ghc -v0 --interactive', ':browse Prelude') :echo vimproc#system('nkf --guess ', iconv('てすと', &encoding, 'euc-jp')) vimproc#get_command_name() その2 %PATH% に " が含まれているとき、エラー。 (これは %PATH% を修正すべきだが) その3 カレントディレクトリにある実行ファイルを見つけることが出来ない。 その4 引数がフルパスで拡張子のないものの実行ファイルを見つけることが出来ない。 :echo vimproc#get_command_name('C:/cygwin-1.7/bin/git') フルパスの場合は 'C:/cygwin-1.7/bin/git.exe' としないとエラー。 その5 %PATHEXT% に '.COM;.EXE;.BAT;.CMD' %PATH% に 'C:\Python26\Scripts;C:\TortoiseHg' が含まれるとき、$ which hg は C:/Python26/Scripts/hg.bat であるべきだが :echo vimproc#get_command_name('hg') としたとき 返り値は C:/TortoiseHg/hg.exe となり %PATH% の順番より %PATHEXT% の順番が優先されてしまう。
その6
その5での設定のとき、:echo vimproc#get_command_name('hg', $PATH, -1) の返り値は
['C:/Python26/Scripts/hg.bat', 'C:/TortoiseHg/hg.exe'] であるべきだが [] となる
その7
vimproc#open() で 引数を相対パスで与えられたとき、フルパスの相対パス部分以外に
マルチバイト文字を含むと失敗する。
その8
:echo vimproc#system('hoogle $') とすると
function vimproc#system..vimproc#parser#system
..vimproc#parser#parse_pipe..<SNR>36_parse_variables
の処理中にエラーが検出されました: 行 18: 無効な式です:
但し、hoogle を vim で使う場合は、vimproc#system('hoogle "$"') とするのが正解。
echodoc で使う場合。
let the_type = split(neocomplcache#system('hoogle "' . escape(cur_text, '\') . '"'), "\n")[0]
vimproc#system('hoogle \$') とすれば成功するが
vimproc#system('hoogle ($)') がエラーでないことを考慮すると
b:vimshell判定の誤爆?
上記のその1以外を修正したパッチ
http://cid-d5dfcc082f413eaa.office.live.com/browse.aspx/.Public/vim 判っている不具合
native Windows でディレクトリ名が {[ とか {{ の場合、vim の起動時に
$VIM/vimrc, $MYVIMRC 内で set encoding とか vimproc#system を使うとE220エラー。
vim自身のバグ?
ここで報告されても。
あの人のプロダクトはいつも何かしらデグレや不具合がある使いにくい
開発スピード凄いから安定を求めるならリリースバージョン使わないと
あれを安定版と呼ぶのか…
まあ、それは見解の相違ってやつじゃないか。。。な
>>313 コピーした中にエスケープやらの制御文字が入ってたのでは。
Vimって便利なんですけど個人的に使いづらいのが ・初期設定でInsert状態になってる(文字上書きされる) ・Ctrl+マウスホイールで文字拡大縮小 ・選択された行をTabキーでインデント(1行だけなら出来るが複数行を1度にインデントができない) これってどうにか使えるように出来ますか?
最後だけなら。 :vnoremap <Tab> > ほかはちょっとわかんないです。
最後だけなら 選択してShift+>で複数行でも一度にインデントできる
Tabでやりたいんだろう
>・初期設定でInsert状態になってる(文字上書きされる) これがよくわからない
そうなってるように設定したい、ってことでそ。
Backspaceで実際には文字列の消去されているが Escキーを押すまで画面上ではカーソルが戻り上書きされてるように見えるってやつだっけ 入門viの2章にダム端末云々って載ってたけど
335 :
名無しさん@お腹いっぱい。 :2011/02/23(水) 00:14:26.02
nnoremap <BS> a<BS> vnoremap <BS> d こういう意味かな? 最近windows7に変えたんだが_gvimrcってどこに置くべきなんだ? $HOMEにおいても:wで保存できない。わざわざ:w!とマップするのももったいない気がする
>>333 じゃあなくって、Insertキーを押した状態にしたいんだとおもったよ。
viでいうところのR状態かなと。
起動時にそうする方法がわからないのでスルーしたけど
>>335 $HOMEにおいて普通に保存できてるけどなにがちがうんだろ。
>>327 help scroll-mouse-wheel
winではできんがXなら動くかもしらん
339 :
名無しさん@お腹いっぱい。 :2011/02/23(水) 11:54:55.72
ごめんできた。 swapfileとbackupの設定が$HOMEにしてなかった。 set backupdir = $HOME . "\vimbackup"とか間違った風に書いてた。 正しくは set backupdir=$HOME\vimbackup だった さらにバックアップファイル作れないエラーは、windows7に固有するものに違いない。フォルダの読み取り専用属性が怪しい。 とか考えて、ぐぐってました。
ああー、そっちか。見抜けなくてすまなかった。 解決おめでとん
341 :
名無しさん@お腹いっぱい。 :2011/02/23(水) 20:33:49.42
今vim使ってるけどどうも使いにくい・・・ IDEのほうが便利だろ完全に なんでお前らVimなんかつかってんの?
ナイフと包丁くらいの違いがある 使い分ける必要を感じないなら、別にどっちでもいいんじゃないの
IDEでメモ書いてるバカがいると聞いて
でも本当に「ちょっとしたテキスト」とかもIDEで書いてるのかもね 俺が乗り遅れてるだけで、既にそんな時代が来たのかなぁ
>>341 が何を書いててそう思ったのかが知りたい。
Java や .net なら理解できる。
ちょっとしたテキストや、設定ファイルなら理解できない。
1,000行以内のスクリプト言語なら、出来れば vi(m) 使って欲しいところだが。
手段は何でもいいんだよ
俺メモソリューションにおかずのレシピプロジェクトとか日記プロジェクトとか作る時代なのかな
業務じゃ、ドキュメント書いたり、データやログをいじる時間もけっこうあるんだよな
Vi使い=美人 Vim使い=美人(ドM)
ホントにちょっとしたテキストの編集くらいなら わざわざVimの使い方覚えるコストの方が高いだろ
notepad.exeマジオススメ
>>350 俺は最初に使ったエディタがviだったから、そのままvi系を使ってるだけかなぁ。結果的に当たりだったと思っているけれど。
Windows使い始めたころはメモ帳でコードとか書いてたけど、もうちょっと
機能の多いものも標準でついてればなぁと思ったよ。
IDEで(ちょっとしたテキスト以外)何でも書くぜ、って人は ちょっとしたテキストは「特に気をつかわずOSに付いてる奴を適当に使う」ってことなのかな? 昔は「そのポジションがviだった」んだけどねw 「わざわざ使い方覚えるコスト」ってことは もうすっかり「最初に触るエディタがvi、Emacsだった世代」とは変わったんだね 最近は全員Windowsスタイル?のキー操作からコンピュータ使い始めるってことか なんか感慨深いな まぁ、そりゃわざわざ使い方おぼえる必要ないよなw>vim
加齢臭がすごいな
ed edlin copy con
viは使い出すと便利で止められなくなるな
ct) で関数の残りのパラメータだけ書き換えたり、 ci" で文字列だけ書き換えたり、 6Y で6行ヤンクしたり、 いちいち範囲を選択しなくて良いのがいいw テンポが良いというか、思考が途切れずに本来の編集作業に集中できるから
思考と編集の切り替えがすごくいいんだけどな vim になれると普通のエディタはふにゃふにゃして思考がまとまらない感じ
vimで初めてPythonのコードを読んでいます。 ブロックを括弧でくくる言語では条件式や関数のコードブロックをカーソル移動するのに 括弧の対応を追う $ を使っていたのですが、Pythonのようにインデントしか無い場合の 良い方法は無いでしょうか。 特に長いネストがあったりすると、追うのが厳しいです…
360 :
359 :2011/02/25(金) 00:20:14.52
すみません、間違えました、 括弧の対応を追うのは $ ではなくて % でした。。。
Python を窓から投げ捨てる
"0p を多用するんだけど、どこにマップしたものかなぁと思い続けて、"0pを使う日々。
364 :
名無しさん@お腹いっぱい。 :2011/02/25(金) 05:00:00.37
長いネストというのがそもそも間違いということ
折り畳みで対応してるな jpythonfold とか python_ifold などがある デフォではclassやdefだけしか畳まないが、俺はこれで十分 (ifとかforまで畳むと、かえって見通しが悪くなる気がするので)
関数内でfoldを使う必要があるのは悪いコード VCでregion開いたら魔物が出てくるなんてよくあること
腐ったif文の連続とかに対処する時は set fdm=indent して適当にzaしたり set fdl=2 とかやって見てるな。
一般的なテキスト編集向けのファイルタイプなどはありますか? 現在vimをプログラミング用途として使っているのですが、 それ以外にも、メモや人に見せる文章などにもvimを使いたいと思っています。 ただ現状では適当にファイル名を付けて、ファイルタイプを無視しているので 基本的なvim操作のみ(hjkl移動やコピーなど)の恩恵を受けて編集しています。 カラーリングやインデント、補完などが何も働かない状態です。 イメージとしては、WordやWiki、はてな、などのように文章の編集や見栄えを考えてくれるような ファイルタイプやプラグインがあればいいなぁと思っています。 何かオススメのものがありましたら教えてください。よろしくお願いいたします。
>>368 syntaxに表示されないという新しい機能ができたから
見栄え的な機能のプラグインはこれからでてくるんじゃないかしらん
>>367 ふたをするだけじゃ何にもならないという話では
372 :
368 :2011/02/26(土) 20:29:23.37
>>369 >syntaxに表示されないという新しい機能
これはconcealのことでしょうか。使いどころが謎でしたがこういう方面で生きるんですね。
>>370 ありがとうございます。
markdownとvimwikiを両方調べてみましたが、素晴らしいですね。
特にvimwikiが良さそうなので使ってみたいと思います。
ただ一つ気になったのは、基本的にはHTMLに変換するのが目的になるんでしょうか?
Windowsでメモ帳にメモを残すようなレベルのものは、
>>369 さんの言うようにこれから出てくる、ということですかね
>>372 基本的にはメモツールだと思うよ、俺はHTML変換はめったに使ってない
キーマップでインデックスページをすぐ呼び出せるようにしといて、
テーマごとにページを作ってメモ感覚で文章の管理をしてる
ページごとにファイルタイプを指定できるから、コードの保存にも便利
ファイル名に changelog を含めるのでは駄目?
375 :
368 :2011/02/26(土) 21:25:03.91
>>373 ありがとうございます。
キーマップでページをすぐに呼び出すというのはいいですね!まさに求めていたメモ帳です。
使い勝手は使ってみないと分からないと思うのでこれからインストールして試してみます。
>>368 vimwikiはcalender.vimと一緒に使うとすげー便利
377 :
名無しさん@お腹いっぱい。 :2011/02/27(日) 02:56:09.75
インサートモードでカーソル移動するのってあまり効率よくないでしょうか? vimに使い慣れてる人だとやはりカーソル移動の時はいつもノーマルモードなのでしょうか
そんなことはない これは定番 inoremap <C-p> <Up> inoremap <C-n> <Down> inoremap <C-f> <Right> inoremap <C-b> <Left> inoremap <C-a> <Home> inoremap <C-e> <End>
そんなことすると補完のキーマップ別に割り当てないといけないじゃん。 カーソル移動時はノーマルモードもしくは、<C-o>を活用
380 :
378 :2011/02/27(日) 04:21:50.70
" 合字 inoremap <C-u> <C-k> " Completion inoremap <C-k> <C-p> inoremap <C-j> <C-n>
定番だったんじゃないの?
>>377 例えば vi を使うのが、今日から 3 日間だけだとします。
常時インサートモードで、カーソルキーでカーソル移動するのが効率がいいでしょう。
例えば Linux サーバの管理者に任命され、最低 1 年間は従事予定とします。
インサートモードでのカーソル移動は、ほとんどの場合非効率でしょう。
emacs と行き来したいから、そのキモチが分かる :h emacs-keys
その時々で自分が一番楽で効率的な方法選べばいいんじゃないの 俺なんか、カーソル直下、直上行の1文字を書き換える時なんか、 カーソルキーを使ってしまうぞw 保守派層から見れば外道かもしらんけどw
>>384 からみて保守派層に見える人たちの大半は、カーソルキーを使わないほうが楽だからそうしてるだけなんだよ。
そうしなくちゃいけないなんて思っていない。まれに、そうしなくちゃいけないと思ってる人もいるけれど。
だから、カーソルキーを使うのは外道でも邪道でもなく、それが楽ならそれでいいと思うよ。
カーソルキーが使えない環境に行くことさえなければ、ね。
常にカーソルキーが使える環境にいるのならばカーソルキーを使うのはもちろんだけど。 カーソルキーが使えない環境などめったに行かないのに そこへ行くことを考えてカーソルキーを使わないという発想は、非効率だ。 D2 のないオートマ車で、いろは坂を下ることなんか、めったに無いのに、 その車に乗ることを考えて、いつも乗る D2 のあるオートマ車でも D2 を使わないという発想は非効率だ。
> 常にカーソルキーが使える環境にいるのならばカーソルキーを使うのはもちろんだけど。 ここが人によるっての。 ホームポジションから移動することなく、<C-o>Jと操作するか、カーソルキーまで右手を動かし、↓を押すか。 それは人それぞれだよ。決め付けてはいけない。
自分で定義できるんだから好きにすりゃいいじゃん
>>386 矢印カーソルキーって、自転車に例えると補助輪と同じだよ。
自転車に乗れない人が使うもの。
自転車に乗る人は補助輪なんか付けたら速度が遅く運転しにくい。
矢印カーソルキーはhjkl等のカーソル移動に慣れていない初心者が使うもの。
hjkl等に慣れている人はカーソルキーなんか使ったら操作が遅くて編集しにくい。
>>386 の主張を書き換えると、こうなる。
↓
常に自転車屋で補助輪を購入できる環境にいるのならば補助輪を取り付けるのはもちろんだけど。
補助輪を売っていない自転車屋などめったにないのに
そういう場合を考えて補助輪を使わないという発想は、非効率だ。
何というか、こういう「ホームポジション原理主義」みたいな人もちょっとおかしいと思うわ
実際、ホームポジションから手を離すのは明らかに時間のロスがでかい いちいちコマンドモードに出るほうが面倒だろと言うかもしれんが、 だからリマップするという話になってるんだろ
>>377 まあ好きにすればいいよ
あんたの仕事がタイプのコンマ一秒の差が重要になるような単純労働なら別だけど
プログラマですら考えることのほうが重要で、タイプの速度はそこまで重要じゃない
ただ、wとかfとかtみたいに、単に文字単位に移動するより明らかに便利な
移動コマンドがあるので、そういうのをおいおい覚えたほうが得です
徹底的に無駄を省いたスタイルだからねぇ 今まで無駄なスタイルに慣れてきたぶん無駄を省いたスタイルの方が使い難く感じる。 だけど一度無駄を省いたスタイルに慣れると、以前の無駄なスタイルに戻れなくなるんだよな。 ほんと慣れって重要なんだね。
俺も慣れるまではESC押してモード切り替えるのが無駄に思えてたな 今でもだりーなーって思うけど。 でもショートカット覚えて行コピーとか他の便利な機能と比較すると 今はとりあえずVimに落ち着いてる。 ワード単位の移動はプログラミングだと(とか,が多いので逆に煩わしい なんか設定あったりするのかな?
コードの場合はtやfで飛ぶ方が便利な場合も多いと思う 特にdやcと併用したりする場合は
WやBも、括弧の前後に空白を入れるスタイルとかだといまいちかもしれんね。
>>392 そのためにもカーソルキーで移動するクセをつけるわけにはいかんよね。
Windows的にCtrl+→とか使ってもいいが、出来ることの幅がせまいでしょ。
そもそも1文字ずつ移動するというのは、その時やりたいことの本質じゃない場合が多いんだよね。
どんだけカーソルキー嫌いなんだよw
MS-Windows最大の罪は、 DOSのダイヤモンドキー(C-d=右、C-s=左ってやつ)の廃止だと思う。 だからこんなに馬鹿が増えたのだろう。
日曜にカーソルキーでケンカかw
キーボードにカーソルキーが付いてないから仕方ない。
HHKまで行くと直感的にリマップできるキーが少なくなってかえって不便な気がするんだけど 頭のいい人はそういうのでも大丈夫なんだろうな
とりあえず capslock を ctrl に変えろ。 話はそれからだ。
>>398 嫌いじゃないよw
カーソル移動の方法が一文字ずつしかないのなら、俺もインサートモードではカーソルキーを使ったと思うよ。
でも、vimには、もっと楽な移動手段がたくさん提供されてる。
カーソルキーを4-5回、場合によっては10回以上!も押すよりも、はるかに少ないキー押下回数で
同じ移動が出来る場合がほとんど。
そしてそれはカーソルキーでの移動にありがちな「行き過ぎてしまったから戻る」という、煩わしさを伴わない。
>>401 それ自分で選んだ道じゃん
全てのアプリがhjklでいけるならいいけどそうじゃないもんね。
vim⇔他アプリ切り替え時に脳内の切り替えも瞬時に出来るの?
俺は無理。だからvimでもたまにカーソルキー使う。
そのうち切り替えられるようになるよ。 ちなみに俺はWinキーをモディファイアキーにして、HJKLでカーソルの代わりにしてたことあったけど、 他のアプリだとそのアプリでの操作をしてしまうので、使わなくなり、その設定もやめた。
普通にVisualStudioやコンソールでkkkkkとかやっちゃうなぁ てかやりやすいようにやればいいだけで、別にVim使わないといけないわけじゃないし。 状況によっては他のツール使ったほうが楽な場合もあるよ。 絶対に使う/使わないとかじゃなくて、 こういうときはこのほうがいいなぐらいでいいんじゃねーの?
なんで5kでもなく、<C-U>でも<C-F>でもなく、kkkkkなの?
5とか押すのダルくて ただスクロールしようとして押しっぱなしにしてただけだが それすらも許されないのか?
たぶん原理主義者的には本当に許されないと思うぞw 自分も昔はカーソルかホームポジションか自分の中で一本化しようと考えてたけど そのうちどうでもよくなって放置、今はノリで混在した手癖で使っている
頭のモードが違うんだよな、よくわかるぞ カーソルは意識的・能動的に動かすものとは限らないからな ゲームでダラダラあるいてるときと同じ感覚で操作してるときは キーおしっぱが楽
原理主義じゃなくて、Windowsのアプリつかってて、スクロールさせたくなった場合に、 マウスホイールを回す、スクロールバーを操作する、PageUp/Downを使うとおもうんよ。(Ctrl+Home/End等も含め) カーソルキーだと、スクロールが始まるまで遠くね?
昔から、「他のエディタ使うとjjjって押してしまうよなw」みたいなレスにはこういうレスがついてるよ。 定番。
414 :
377 :2011/02/28(月) 01:54:30.82
なんかどんな感じなのか大体わかりました。いろんな人がいるもんでやはり専用スレでも ノーマルモード移動の人ばかりではないと知ってとりあえず安心しました。 そもそもvimを使い出そうと思った理由が、現在の環境でEmacsを使っててFirefoxではVimperatorを使っていて、 Emacsでkkkkkとかやっちゃうから乗り換えようと思ったからなのです。しばらくはインサートモードで カーソル移動もmapしておこうと思います。みなさん丁寧にありがとうございました。
マップするぐらいならカーソルキー使った方がいい。 標準でなれることは大事
ブラウザでマウス使う奴も許せんな
417 :
359 :2011/02/28(月) 04:57:57.55
>>362 ,365,367
遅くなりましたが、ありがとうございました。
class, function, インデントでカーソル移動できるようになって、すごくうれしいです。
foldと組み合わせると最強な気がしますが、foldはなかなか手に馴染まないので
訓練しようと思います。
>>364 ,366
確かに、私もそう思います。たぶんやっつけ気味に書いたんだろうな、、、と
思いながら読んでおりますw
emacs キーバインドにできる keysnail があるぞ
>>416 ザレゴトのつもりだろうけど、激マジで同意したい。
みなさん、お乳突いてください! 落ち着いてください。
おおおちつけ あわあわわあわてるなあわわわわ
vimperator入れたけど明らかにfiregesturesの使用率の方が高い
>>422 「j」を描く動作で下スクロールするようカスタマイズしたんだな。
天晴れな奴。
鬼才あらわる
キーバインドツール使うとこういった悩みはかなり解決されるような。 使ってないキーをメタキーにして、可能な限り両手を効率良く使えるような キー設定にする、というのが自分のやり方だけど。 まぁ人それぞれだろうね。
可能な限り両手を〜って人は大抵qwerty配列を捨ててると思うんだけど、
>>425 はどの配列選んだ?
427 :
名無しさん@お腹いっぱい。 :2011/03/01(火) 16:08:31.28
コマンドモードで履歴を見るときに 例えば :se まで打ち込んでから↑を押すと :set syn=php みたいにそこまでの文字に一致した 一番新しい履歴があらわれますよね。 これをカーソルキー使わないで やるにはどれを押すのでしょう? help見たけどみつかりませんでした。 とりあえず cmap <C-p> <up> とかしてみましたが、正しい操作があるのなら そちらを使いたいです。
正しいかというとわからないけど、 q: かな。
429 :
名無しさん@お腹いっぱい。 :2011/03/01(火) 18:15:25.41
>>428 q:は、、、ちょと違いますよね
入力した文字からはじまる履歴を逆上るって
シェルのC-rみたいによく使う気がするのだけど
みんな使わないのかな?
ちょっと違うけど、その中で検索すればいいんでない?と思ったんだが、だめだったか。
同じ機能を果たすキーは他に存在しないっぽいので、マップするのが正解かと。 c_<C-p>の機能がいらないなら、それでいいんじゃないかな。
432 :
名無しさん@お腹いっぱい。 :2011/03/01(火) 20:24:09.82
>>430 ともかくありがとうございました。
>>431 カーソル使うのが前提な機能もあるんですね。
vimだからね。たくさんのキーを活用する設計になっているよ。
Dvorak配列を使用しているので下記URLを参考にして
Qwerty配列のように振る舞うように設定したのですが
今日になって、Qwerty配列での,(コンマ)が反映されていないことに気付きました
:set langmap=w\\,
と改めて設定しても,(コンマ)が反映されずDvorak配列でのwとして認識されます
Dvorak配列でのw を Qwerty配列の,(コンマ)として振る舞うようにするには
どのように設定すればいいでしょうか?
Windows環境
Cygwin vim 7.3
KaoriYa gvim 7.3 で試しました
ttp://www.yagi.sh/blog/archives/559
ドザうぜ
オススメのカラースキーム教えて
白黒。
438 :
名無しさん@お腹いっぱい。 :2011/03/02(水) 23:29:42.10
defaultが一番だろJK
通常はcandy。 diff時は他の使う。手元にPCないからうろ覚えだけど、seaだったような。
desertをカスタムして使ってる
俺は自作のカラースキーム使ってる。
おいらはphdってやつ
BlackRaleigh カスタム
ターミナル背景透過させてるので単にbackground=darkにしてずっと使ってたんだけど、 VimヘルプのSyntaxでよく見えない色があったりするのに、最近気付いた… やっぱ何かカラースキーム使うべきなんだろうか?
最近はblueshift perfectも好きだな
256色対応なら何でもいいや
PapayaWhip.vim デフォルトで選べる明るい系の カラースキームはいいのがないね
わたしはdanteちゃんとInkpotちゃん
カラースキームが使えない環境があるから、カラースキームを使うべきではない。 てゆー原理主義者は?
そういう人はvi互換モード以外許さないんでないの
なんで原理主義なんだ。当たり前のことではないか。
勝手に使わなきゃいいじゃん。
>>450 同僚など、知っている限り(10人くらい)の vi(m) 野郎の中に、そこまで原理主義な人はいない。
vimでjavaを書く場合、eclipseのような補完は難しいでしょうか? eclipseほど高機能でなくてもいいので、 importの自動補完とか オブジェクトの型を判定してメソッドを補完してくれるとか そういうレベルのpluginなどあれば教えてください。 もし無ければ、vimでjavaプログラミングする場合の一般的な環境が知りたいです。 よろしくお願いいたします。
eclim かな。使ったこと無いけど。 後は辞書を使う
>>455 作って。
統合環境はあまり使った事がないのでさっぱり分からんけど、
eclipseのエディタをvimに交換して標準エディタに遜色なく使えれば、喜ぶ人は沢山いるでしょ、きっと。
Javaならわざわざvim使う必要ないだろ・・・ 素直にEclipse使えよ
460 :
455 :2011/03/05(土) 15:38:55.57
>>456 >>457 >>458 レスありがとうございます。
eclipseに近い環境を作るのは難しそうですね。
eclimは使ったことありますが、度々エラーが頻発して大変でした。
辞書は自分で作るのでしょうか?1.4とか古いバージョンであれば配布されてますが新しいのはネットで見つかりません。
eclipseのエディタをvimにするという点については、vipluginというeclipseのプラグインが既にありますね。
ただeclipseの補完が効かなくなる、という意味不明なプラグインでしたが。。
461 :
455 :2011/03/05(土) 15:40:21.26
>>459 そうですよね。
色々調べてみた結果その結論になりそうです。
Vrapperはだめ?
補完が効かなくなるわけがない それ程度使えないなら他も無理
>>455 eclipse使ったことが無いので正直よくわからないんだけど(マウスな時点でもうムリ…)
importとかsetter,getterとかはpluginであった、けどそんなに使ってないな…
あまりにもウザい時はsetter,getterは使うけど。
確かにクラス判別してメソッド列挙してくれたら楽なような気もするけど、
mustって気はしないなぁ。。。あったら便利なんだろうけど。
一度入力したら、普通のオムニ補完で済ましてしまってる。
vimwiki便利ですね。でも、wikiを編集してセーブしたら 自動的に:Vimwiki2HTMLを実行してくれたら嬉しいんですけど、 何か方法ないですか? vimwikiを改造したらできますか?
vimwiki 重くない?
>>466 ヤッホー、できました!
快適!快適!
>>467 まだ使い始めたばかりなんで実感してない。
もしかして、vimwikiもwikiページが多くなると
重くなるというwikiにありがちなパターンが該当するのかな?
>>464 下位レベルの者が上位レベルを理解するのは難しい
レガシーは死ぬまで
そっか、eclipseってもうレガシーなんだな
>>467 >>468 特に重いと思ったことないし、むしろwiki系アプリの中で一番軽いと思う。
個々はテキストファイルでできてるわけだから、普通に使ってる分には大丈夫だろう。
howmがあればvimwikiいらないような気もしてきた。
gvimがインストールできませぬ。 glib2,、glib2-dev、gtk2、gtk2-devが全て入っていることを確認しているのですが、 configureすると、 checking if X11 header files can be found... no checking --enable-gui argument... no GUI support no GUI selected; こんなログが出ています。 X11のヘッダファイルが見つからないと言われているようですが、 /usr/include/X11に色々なヘッダファイルがあります。(各々のヘッダファイルの意味は分かりませんが。) --includedir=/usr/include とか --x-includes=/usr/include なども試してみましたが状況変わりません。 アドバイスをいただけないでしょうか。
vital っておいしいの(^q^)?
皆さん、プラグイン管理はどうしてますか? vimballを使っているのですが、あまりにも使い難くくて思案中です。 pathogen.vimあたりが本命ですか?
確かにvimballは微妙すぎる 管理とかはとくにしてない しいていえば :set runtimepath+=/path/to/plugin で追加してる
プラグイン周りが稚拙過ぎて多くのvim使いがemacsに流れるんでしょ? ここら辺に不満を感じたらvimを見限るサインかもね。
プラグインのインストールの仕方がわかりません OSはXPです
pathogen.vimを試してみた。 .vim/autoloadにインストールして、.vimrcをごにょごにょするだけ。 プラグインは、.vim/bundleの下にプラグインごとにディレクトリを掘って、 その直下にプラグインを放り込むだけでいいみたい。 それをgitでやれるのが便利らしいけど、 gitは活用していないので旨味がわからなかった。 vimwikiはgithubよりgooglecodeの方が本流みたいなので、 hgでとってきて放り込んだ。 pathogenなら素直に使えそうだ。
管理ってなにやってるの?
>>482 俺も分からん
普通に runtimepath ごにょるだけで問題ないと思うんだけど
>>483 やってることは同じでしょう。
追加するたびにruntimepathをいじる必要はないけど。
俺レベルになると.vimrcだけで十分だわ
プラグインがインストールされてるかされてないかよくわからないんだけど
>>486 インストールしたスクリプトの機能が使えればインストールされてる
というのは冗談で :scriptnames とかしてみれば?
vim使いってみんな優しいね!
viplugin は java で作られてる あとは分かるな
javaのomniはまともに動いたためしがない
java得意って言っておけばとりあえず就職できるって聞いた
たぶんVLゴシック :set guifont=VL_Gothic
Bitstream Vera Sans Monoだな
macvimだとフォント変わらないだけど
:help guifont は読んだ?macvimは知らないけど :help macatsui も読めって書いてあるみたいだぞ
Macあつい
つまりcpu100%越えか
現在のカーソル下の単語を、ヤンクバッファの文字と入れ換える操作はどうすればいいですか? iywで単語を拾って移動して、その単語に置き換える、 ということをしたいです。
>>502 operator-replace プラグインを導入してみるといいかも
>>503 ありがとうございます。まさしくこれがやりたいことなのですが、プラグインをいれても、うまく動きませんでした。
scriptnamesで見ると読み込まれてはいるみたいなのですが。
vim はまだ初心者なので、調べてみます。
viwp とか
>>502 ciw<C-R>0
<C-R>はctrl+r
>>503 個人的には、なんでもかんでもプラグインの流れは好きじゃない
全部自作してんの?
もともとの機能で満足できることしかしてないなら仕方がない
viレベルで満足してます。
vi っておいしいの?(^q^)
vim使いって言うだけで鼻で笑うクソEmacs厨の奴らを懲らしめる方法を教えてください。
友人じゃなけりゃ無視してなよ
何を使っているかじゃない、何をアウトプットするかだ そのときたまたま手にしていたのがvimでいいじゃないか
話題がなさすぎだろ
でも、スゲーアウトプットしてる人たちって、高確率で emacs だよな emacs が人を育てるのか、育った人が emacs を使うのか
それは単純に使用しているユーザ数の差じゃなかろうか。
俺もなんだかemacs使いは書き物好きで、ずっと何か書いてる印象があるな Vim使いは必要最小限だけ書くスタイルが好き、ってイメージ あくまでイメージだけど
すげープリントアウト
web業界にいると優秀な人の多くはvim使いの印象。 フットワークの軽さでemacsよりvimが有利という意見が多いね。 もっと低レイアではemacsの方が強そうだけど。
鯖の設定ファイルいじる用途は圧倒的にViだろうな。 逆にソース書いて云々はEmacsの方が多い気がする。 その文脈でレイヤーの高低が何を指すのか、ちと分からんが。
エディタとしてはvimが好きだけど navi2chとtetrisやるためだけにEmacs入れてる
>>521 あー、なんか沢山プリントアウトしてるイメージだな>Emacsユーザー
コーディング以外にもずっと起ち上げてるからそんな気がするのかな
やっぱ両刀が普通だろ
527 :
名無しさん@お腹いっぱい。 :2011/03/28(月) 11:42:51.09
vim普段使ってて,emacs使うと,画面にiがあふれる
ubuntu10.10でgvimを使っています。 jやyやpといった縦に長い文字を打つと下の部分が切れてしまうのですが 解決策があれば教えてください
>>529 ありがとうございました
:set linespace=2で解決しました
vim でも小指使いまくるよね? emacs チックなキーバインドもつかうし
よく小指がという文章を見かけるが、人差し指が動かないというくらいありえない
vim で小指はありえないって言ってるの?
おれに小指はない。
C-[はよく使うけど他はあんまり…
C-[ってEscキーより押しにくくない?
>>536 普通のキーボードだとEscは遠いからC-[の方がいいって人もいるんじゃね?
両手使って c-[ が近いとも思えないけど きっちりホームポジションキープできるひとなら楽とか?
右手だけじゃね
536=534 たぶん。
US配列だと [ は @ の位置なので押しやすいよ
ノートPCのときは特に押しやすい 右手の親指と中指が常にその形になってる
C-[でEscと同じ動作するとか今日はじめて知ったw
俺も初めて知ったわ
つまりvimrc書いたことないってことか
vimrc書いたことあるけど、複雑な設定したことない vim本買って勉強してみようかな
helpが一番 ほとんどの質問が :help hoge で返されるのはネタじゃない :help i_CTRL-[ :help vimrc :help script :help book :help help
すいませんvim初心者なのですが日本語入力の時にalt+半角全角って面倒じゃないですか?
:help me
なぜそうなる
日本人が配布してるgvimならだいたいesc時にオフできるんじゃないか 逆にないとつらい
間違えた、なにでオンにするかはime の設定しだいなんじゃないの?
うん。Ctrl-Spaceとかでいいんじゃないかね
skk.vimを入れれば全て解決
普通は「カタカナ・ひらがな・ローマ字」のボタンで日本語入力できるんですが vimだとできない・・・(gvimじゃないです) 環境はWin XP IMEはGoogle日本語入力 vimはkaoriyaのやつ
そりゃcmd.exeの制限だろスレチ
Linuxエディタを極める vi & emacs 徹底攻略 Software Design 5月号 だって。あまり関係なさそうだけど、一応告知。
皆vimとgvimどっち使ってる? 後双方のメリット・デメリット教えてください
それはターミナル経由で使ってるのか、gui で使ってるのかって質問か?
なぜcmd.exe 経由で使うのか
LinuxだとvimメインでWinだとgvimかな。 vim…Xがなくても使用可能。ターミナルにもよるが日本語全角文字列の表示が崩れる。 gvim…日本語全角文字列の表示が崩れない。latexsuiteを使うと日本語入力ができなくなる
プロンプトとvimをすぐ切り替えれるのがメリットと思っていたから
ただのちょっかんだけど、デメリットの方がでかそう。
>>561 と一緒だな。
cygwin環境のWindowsならそこでもvim。ってか、色が違うのと表示がたまに崩れること以外何が違うんだろう
vimだとターミナルでの利便性も同時に受けられるから総合的にはvimのほうがいいかなぁ
あとはgvimはD&Dが効くこととか
cygwin ck 使えば esc で ime off もできるよ
>>543 インサートモードで
C-j
C-m
で改行もよく使う。これはviに限らんが
>>554 skkserv対応のskk.vimを作ってけろ。
vimmer と emacser はどっちが変態てすか
570 :
名無しさん@お腹いっぱい。 :2011/03/30(水) 20:03:05.45
ターミナルのvimだとescで日本語入力抜けられなくね?@Mac
なんで vimmer と emacser なのだろう。 vimist と emacsist でなく。
言いやすいから?
vimmer emacsistならまだわからんでもないね
ラクリマ・クリスティっていたね
ist は人に使うよね er は人以外にも使う, timer, saucer
vim と emacs 禁止になったらなに使うの?
nvi
jEditが第三の極になると思ってたけど全くだなw
vimscriptでお絵かきソフト作った。 たまに原因不明のクラッシュするぐらいで中々完成度の高いものができた。 公開したいのだけど今時だとやっぱgitなのかな?
>>579 男なら黙ってtar.bz2
どこに置くかによるんじゃない?sourceforge.netに置いとくならsubvirsionだし。Google Codeならsubvirsionとmercurial両方おkだったかな。
10年OSSマやってきたけど、ずっとtar.bz2だわw
さすがにgitくらい導入しようと思ってるけど、必要性感じないわ
Vimballで本家にうpだろ
gitは/etc配下を管理するのに便利だよね
>>580 ありがとうございます。
よかった、tar.bz2でもいいんだね。sourceforge使おうかな。
vimballは存在意義が分かりません。。
あ、そうかここはVimスレだったな。じゃvimball一択。 てかこれなんて読むの??x3094;ぃむばる?
本家にあげても自動的にgitにフォークされるけどな。 tarとかバージョンアップめんどくさい 作成物が安定してるじしんがあるならいいけど
スクリプトのバージョンアップなんかしたことない
>>586 お前はオレかw
一時的なスクリプトでエラー処理をサボる
↓
忘れた頃にまた使いたくなって引っ張りだしてくる
↓
引数を間違えてデータを破壊する\(^o^)/
でも、エラー処理や引数チェックをしっかりやると労力3倍なんだよな。めんどくさい
netrwでファイルを移動させたいんだけど、mt→mf→mmってやるとバッファに行がありませんってなる どゆこと?
バッファに行がありませんと表示されるんだよ どうしたらいいのか? ぐぐったけどよくわからん
何をしたいのか分からんけど、とりあえずバッファに行が無いからそのメッセージが出てると 俺の脳量子波が言っている
vim7.3でJavaの開発を始めたのですが、 @Overrideのようなアノテーションを書くとインデントがずれてしまいます。 public class Child extends Base{ ****@Override ********public void baseMeth() { ************System.out.println("hello"); ********} } このように、@Overrideの後にインデントされてしまいます。 解決方法はあるのでしょうか?
たしょうめんどうだけど (vimrcに書くなら) " GetJavaIndent()は$VIMRUNTIME/indent/java.vimで定義されているので読み込む " autocmdの実行順序によっては必要ないけど念のため autocmd FileType java source $VIMRUNTIME/indent/java.vim autocmd FileType java setlocal indentexpr=MyGetJavaIndent() function! MyGetJavaIndent() if getline(v:lnum - 1) =~ '^\s*@' return indent(v:lnum - 1) endif return GetJavaIndent() endfunction もしくはindent/java.vimを自分の~/.vim/indent/にコピーして適当に改造してもいいし
アノテーション用のインデント定義が無いって、vimの人はjava書かないのかな?
Javaはオワコン
javaの人達はなんとかいう統合環境暮しで、vimなんて使わんのでは。
>>595 NetBeansのことではないのは分かります。
いま Java 使っていないけど・・・ Java0.x はエディタでサクって書くものだった。 Java1.0 になったときに、最初の印象は冗長でクソ面倒だったが 意味を知ると素のエディタをやめて開発環境に移行するべきだと強く思ったよ。 いろいろ規約の変更があったんだけど、本当に良くできていたと思う。 いまの Beans ってスゴイんだろうな。
java1以前とか何世紀前の話だよ
599 :
591 :2011/04/04(月) 00:42:43.68
>>592 ありがとうございます!修正できました。
こんな風にソースを弄って修正してしまう方法もあるんですね。
vimscript勉強してみよう。
netrw ↑これ何て読むんですか?ねっとあーるだぶりゅ?
ねとられ(笑)
>>600 心の中ではネットアールダブリュと呼んでる。
net read write の略だと思ってた。
読み方は決まってないよ。
ネトランw
syntaxファイルをsyntaxディレクトリに入れたのに有効になりません。 *.orgファイルに関連付けたいのですが、この場合、何をいじればよいでしょうか?
606 :
605 :2011/04/05(火) 17:24:25.29
すいません訂正。 :syntaxして、見たところ、syntaxは有効になってるっぽいのに、色が付いていません(グレー表示です) 何が原因だと思いますか?
TERM環境変数?
608 :
605 :2011/04/06(水) 00:53:32.11
原因が判明しました。 カラースキームで色を指定するタイプのスクリプトなのに、 私が.gvimrc内で別のカラースキームを指定していたのが原因でした。 (でも自分の好きに色を選ばせないこのスクリプトの設計は問題だと思う) お騒がせしました。
VimOrganizerを使っている人いる? これから使ってこうと思ってるんだが。
>>608 よくわからんけどftpluginのafterあたりでどうにかできないの?
>>609 よくわからんけど、最近使おうとしてる人は結構いるみたいに見えるよ。
>>605 とか、Windows板の方とかも最近持ちきりだよ。
>>610 >Windows板の方とかも最近持ちきりだよ。
すまんそれは俺だ(一連のも)。いや、全然使ってる人見かけないから、本家の方にならいるかなー?と。
本当は、2011年1月リリース予定(だった)新バージョンが出るまで待ったほうがいいんだろうけどね。
それで、マニュアルが英語で使い方がいまいちわかってないから先達がほしいと思ったの。
> VimOrganizer なにそれ? :help見たりググったりするのがイヤなので尋くが。
Emacsのアウトラインエディタ+スケジューラ+その他を実現するプラギン「org-mode」を Vimに移植した物。 本家が高性能で利用者がどんどん増えているそうだから使いたいと思ったんだが、まだ移植が不完全らしい
vimでそこまでやりたくはないな
vimはシェルと連携前提でシェルなしだからスケジューラはいらんのじゃないか
howmみたいなの?
そうだな。howmに似てる。
開発以外にはchangelogでメモくらいしか使ってないや
作者本人が「まだまだこれからだけどビッグプロジェクトだじぇ」って 書いてるんだから開発参加しないなら気長に見守ってあげなよ
もっとマシなプラグイン紹介してくれ
QFixHowm 書式はMarkdownでもRDでもreSTでもお好きに
ファイルを検索で管理するようなずぼらな人にはHowmが合っていて、 きっちりディレクトリを作って管理するような神経質な人にはorg-modeが合ってる気がする。
LocalLeaderを変更する方法を教えて下さい。
qfixhowm のインデックス表示とか検索がクソ重くてやめた。
みんなマークをどういうふうに使っている? Emacsはマークはひとつだけで履歴をさかのぼる形式だから割と気軽に使えるけど、 Vimはマークはアルファベット制で、まずどのアルファベットに記録するかで悩むし、どのアルファベットに記録したかを覚えてないから 結構持て余しているんだが。
マークはせいぜい2個だな。あんまり使わない 文字列検索しちゃうわ
>amachang 今粛々と民事刑事の方面で進めています。一応、すべて証拠として保存しなければいけないので、冗談でも今はこのスレに変なこと書き込まないでください。
>2011/01/28
http://hibari.2ch.net/test/read.cgi/prog/1291518728/ >1 :amachang撲滅振興協議会:2010/12/05(日) 12:12:08
> amachangが憎い・・・・amachangが許せない・・・・
> ククク・・・・クククククク・・・・・
> クックックックックックックッ・・・・・
> クー、クー、クー、クー、クー、クー・・・・・
>
> もう許せない。
> もはや沸き上がる滅意を抑えることが出来ない!!!
マークより c-i c-o のジャンプを多用するようになったなあ
Linuxのgvimで日本語入力している時に変換してる文字とその他の文字の区別がないんですが区別させる方法はありますか?
アンダーライン引かれて無いっけ。 fepによるのかしら
631 :
名無しさん@お腹いっぱい。 :2011/04/12(火) 02:22:37.40
つい最近vimを使い始めたんですがphpのシンタックスって重すぎじゃないですか? cakeのcoreの中とかでかいの開いたらスクロールが全然動かないんですけどこんなもんでしょうか。 とりあえず重いときは:syntax offしてますが色なしはやっぱり見づらい
>>631 set synmaxcol=100
とか少なく設定してみてからどんどん上げてってみんしゃあ
まずは
:help 'synmaxcol'
syntax ファイルひらいて無効にできる設定を確認してみたら? あと複数はいっててハマったことがある
インデントが遅いのは言語ごとのインデントアルゴリズムに 依存するので、どうしようもないんでしょうか?
たしかに、再インデントはもっと速くてもいいんじゃないかって思う時はあるね。 シンタックスハイライトも時々変に遅いなぁ。なんか条件があるんだろうけど。。
ちょっとした補完機能で重くなったりするしVimの問題なんじゃないの? 最近はWeb系とかrubyとかシェルスクリプトとかそこら辺の補完の要らない言語でしかvim使わない。
637 :
631 :2011/04/13(水) 00:24:09.12
>>632 ありがとうございます。
synmaxcolためしてみましたが、若干早くなった気はするんですけど
syntaxが崩れて<C-l>でも直らない時があるのが微妙な感じですね。
>>633 とりあえずsyntaxファイル深そうですが覗いていってみようと思います。
ちなみにmacvim-kaoriyaなんですが、windowsにもほぼ同じ設定で入れててそっちはそこまで重くないんですよね。
macvim自体が重い気がしてきた。
だれか
>>163 への回答をしてくれ。
いろいろためしたができない。。
>>638 え?どういうこと?
俺のはちゃんと切り替わってるけど?
ノーマルモードでIMEオフにしていたら、オンにしない限りオフのままじゃない?
IMEってw ドザかよw
ああ、OSによる違いってやつか
個別対応でもいいなら各IMが制御用のAPIを持ってるはずなのでInsertLeaveとかのタイミングでそれを直接叩いてもOK。 ibusだとこんな感じ # ibus 制御 by python import ibus bus = ibus.Bus() ic = ibus.InputContext(bus, bus.current_input_contxt()) # 無効化 ic.disable() # 有効化 #ic.enable() # 現在の状態 #print ic.is_enabled()
それをどこに書けばいいの?
IME=MS-IMEじゃないけどな… でもちゃんとFEPって言わないとな!
くそうくそう。
世間的にIM=IMEで定着してると思うんだが。 ほかのFEPのこともIMEって呼んでるから
641 :名無しさん@お腹いっぱい。 [↓] :2011/04/13(水) 00:56:43.51 IMEってw ドザかよw
> 世間的にIM=IMEで定着してると思うんだが。 あなたの世間やあなたの常識など知らんです。
IMはインスタントメッセンジャのことだろう。 IMEとは関係無い。
インプットメソッドもIM IMEはM$界隈だけ そもそもインスタントメッセンジャーのほうが後発だろ IMとFEPは違うと誰かが言ってた気がする
MS-IMEがIMEと略されることはままあるが、kinput2をIMEと呼んでいるのは見たことも聞いたこともないなぁ
Google日本語入力もIMEって呼んでるだろ M$向けだけだが
スレチ 黙ってskk.vim使っとけ
ドザ氏ね
やべ、今まで自分で設定とかせずに使ってたけど、ヘルプ見ながら好きなように設定してみたらなんか楽しいw 設定したら使いやすくなった
vim --startuptime hoge.tmp としても何も無かったかのように起動しちゃうんだが
Windows版の日本語入力とibus-mozcは構造が違う しかも既出
vimにおけるIMEの定義
:help multibyte-ime
>>659 コンパイル時に configureで --with-features に normal 以上を指定する。
+startuptimeが有効になる条件は、features.hを STARTUPTIMEで検索。
663 :
名無しさん@お腹いっぱい。 :2011/04/14(木) 10:49:08.95
ref.vimでRubyのRDocかriを読む方法ありますか?
--with-features=huge でビルドしてるんだけどな
yumコマンドみたいにvimスクリプトのパッケージ管理出来たら便利なのになぁ 誰か作れよ?
普通にrpm化すればいいんじゃないの?
vimballはバギーだったね
出力された数字を三桁区切りに変換したいのだがどうすればいい?
[esc]q1lla,[esc]
s/\%(\d\{1,3}\)\ze\%(\d\{3}\)\+\>/&,/g
解決できた。ありがとう。
Jで2行をjoinすると、2行目のインデントが消されたあと、スペースが一つ入りますが、 これを入らないようにする方法ありますか?
グッジョブ
グッジョブという語呂で憶えるのか。
ノーマルモードでコピーしたものをコマンドモードで貼り付けることは出来ますか? pを入力しても当然pが出力されてしまうので、どうやって貼り付ければいいのかわかりません。
neocomplecacheを使うとvimwikiが遅くなるのですが、 vimwikiを使う時だけneocomplecacheを無効にする方法ありますか?
neocomplcacheだったorz
>>679 コマンドモードからctrl+fでコマンド履歴を編集できる。
普通に編集してエンター押したら実行。
>>679 <C-r>*
>>682 その入り方は初めて知った。いつか役に立つかもしれないので覚えておこうと思う。
ノーマルモードで q: でもいけるので、一応。
ここに書いてどうすんだ? 自分で通報しろよ。
>>679 , 683
<C-r>*はクリップボードじゃないか
Yankしたものなら<C-r>0では
>>687 おお、そうか、ごめん。ヤンクバッファとクリップボード連動してたからそっちで慣れてしまっていた。
よくないね。
:help c_CTRL-R の提示くらいでよかったかもね。
690 :
名無しさん@お腹いっぱい。 :2011/04/21(木) 19:40:59.18
vim(非gui)終了後に、端末の表示をvim起動前に戻させず、編集画面を残す方法ない? less -X file の終了後画面のように。
set t_ti= set t_te=
だうもありまとう
sshで繋げた先でローカルのvim環境を使う方法とかってないのかな 例えばvimのプラグインでssh接続出来るようなやつとか・・・よく分かんないけど vimrcとプラグインを接続先にコピーするのも面倒だし
え、netrwって:Explorerのことだよね? ssh接続出来るのか ありがとう、調べてみる
vimscriptを勉強しています。 netrwのマーク機能でマークしたファイル一覧をvimscriptから取得するにはどうすればいいのでしょうか? 分かる方がいましたら教えてください。よろしくお願いします。
>>695 パスフレーズなしの鍵を作っておくと便利だよ
7.3.162 パッチはいろんなスクリプトに影響出るっす unite.vim も ref.vim もエラー出まくり
>>699 rev2772 より存在しない配列の元を呼ぶとエラーが出るようになった。
vim スクリプトでエラーが出るならば、それはスクリプトの書き方が悪い。
unite.vim は git pull すればOK。
× 存在しない配列の元 ○ 配列の 存在しない元
未定義の配列変数という意味?
705 :
名無しさん@お腹いっぱい。 :2011/04/23(土) 16:40:54.25
706 :
名無しさん@お腹いっぱい。 :2011/04/23(土) 17:23:50.82
vundleでcolorschemeとか入れると,見つかんないって言われる・・・. colorschemeはダメなんかな?
:!cmd とする時に引数に編集中のファイル名を渡すにはどうすればいいですか?
ぐぐったら簡単に見つかりました orz % ですね
Linux で kterm とか rxvt から vim と行ったり来たりしたとき、 操作性の違いで悩んだことがあります。 bash と標準の .inputrc が原因なのか、全体的に emacs 陣営の操作性に近いし。 どうも vim の標準のコマンドラインは、それらに反している。 たぶん、コマンドラインでの % の扱いも由来が違うんだろうなと思う。
そりゃemacsの操作に似てるだろうよ。
俺は使ったことないけどbashやzshにはviモードがあるよ。
%s/foo/bar/g の % がファイル全体を現すとか % はどこから来たんだろう
>>709 おれはvimのコマンドラインをbash(readline?)の操作系に会わせてるな。
おからの角に頭をぶつけるといいのに。
netrwをよく使うのですが、ファイル操作関連のコマンドがどうにも使いにくいです。 ファイル移動とかリネームとかコピーとかのことです。 ここら辺を補ってくれるようなプラグインは無いでしょうか? netrwでファイル操作関連のプラグインがありましたら教えてください。よろしくお願いいたします。
>>716 それに対する回答は知らないけど、どんなお仕事の人ですか?
そもそも頻繁にファイル移動、コピーが発生する状況が思いつかない上に、それを vim 上でやった方が効率的な状況なんてなおさら想像つかない。
718 :
716 :2011/05/01(日) 15:55:18.83
>>717 普通のWebエンジニアです。
emacsのようにvimを立ち上げっぱなしで使っているので、わざわざ閉じてシェル操作するのが面倒なのです。
emacsのdiredは色々拡張できたと思いますが、そういうのをイメージしてます。
>>718 :!でシェルコマンドが使えるけど、それじゃダメなのかな。
720 :
716 :2011/05/01(日) 16:18:03.63
>>719 ありがとうございます。
探しているのは、netrwのインタフェースを利用したファイル操作プラグインなので
:!でシェルを呼び出す方法は求めているものとは違います。すいません。
> Vimの開発 (develop) > VIM IS... NOT *design-not* > - Vim はシェルでもオペレーティングシステムでもない。Vim の中でシェルを走らせた > りデバッガを制御したりできるようにはならない。
日付 ユーザー名 メールアドレスの形を挿入したいんですがどうやればいいでょ?
Sun May 1 2011 foo <
[email protected] >
こういう形を想定しています。
changelog.vimやspec.vimを使えばいいと思う でもこれらのプラグインでLANG=Cにする方法が解らない
>>716 netrwのコマンドがクソなので他のコマンド準拠にするプラグインがどうしたこうしたと、ソフトウェアデザイン誌今月か先月号にあった気がした。
求めのものか知らないけど。
宣伝乙 買いたくなるじゃねえか・・・
S&Dは定期的に同じような特集組んでる気がする エディタの活用法、サーバ管理しよう(ログ管理ほか)あたりはちょいちょい。 いつぞやはVimのチートシートみたいなのが巻末についてたり。 特集組まれるたびに、ちょっとずつ読むところが減っていくのが成長の証
>>727 これ立ち読みしてみたけど、unite.vimのことかな?
netrwに代わるものにはなり得ないと思うが。
つーか特集と名打ってるけど本当の基礎の基礎だけなので期待しない方がいい。
プラグインとその組み合わせで化けるのになあ。 WebとPHPだけの人にも便利なのに そんな書籍が出ても売れないか。
書籍がなくても:helpがあれば十分。
プラグインの組み合わせなんかはvim.orgのwikiにいっぱい投稿されてるな Vim教によるVim教のための書籍は増えてほしいとは思う
vimのプラグインはどれもある程度以上の規模になるとすごく無理やり感が出てきて使いにくくなる。 制限の多い環境で妥協しながら作ってるからなんだろうけど。
まぁ基本的な関数すらまだ追加されてる最中だからな
vim はどこまで図体がでかくなるんだか
Vimから他のテキストエディタに開いてるbuffer渡したいんだけど、知恵を貸しておくれ。
:!notepad.exe %
標準のプラグインや軽くて小さなプラグインを組み合わせて上手くカスタマイズしてる人の方がセンス感じるよな
netrw、ファイルのコピーとかできないんだよなー helpみてやったけどできなかった
1. mt でコピー先ディレクトリを選択 2. mf でコピーしたいファイルを選択 3. mc でコピー実行 でできない?
WindowsでUNIXツールが気軽に動くターミナルがあれば なんでもかんでもVim内な人は減ると思うんだけどな netrwじゃなくてscreenの別窓でmidnigt commanderとか
cygwinとかgnu toolsとかsfuは手軽じゃないからダメってことなのかな
ブラム先生の次回作にご期待下さい!
>>730 netrwに代わるものはuniteというよりvimfilerじゃないかな。
Windows使わなきゃいいじゃん
ああ、windows厨の話だったのか
749 :
名無しさん@お腹いっぱい。 :2011/05/04(水) 11:38:23.89
vimでファイル開く際にファイル内に書かれた下記のような vim: set による設定を無視して開く方法ってある? // vim: set syn=php fenc=cp932 ai et ts=4 sw=4 sts=4 fdm=marker: vim 7.0.237のコマンドラインヘルプのオプション一覧 眺めてるけど、それらしい項目が見当たらない。
:h modeline
751 :
名無しさん@お腹いっぱい。 :2011/05/04(水) 13:49:45.39
>>750 ありがとう
vim --cmd "set modelines=0"
で行けた
http://vimdoc-ja.googlecode.com/svn/trunk ここから日本語のヘルプを取ってきて使っているのですが、
:h :auが引けません。
長時間待たされるのでC-cすると、
E426: タグが見つかりません: :au@ja
となります。
同じ.jaxファイルを引く:h autocommandはちゃんと日本語のヘルプが引けます。
また、:h :au@enでも、ちゃんと英語のヘルプが引けます。
でも、:h :au@jaはダメです。
どういうことなんでしょうか?
>>752 日本語ヘルプを入れたときに:helptagsは実行した?
>>753 pathogenでcall pathogen#helptags()してますが、
改めて:helptagsでやってみても変わりませんでした。
んー。
755 :
752 :2011/05/04(水) 16:33:07.28
お騒がせしました。 pathogenだとうまくいかないことがわかりました。 ~/.vim/bundle以下から~/.vim/docに移したら ちゃんとヘルプが引けました。 ~/.vim/bundle以下で扱いたい気もしますが、 とりあえずは動く方で我慢します。
756 :
名無しさん@お腹いっぱい。 :2011/05/04(水) 17:49:46.52
親指ESCは本当に快適なんだけど、その環境から外れたときの苦痛感が半端じゃない
そういうカスタマイズはマジで止めた方がいいぞ。
ですよねー・・・。 かといって、^[ もどうかなーと思ったり。 TABキーに割り当てようかな、とも思ったがそれもどうかと思ったり。 結局離れられないんじゃ・・・。
HHKの左ダイヤモンドにESCを割り当てているが、ホームポジションのまま小指以外の指を 動かさず、小指でESCを押せるので運指に関して死角なし。
俺も親指にCtrlとEsc割り当ててるな。LinuxでもWindowsでも。 ついでにUSBメモリにキー変更ソフト入れて持ち歩いてるから他人のコンピュータでも一応おk。 ただまだ学生だからいいけど将来「勝手にソフトインストールするのも USBメモリ挿し込むのも不可」みたいな企業に就職したらどうしようかと思う。
Mac のキーボードで作業したとき、あまりのミスタイプの多さにビックリした。
tagsファイルを作成してタグジャンプを使ってるのですが、 プログラムを書いていくうちにtagsファイルを更新しなければならなくなります。 その際、毎回tagsファイルを作り直すのが面倒&時間がかかってしまいます。 何か良い解決方法は無いでしょうか?
ストレスの発散ですね?バッティングセンターとかおすすめです
taglist.vimを使う
765 :
名無しさん@お腹いっぱい。 :2011/05/05(木) 21:41:12.15
>>762 crontabで定期的にtagを更新する
766 :
名無しさん@お腹いっぱい。 :2011/05/05(木) 22:22:46.20
>>468 どうやってやったですか
autocmd BufWrite *.wiki VimwikiALL2HTML
ってやったけどエディタのコマンドではありませんて言われる・・・
767 :
762 :2011/05/05(木) 22:33:44.39
>>764 taglist.vim導入してみましたが、登録したタグはプラグイン内部だけで管理してしまうのですね。
Ctrl-]でジャンプ出来ないのが致命的でした。。
>>765 少し大げさな感じもしてしまいますがcronで管理することにします。
返信ありがとうございました。
最近のキーボードはTABとかESCとかないの見かけるようになった 今のうちからできるだけC-IとC-[でならしとけば使用できるキーボードの 選択肢が増えるんじゃないかと備えてる
>>767 ファイル保存時にタグファイルも一緒に更新させればいいんでない?
具体的にどうやるかはわからんのですが、このくらいできそうな気がしまっする。
保存したファイルだけタグを更新するようにすれば速くならないかな あとはautocmdでごにょごにょ めんどいか awk -v FILE=$WRITTENFILE 'BEGIN{FS="\t";} $2!=FILE{print}' $TAGSFILE > tmptags ctags -a -f tmptags $WRITTENFILE mv tmptags $TAGSFILE
ていうかctags余計なことしなくても普通に速いな びっくりした
tagsファイルのことだよね? 登録済みのファイルを更新なんて出来たっけ?
vi.shでも作って、*.cを編集するときにctagsすりゃええやん。 俺はごめんだが。
>>772 更新の機能はないので770のスクリプトみたいに適当に削除してから-aで追加という形になる
775 :
752 :2011/05/06(金) 16:22:18.26
>>766 vimwikiのオプションを見つけたので、今ではこんな感じ。
let wiki = {}
let wiki.auto_export = 1
let g:vimwiki_list = [wiki]
vimwikiがau BufWritePostをやってくるよ。
おっと、468=752ってことです
こんにちは。 ctagsの件ですが、更新が必要な時に潔く作成し直すのがbestだと思います。 ファイル数とか総行数によりますが結構速いですよ。 (数十万行のプロジェクトのソースでも2〜3分) ソースコードが1日に何度も劇的に変化する事ってそんなに無いと思います。 そういう状況が続くのでしたら --excmd=pattern の指定を検討ください。 メリット ・すべてのタグの場所を検索パターンで記録するので(ctags実行時点と)行がズレても問題なし。 デメリット ・tagsファイルのサイズがちょっとだけ大きめになる。(2倍くらい?)
778 :
名無しさん@お腹いっぱい。 :2011/05/06(金) 17:27:11.26
vimの変数は命名規則が無いのでしょうか? 有名どころのプラグインのグローバル変数を見ても、 g:MyTestVar g:My_Test_Var g:my_test_var こんな感じでプラグインによってばらばらですね。 スクリプト言語に馴染んだ自分としてはキャメルケースはとても見辛く感じてしまいますが自分だけですかね?
別にどれでも見づらくはないなぁ。 自分の書き方にあってないと見づらく思える人には大変なのかな。
Vim は、名前には色々特徴がある 接頭辞に s:, g:, v: とか グローバルのメソッド名は大文字ではじめなければならない。 s: の接頭辞がある場合は小文字でもOK。 :h curly-braces-names filename#fuctionname() とかも特徴
インデントの挙動を変えたいのですが、どうすればいいのでしょうか? void func() { something(); | //ここにインサートモードでカソールがあった場合、改行を2回押したとき $は改行です。 void func() { something(); $ $ インデントが消されるんじゃなくて
void func() { something(); $ $ このようにインデントを維持してほしい Pythonをやるようになってから、 something() $ another_thing() のような空行が入ったコードが、気持ち悪く感じるんですが自分だけでしょうか?
あれ、うまく半角スペースが出来ないorz -がスペースでお願いします void func() { --something(); --| //ここにカソールがある場合、2回改行した場合 void func() { --something(); --$ --$ --$ このようにインデントを維持したい escで抜けた場合もインデントを維持したい
Pythonやるとそういう気持ちになるんだなぁ。 逆に、空白文字のみの行があるとか、行末に余計な空白文字があるほうが気になるよ。 これらをハイライトする術も提供されてるぐらいで。 で、本題だけど、escで抜けた場合のインデント維持に関しては、cpoptionsで解決できる。 残りについては、すぐに分からなかったので、他のレスを待ってもらえたらと。
Pythonを体験する前の自分に戻る
すいません。解決しました。 nnoremap o oX<C-h> nnoremap O OX<C-h> inoremap <CR> <CR>X<C-h>
Pythonでもインデント残したいとは思わんな
try〜endtryの意味がよくわからないのです。 どういうときに使うものなのですか?
一応tryのヘルプは読んだけど、何のことだかわからなかった
一般的な例外機構と同じように見えるけど
tryとendtryの間でエラーが生じたら、endtryまで実行をスキップするという理解で良いのでしょうか?
うん。 で、必要なエラーはcatchするし、終了処理はfinallyでやればいい
ありがとうございます。 それと、今、$VIMRUNTIME/ftplugin/changelog.vimを見ているのですが、'{cursor}'というのがいくつか出てくるのですが、 '{cursor}'でカーソル位置を取得できるのでしょうか?
ちょい質問です ctags作った後C-]で飛ぶときに ・大文字小文字を区別してほしいときがある ・定義にだけに飛んでほしい というのをやりたいのですが、どうしたらいいでしょうか?
796 :
名無しさん@お腹いっぱい。 :2011/05/15(日) 11:26:38.61
HTMLで次のタグに飛ぶとか出来ます?
>>795 > ctags作った後C-]で飛ぶときに
>
> ・大文字小文字を区別してほしいときがある
set noignorecase
'ignorecase' オプションの設定が影響します。
:help tags-option
> ・定義にだけに飛んでほしい
えと、たまーに関数定義の前にあるプロトタイプ宣言に飛んでしまうタグがあるということでしょうか?
であればいくつか回避方法があります。
(1) ctagsに -B オプションを指定してタグ検索パターンに後方検索(?...?)を使用する。
→デメリット: たぶんない。
(2) ctagsに --excmd=numberを指定してタグ位置情報を行番号にする。
→デメリット: 対象ファイルに変更が入ると直ぐジャンプ先がずれる。
>>797 どうもありがとうございます。
caseについてですが、
普段使ってる時は区別して欲しくないので、
tagジャンプのときだけ区別して欲しいという場合はバインドを定義しなおす
とかでいいでしょうか?
ctagsのほうのオプションは盲点でした
-Bオプションでやってみます。
ctagsであれこれ悩むぐらいならgtags.vimを使っちゃった方がいい希ガス
>>798 こんな感じ?
nnoremap <silent> <C-]> :call <SID>Tjmp_ic()<CR>
func! <SID>Tjmp_ic()
let oic = &ic
set noic
exe "normal! \<C-]>"
let &ic = oic
endfunc
>>799 gtags.vim プラグインを使うと
>>795 の2つの要望を満たすためにあれこれ悩まずに済むんですか?
Vimプラグイン勧めて頂いても構わないですがミスリードは止めて欲しい。
ナイスリードお願いします。
ミスリードにナイスリードされたい
>>801 情報もらっただけでも感謝しろよ。
自分の要求に合うものかどうか自分で調べればいい。
804 :
796 :2011/05/16(月) 23:02:46.00
みなさんありがとうございます。 gtagsも存在は知っているのですが ちょっと使ってみてよくわからないので面倒なのでやめました。 -Bオプションはまだ動作確認できてません。というか忘れてました。 ic無効化マクロはコピペじゃ怒られるのは確認したのですが、 マクロ書いたことがないので調べながらやってみようと思います。
>>803 ジャイアンさん、おつかれさまです。
次のリサイタル楽しみにしています。
次の人どうぞ〜
またつまらぬ言い争いか
関数名について質問 プラグインなどで、#を区切りにした関数名をよく見かけますが、あれはただ単に見やすいからそうしているのでしょうか? また、関数名に.で区切ったものもありますが、使い分けがわかりません。 #だとか.での区切りはどこから来たものなのでしょうか?
>>809-810 # にも . にもそれぞれ全然別の意味がある
それぞれ :help autoload や :help anonymous-function を読んでくれ
:makeして警告やエラーが出たときだけQuickFixウィンドウを開かせることって出来ます? なおかつ、 grepとかは普通に毎回開かせる動作を維持しつつ、なんですが。 まあ、ないですよね
:make | cwindow
autocmd QuickFixCmdPost make cwindow
:bd した時に、分割ウィンドウの状態はそのままにしたい場合って どうしたらいいですか? 現状、ウィンドウまで消されてしまいます。
無理っぽいらしいが できるなら知りたい タフが閉じちゃうのも困る
818 :
816 :2011/05/19(木) 12:02:20.82
>>817 レスありがとう。
無理っぽいのは残念。
一度開いたバッファは、あまり頻繁に閉じたりしないのかな?みんなは。
すぐに整理しなくなる性質なんで、ちょっと困る。。。
kwbd.vim
俺も同じとこで悩んで :Kwbd で解決した 消したウインドウが空のバッファで補充されるのがちょっと不満残ってるけど
821 :
816 :2011/05/19(木) 15:52:44.42
kwbd.vim試した。
確かに無名バッファが増殖するのが気になるけど、
バッファ使用感はかなり改善したと思う。
>>819 >>820 サンクス
微妙だな
VIMyo
分割 ファイル開く バッファ変える バッファ消す
826 :
名無しさん@お腹いっぱい。 :2011/05/22(日) 10:49:29.17
javadocでいいプラギンないですか?
gitでいいプラギンないですか?
828 :
名無しさん@お腹いっぱい。 :2011/05/22(日) 21:02:26.78
>>827 ありがとうございました。昔おせわになっていました。
なんかなつかしいです。最近はめっきり使った記憶がありません。
なんのために使っていたのかも思い出せないくらいです。
830 :
名無しさん@お腹いっぱい。 :2011/05/23(月) 00:33:32.80
vimrcでのキーバインド設定で map nnoremap inoremapとかの意味ってどゆ意味?
nore付けると再帰しない
i(nsert) n(ormal)
no remap
へえへえへえへえへえ
mapの再帰ってどういう意味?
>>835 例えば / で検索したとき(n)に結果をウィンドウ中心にする(zz)のを n にmapする、
:noremap n nzz
:noremap N Nzz
これが map だったら停止しない。
マップが再評価される
:throw(例外を投げる)とは、何ですか? 意図的に:catchで補足できるエラーを生じさせると言うことでしょうか?
×補足 ○捕捉
もうだめぽ (+_+)/ おとは任せたーたーたーたー
>>835 キーマップで呼び出すコマンドの中に、他のキーマップが出てきたらどうするか
" インサートモード時に<M-d>で日付を挿入する
inoremap <M-d> <C-R>=strftime('%Y/%b/%d')<CR>
" 呼び出せる
map <C-d> i<M-d>
" 呼び出せない
noremap <C-d> i<M-d>
新しくキーマップ作るときに予想外の動作が起こらないようにnoreを付けるようにした方がいいとか聞いた
何でよびだせないの?
vim scriptはコメント付けるとき"の後はスペース1個入れる決まりがある?
>>843 src/ex_docmd.c では if (*ea.cmd =='"') goto doend; って感じだから別にスペースは必須ではない。
ソースまで確認してくれるなんて親切なんだ。
>>843 は
>>844 に額を地面にこすりつけてお礼をいうべき。
Debian squeeze で GVIM version 7.2.445 を使ってるんだけど、path の設定で質問。 Windows 版 7.3.189 では _gvimrc に 「set path+=**」と書いておけば(「.,,,**」という設定になる) 「:find xxx」+ Tab で「xxx」から始まるファイルを次々と探してくれますが、 Linux 版では同じ設定にしても探してくれません。「:find **/xxx」とする必要があります。 Linux 版はややバージョンが低いのですが、path の設定でツリーをたどることはできないんでしょうか。
>>846 手元に 7.2 が無いから試せないんだけど、:version して +path_extra になってる?
>>847 ありますね、+path_extra。
すげー便利なんだけどなあ。まあ「**/」打つ手間だけなんですけど。
+path_extra で compile すれば?と思ったが、環境によっては面倒なのかもしれないな。
「**/」打つ方がバージョン依存がなさそうなのでこっちで慣れておくことにします。
851 :
名無しさん@お腹いっぱい。 :2011/05/31(火) 01:22:10.70
Ctrl-d,Ctrl-fなんかのカーソルの移動の仕方をPageDownキー押したときの移動の仕方みたいにすることは出来ませんか? つまり、カーソルのある行が画面に移り続けるならその位置に残り続けるけど、 見えなくなったら一番上の行の位置にあり続けるというかんじの。 出来ればsmooth_scroll.vimと共存できるといいのですが…
852 :
名無しさん@お腹いっぱい。 :2011/05/31(火) 01:23:37.53
移り続けるじゃなくて、写り続けるの間違いでした
vi ってホントコマンドをマスターするとかなり効率的に文字が入力出来るね。 マウスを使わなくても何でも出来るから快適w ほーんとviが大好きになっちゃいますたw
スレ違い
宣伝乙
vi 使いはマゾ
grepするとvsplitで左右に分割した画面の右側に検索結果が反映されるんですが、 右とか左とか上とか下とか関係なく、今カーソルのある画面に反映されるようにできないでしょうか?
今カーソルのある画面には出てると思うんだ
すまんが vim と vi の違いがいまいちわからん。 だいたいコマンド同じじゃん?
ざっくばらんにいうと、viの機能拡張をしたのがvim
vi って一回しかアンドゥできなくね?
そうだね
>>860 サンキュー
といかやっぱりvi最強過ぎるわw
便利だからもう さくら や ひでまる なんかを使う気がしないw
「Vim最強」ならともかく「vi最強」はないだろ。 viには多段アンドゥも複数ウィンドウ・複数バッファもないんだぜ。 viとVimの違いは、Vimのヘルプのvi_diffにまとめられてるよ。
Kaoriyaのgvimで設定ファイル_gvimrcに autocmd VimEnter * :hoge のようにautocmdの引数をVimEnter,もしくはGUIEnterにすると,gvimrc,_gvimrcなどをgvimで開いた後終了させる際に Microsoft Visual C++ Runtime Library This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. というエラーが出て正常終了できないのですが,解決策はありますか (エクスプローラ上でgvim.exeに直接D&Dしたとき,もしくは.txt,texなどのファイルでは正常終了する) 環境はWin7SP1です. vimではエラーは確認できませんでした.
普段ファイルを検索する場合に find ~ -type f -print | xargs grep 'hogehoge' /dev/null という風にしてますが、特定のファイル※の中に対してのみGREPを掛けるには どうすれば良いでしょうか? 例) @ ファイルの拡張子が「.php」であるファイルのみをgrep対象とする A ファイル名に「hoge」が含まれているファイルのみをgrep対象とする 宜しくお願いします。
>>866 vimでやりたいんだよね?
:vimgrep /hogehoge/ ~/**/*.php
:vimgrep /hogehoge/ ~/**/*hoge*
シェルでの話ならスレチだが、
$ find dir -type f -name '*.php' -exec grep /hogehoge/ +
>>858 出てないですけど。環境の違いでしょうか?
自分は、
os:centos
sshクライアント:putty
こんな環境ですが。
今は自宅なのでバージョンまではわからないですけど、新しい方ではあるはずです。
>>867 スレチだけど、+ってなに?
{} \;っていつも書いてたんだが
>>871 manによると+にするとxargsと同じ挙動になるらしい
>>872 centos5.6 だと 日本語manにかかれてなかったけど、
man 1p にかいてたありがとう。
>>851 <C-E> <C-Y>で代用できないかな
C-FとPageDownって挙動違うの? 一緒って書いてあるし試してみても違いがわからないんだけど |<PageDown>| <PageDown> same as CTRL-F
project.vimを入れたんですが、 :scriptnamesでパスが通っているは確認したのですが、 project.vimのコマンド:Rprojectがでてきませんでした。 ruby.vimもインストールしてあるのですが、 これはどうしたら良いのでしょうか?
フォルダ構成が理解できないなら パッケージマネージャ使え
>>877 普通は$HOME/.vim/plugin/だけどどこに入れたの?
880 :
867 :2011/06/03(金) 20:51:46.21
{} 抜けてたー
>>871 さんありがとう。
find の -exec では + を使ったほうが効率も良いので、複数ファイルを受け取れるコマンドでは
-exec コマンド {} + の方が -exec コマンド {} \; より良いよ。
Changelog見てみたら2005年の初め頃から使えるみたいね。以上スレチ失礼しました。
>>867 ありがとうございます。
Linuxコマンドだけを想定していましたが
vimでも出来るんですねw
さすが上級者の方々が集まるスレです。ありがとう。
>>881 上級者じゃない俺にここから出ていけと言ってるのか?
>>881 俺はいつも
:vim /hoge/ **/*.php | cw
みたいにして使ってるな。
>>879 解決しました。
.vimrvで
let g:rails_level=4
"let g:rails_default_file="app/controllers/application.rb"
"let g:rails_default_database="sqlite3"
とコメントアウトしてたのが原因でした。
このおかげでrails.vimそのものが機能していない状態でした。
お騒がせしてすみませんでした。
885 :
名無しさん@お腹いっぱい。 :2011/06/05(日) 01:25:00.02
>>876 カーソルの位置が違います
<C-F>はカーソルが画面中央にあったら、中央の位置を維持する
PageDownは画面上の位置ではなく、行番号の位置を維持する。その行が画面から見えなくなったら一番上の行に留まる。
<C-F>をそのPageDownの方の挙動にしたい
>>885 あれ?そういう話なの?
じゃあ、うちの<C-F>はカーソルが一番上の行(とはいっても余白設定があるので、5行目くらい)に
とどまってるから挙動が違うかも
>>886 普通は同じだろう。help にもそうあるし。
理由は知らないが 885 の <C-F> がおかしい。
c-f を pagedomwn にマッピングできないんだっけ?
vi でインテリセンス機能とかってある? よく使うコマンドは記憶させて Ctrl + Space で呼び出したいんだけど。
viにはない
ないのかvi使えねー
しかし、vimが便利過ぎる。 もっと早くこのエディタに出会っていれば・・・ 俺の人生は変わっていたハズwww
>>891 VimはViの拡張だから当然
比較して貶すのはViにもVimにも失礼
まさかとは思うが、VimはViの拡張だから「vi使えねー」は当然ってこと?
>>896 Vimで出来る事がViで出来ねー!Vi使えねーとか云ってる奴はアホって意味
Vimが使える環境且つVimの機能を利用したいなら黙ってVim使ってればいい話
いちいちVi持ちだしてきてそれを貶すことで喜びを感じる奴は基地外
Vundleが便利だ、感動した。
vim を入れられない環境だってあるんじゃないの
そんな奴はこのスレに必要ない
>>841-842 mapは新しく定義されたmapを参照して拾ってくるが、
noremapは、それ以上参照しない。
map <C-d> i<M-d>は、<M-d>がさらにリマップされ、map <C-d> i<C-r>=strftime('%Y/%b/%d')<CR>になるが、
noremap <C-d> i<M-d>は、そこでリマップが終了するので、i<M-d>のままである。
IDEからエディタだけvimを呼び出すのと emacsつかうのって、どっちが実用的?
人によるんじゃないの。
905 :
名無しさん@お腹いっぱい。 :2011/06/08(水) 00:11:26.43
Eclimでandroid開発を試していたんだけど、補完がうまくいきません。 症状としては 通常のjavaプロジェクトではStringの補完が出来る。 外部ライブラリとしてandroid.jarを組み込めばandroidの補完は出来る andorodプロジェクトではAndroid固有の補完は出来るけど、 Stringの補完候補が出てこない .classpathに <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> を足したりしましたが、意図したとおり動きません 同じような症状の方いますか? eclimをandroid開発で快適に使えますか?
>>903 [N] app-vim/bash-support (~3.5): vim plugin: Bash-IDE - Write and run bash scripts using menus and hotkeys
[N] app-vim/c-support (~5.13): vim plugin: C/C++-IDE -- Write and run programs using menus and hotkeys
[N] app-vim/conque (~2.1): vim plugin: Run interactive commands inside a Vim buffer
[N] app-vim/perl-support (4.8): vim plugin: Perl-IDE - Write and run Perl scripts using menus and hotkeys
[N] app-vim/project (--): vim plugin: Managing multiple projects with multiple sources like an IDE
[N] app-vim/vimcalc (~1.3): vim plugin: provides an interactive calculator inside vim
Gentooのportageからapp-vimカテゴリにある説明にIDEが含まれる文字列を抽出した結果
pythonサポートやphpサポートが欲しいなぁ
いや,vimをIDEっぽく使うんでなくって、VSやらeclipseやらから、 外部エディタとしてvimを呼び出すってことなのれす
参考にはなったろ ならん?あ、そう。
>>907 VSやらeclipseやらのスレで聞けよカスが
その質問内容はここではスレ違い
外部エディタの登録方法はIDEの仕様でいろいろ
IDE使ってないから分からんけど大抵こういう感じだろ
vimの絶対パス IDEの編集ファイル変数
>>903 そんなのも自分で決められないのなら、外部エディタなんて使わない方がいいよ
>>909 登録方法の説明を書いてどうしたんだい。
あと、スレ違いじゃないだろ
>>910 自演してる暇あったらとっとと行ったほうがお前の為だぞw
日記を付けたファイルがあるんだが、これに「(現在カーソル位置から見て、)次のエントリ/前のエントリにジャンプする」mapを作りたい。 検索でジャンプでも良いんだけど、単純なブラウジングなので、できれば検索履歴に残したくないし、<C-i><C-o>で飛ぶ履歴にも残したくない。 特定の検索パターンに履歴をいじらずジャンプできる関数の作り方みたいな情報が欲しい。
914 :
912 :2011/06/08(水) 17:17:33.49
何となく調べると、cursor()や、setpos()を使えば実現できそうだと思った。 setpos()はcursor()の上位互換と考えて良いかな?
915 :
912 :2011/06/08(水) 17:55:31.71
そんなことする必要なく、ただ単にsearch()使えば良いことに気づいた。 もっと複雑なことするのなら上記の関数を使うべきなのだけど、俺のニーズにはこれで十分だった。 てか、ここ数日、プラグインとして提供されてるスクリプト見てたけど、関数やら変数やらで処理をあっちゃこっちゃに渡してて、 よくこれで混乱せずに処理を追えるものだと。プログラマの世界ではこんな迷路みたいなコードがデフォなのか? 俺にはとても把握しきれないわ。
仕事なら他人のコードを読むことになるわけで人によって癖もあるしスキルも違う。 汚いコード読めねぇ〜って奴はプログラマとしては使えないと思う。
自分が昔書いたコードを見るとウンザリする。 汚いだけじゃなくて、vim の機能を知らないで書いたものだとよりバカっぽい。
スキルアップしてる証拠だからいいじゃないか。 俺なんて5年前のコード見ても今と変わらん。
netrwがずっと居座り続けてるんだが、終了させるにはどうすればいいだろうか? :bdしても:bnでバッファを切り替えていくと、なぜか居る。うざい。
netrwを開くと.vimrcで便利にしたステータスラインも元に戻ってしまう。うざい。
>>915 vimのタグジャンプ使えばたどりやすくなるよ
そうよ。今までctags使ってなかったけど、今日使ってみて感動した。 これは面白いな。ヘルプファイルのジャンプはこれを使ってたんだな。
いや大抵のエディタにはある機能ですから…
大抵のエディタというほどでもないような
ヘルプファイルのタグファイルもctagsで作れるの?
ノーマルモードのsやcを、独自のプレフィックスキーとしてマップして潰している設定を見ました。 私自身は、sやcをデフォルトで使っていますが、潰している人は多いのでしょうか? いたとしたら使い心地を尋ねたいです。sもcも、よく使うキーですので。
俺は別にsもcも使わないので別に使い心地は普通。 そりゃsもcも良く使う人にとっては潰したら使い心地は悪くなるだろ。 つまり他人の使い心地聞いたって意味ないんじゃない?
どうしても変えたい っていうぐらい不便さを感じるコマンドだけを変えるのが良いと思う。 デフォルトに近ければ近いほどリモートサーバーを弄る時も楽だし。
ctagsいいね これでeclipseみたいに勝手にポップアップするプラグインがあれば素敵なのにと思った
cはよく使うけどsはあんまり使わないな。
s使わないな。てか正確な挙動を知らない。 たまに間違って押して困るぐらい。
x → i cl と同じかと。
neocomplcache なら補完で読み込んでくれたような
sとcを使わない人って想像付かない テキストオブジェクト使って置き換えするのに代替できる物がなくない? surround.vimも組み合わせればXMLとかも置き換え出来ちゃうし
c : dなにか → i で代替できるといえばできる s : テキストオブジェクトと併用する?
931だけど、編集モードはs使ったことないってことね。 :コマンドラインでは置換にもちろんs使ってた。 今気づいた。
まぁ打ちやすいキーで潰せるようなのがないから困っているわけで、
sやcを残しておけるならそれに越したことはない。
>>934 sってxiと同じじゃないの?
>>936 誤解している人はいないようだが、どうした
>>937 代替できるものが無いって、個人的に良く使うから2キー以上で使うのは考えられないっていう意味で言った
個人的なアレでごめん
別に頻度が高くない操作であればxiとd→iで間に合っちゃうもんね
>>934 ,939
s、cは必要。
同志だ。
必要だと思ってるの俺だけ?と不安に思ってたんだ。
c+オブジェクトはviの一番便利なところだろ。 sは何文字か修正したいけど適当な区切りがないってときに 5sみたいな感じで文字数を指定して使うな。
すっかり脳が退化して なんでもvで指定するようになっちまった…
俺もそうだったが、nvi使った時に困ったぜ
sとcは名前付きバッファに入れて削除にリマップしてる 結構便利やで……
数えることと、最上段キーに指を伸ばすことを嫌って v を使うということはあるな。 といっても前者は一桁ではあまり理由にならないか。 後者は中段のキーを使用すればとも思ったが採用に至る案にはならなかった。
プロのvim使いは20文字ぐらいまでは一瞬で数えられるように 日々の訓練を怠らない。
vi でクリップボードの内容をペースとする際に Shift + Insert を押してますが これだと Insert キーをブランドタッチでは押し辛いので ショートカットを自分で作成して割り当てたいのですが そんな事は vi で出来ますか?
以下は Alt との組み合わせ "Windows 貼り付け nnoremap <M-v> "+gp "コピー vnoremap <M-c> "+y "Linux 貼り付け "nnoremap <M-v> a<MiddleMouse><esc>
Shift+Vで矩形選択したあとにsで複数行書き換え、をよくやるのでsは必要。 いちいちgvするのもめんどい。
Ctrl+vだった。
>>498 どうでもいいだろうけど
"Linux 貼り付け
"nnoremap <M-v> "*gp
でいい気がした。 :h <S-Insert> 的には "*P のようだが。
954 :
名無しさん@お腹いっぱい。 :2011/06/12(日) 12:31:46.55
Macでコマンドキーってvimrcでどうやって書くの? あとshiftとctrlの組み合わせは<C-S-F>とかでおk?
:help keycodes <C-F>でもおk。大文字のFはShift-fだから。
956 :
名無しさん@お腹いっぱい。 :2011/06/12(日) 13:37:44.15
ありがとー!!<D-...>なんだね!
>>947 クリップボードは「"+」か「"*」でないの?まあこれも打ちにくいけど。
Ctrl-Insert クリップボードにコピー Shift-delete クリップボードに切り取り Shift-Insert クリップボードの内容を貼り付け は、ほとんどのエディタで共通。これ豆な。
要らないキーばっかだな
Windowsアプリの標準デザインだからね
Caps LockとNumlockとInsert Keyは正直要らない
Vimでcapsは罠になりやすいしなあ
Caps潰してCtrlにするのはなかなかいい手段だよね
キーボードの配列が国やベンダで異なるなんて狂ってる。 どこの世界に黒鍵のない鍵盤楽器があるというのか。
1オクターブ12音が出せればいい楽器と一緒にすんな
弦楽器にはしなかったんだな
自分でいくらでも変えられるだろうが
17分割平均律だと黒鍵は存在しない。 12分割平均律が絶対的存在だというのは大間違い。 音楽史をみれば解るし、コンサートピアニストはセットリストによって 調律を変えることもある。ただし、17分割平均律の楽器やその演奏は 私は見たことがない。
インドネシアのガムラン音楽は平均律とは、かなり違う区切りだ オレの現代音楽の先生は初めて聞いたとき気持ち悪くなったと言っていた
初対面の人 「エディタ何使ってます?」 俺 「vimです…」 初対面の人 「しぶいですね〜」 これどういう意味なんだ。
…に全ての意味が隠されている
viって管理者とかのマニアックな人たちが使ってるやつだよなー 変につっこんで食いつかれまくっても困るし、えーと、えーと、 「しぶいっすねー」 ビム?なんだそれ、よくわからんけど、即答だしほんとに使ってるんだろうなぁ 知らないっていうのもアレだし 「しぶいね!」 秀丸=メジャー、それ以外=マイナー=しぶい 「しぶいですね〜」 いろんなパターンが想像できるな
vim使い以外から見ると、viは昔からあり必要最低限のことだけが出来るエディタというイメージ。 そんな道具をメインに使い続けてる人は職人さんのように見えるのだ。
「しぶいですね (笑)」
遠回りに馬鹿にしてんだろ 内心では大爆笑してんだろうなソイツw
いまどきだと非IDEでコード書いてるだけで「しぶい」のかも
>>964 あと木管楽器の世界だと
同じ楽器でも複数のキーシステムがあって
運指が違うこともめずらしくない。
>>977 エリーゼ、たとえイ短調でも和声的短音階のG#音は普通にあるし、
この曲の場合は冒頭D#音が要るが、音を別の白鍵音にすり替えて演奏してる。
あと、エリーゼの中間部分へ長調に転調するのでB♭が必要だが、
デモでは当然カットされてるw
80年代ぐらいに平均律の12音を完全平等に配置した音楽用キーボードが販売されて 「これでどんなキーでも自由自在に弾ける」って宣伝してた覚えがある 後から普通のキーボードに上からかぶせるアタッチメント形式のものも発売された 上から見た形は「ボタンが六角形?のパソコンキーボード」に近い形状だったと記憶してるんだけど 名称がわからないので検索もできずモヤッとしている
981 :
980 :2011/06/14(火) 15:46:04.58
オォ!それだ! よかった「黒鍵がない!」って書いてあったw
surechigai iikagen ni siro baka domo
そろそろvimにもどしてくれないか?
まあ、こんなエディタを使うのはアスペばっかりだから KYなスレ違いがあってもしゃーなしだ!
dd dd o
サメの話しようぜ
dd
u
ggcGウガンダの恵まれない子供たちに援助を!<ESC>ZZ
$ view .vimrc
カレーは飲み物
>>993 カレーは食べ物ですよ
ご飯にかけて食べるととてもおいしい
うどんにもスパゲッティにも合います
でも僕はニンジンが嫌いですw
dd
:rew
ZZ
いつの間にか糞スレ化してる
本当はキモイけどそれをいうと喧嘩になるから いわないだけ。
1000だったらBram様が原発なんとかする
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。