>>1 たろちゃんお疲れさま〜
誰か vim7 の利点教えて〜
jvim開襟?
>>1 KoRoN様、Vim7とかあれこれ大変な中、乙であります
vim7 の新機能の目玉
- タブ 対応
- Omni補完。html, Python, ruby なんかだと 驚くような補完リストがでます。
- netrw での ファイラー機能強化
は、とても大きいと思っています。
さすがに、うちの大学では正規の授業の課程としてvi教えるようなことはしてないです。メーラもmnews からThunderbird に移行したしね。もっとも、Emacs は、今でも教えているらしい。
なんだが、一部の先生が使っているのがviなので、学生と一緒に作業しているうちに、学生に染つってしまうらしい。vi っていうのは、そういうものだよな。メーラも、端末ベースの方に移行してしまう学生が結構いる。「そっちの方が速いし」まぁ、そうかもね。
FreeBSDにVim7のportsキタ━(゜∀゜)━!
モードのないエディターはただの豚だ。
じゃあ食べられるんだ
とん○つうまうまだ○もん?
>960-961
レスどうもです。
:set cot-=menu
をしてもいまいちしっくりこないので、
カスタマイズ可能になるまでは6.4と併用することにします。
:vimgrep が気に入っているので早く移行したいのですが…
使用環境
Kaoriya版 vim7-daily-w32j.exe 24-Jun-2006 13:53 4.6M
WinXP Pro SP1a
vim7ってruntimepathにあるディレクトリって再帰的に見るように仕様変更された?
set runtimepath=~/vimfiles/after
としておくと ~/vimfiles/after 以下のディレクトリも勝手に読みに行く(vim6.4では行かない)。
例えば ~/vimfiles/after/old とかに .vim の拡張子のファイルを置いておくと読み込む。
で更に、~/vimfiles/after/old に .vim が1個も無く、かつ、 .vimm とか .vimmm とかを置いておくと
間違ってそれらのファイルを読み込んでしまう。
ただし、 runtimepath で直接指定している after に置かれている .vimm は読み込まれない。
再帰的なのはバグなのかvim7からの仕様変更なのか分からない。
でも、runtimepath で指定されたディレクトリ"以下"に在る、
.vimm とか .vimmm を読み込むのは明らかにバグと思う。
とりあえず、アーカイブを解凍した素の状態からの最小の再現手順プリーズ。
>>23 (1) ~ には _vimrc や _gvimrc は無し。(あっても再現すると思う)
~/vimfiles は存在しない状態。
(2) ~/vimfiles/after/plugin/old/ を掘る。
(3) old に test.vimm とかを置く。中身は空で良い。
ただし、拡張子が .vim のものは置かない。
これで再現しませんか?
書き忘れ。
(3)の後、:scriptnames を実施してみると
test.vimm が読み込まれているのが分かると思います。
報告したよ。ちなみにvim6も同じバグ持ち。
27 :
22:2006/07/02(日) 11:30:16
>>25 あ、わざわざどうもです。
> ちなみにvim6も同じバグ持ち。
え?そうなの?
うちのvim6だと起きませんよ… (Kaoriya版6.4.6)
なんでだろう…?
vim7で他環境でも再現できてその上報告までしてもらったので、
6の事はあんま気にしなくていいんだろうけど。
28 :
22:2006/07/02(日) 11:31:50
ファイルを開くときに :e x* とやるとファイル名が x で始まるものが候補に表示されますが、
このときに「拡張子が zip のものは表示させない」というような拡張子レベルでの設定はできますか?
>>29 その場での方法ではないのですが
:help 'suffixes'
> :help 'suffixes'
これで実用上では十分な設定ができました。
ありがとうございます。
くだらない質問でスマソ。
画面をスクロールするキーのうち、Ctrl-E と Ctrl-Y は、何かの単語の略なんですかね。どうでもいいっちゃどうでもいいんですけど、
他の Ctrl-U,B,D,F がそれぞれちゃんと Up, Back, Down, For + ward に対応しているようなので、E と Y にも何かあるのかと気になって・・・
Mnemonic: Extra lines.
yesterline
なんつって
hjklは何も対応してないおよ
まあ文字でなく位置で覚えるもんだからね
# dvoracerはその意味で大変だろうなとは思う
h hidari
j した
k きた
l left でない方
おら最初は j と k をちょくちょく間違えて困ったよ
nethackライクなゲームでhjklの対応覚えたよ!
hjklは何も考えないでカーソル動かそうとすると勝手に手が動くが、
上下左右はどのアルファベットだったっけ?と考えると思い浮かばない
最近 vim + im_custom + cannaを作成しました。
vim63 im_custom075
起動直後にcannaがonで立ち上がらないように
するにはどうしたらよいのでしょうか?
いろいろ調べましたがみつかりませんでした。
>>41 こうしてみてください。
:set imi=0
3dd とすればカーソル行を含めた下方向への3行分を削除できますが、
これとは反対に、上方向に3行削除するにはどうすればできまますか?
今は1dkなんだけどいつか2dkか3dkにしたいです。
見栄を張るなよ。いまは1Kだろ
むしろ3k
>>27 短い答え: 仕様です
長い答え:
現象: 次のようなディレクトリがあるとき、
~/vimfiles/testdir1/[a.vim, b.vimm, c.vimXYZ]
~/vimfiles/testdir2/[b.vimm, c.vimXYZ]
:runtime! testdir1/*.vim でa.vimのみ読み込まれる
:runtime! testdir2/*.vim でb.vimmとc.vimXYZが読み込まれる
(glob()でも確認可)
理由: 以下の方法で検索しているため
1. (独自の方法で)ロングファイルネームを使って検索する。
2. 1.で一つも見つからなかったら(windowsのAPIをそのまま使って)ショートファイルネームも検索対象にする。
Windowsのファイル名には長い名前と短い名前(8.3形式)があって、例えば、
"script.vimm"の短い名前は"script~1.vim"みたいな感じになります。
で、FindFirstFile系のAPIで"*.vim"を検索すると、"script.vimm"も引っかかります。
(dir *.vim と同じ挙動)
結論: 曰く、他に影響があるかもしれないし、コードは変更したくない。オプション
追加しても使いにくいだろうし、それを必要とする人もあんまりいないだろう。
対策: なし。どうしても必要ならこの辺を変更すればよいかと。(動作確認してない)
--- misc1.c.orig Sun Jul 9 21:14:31 2006
+++ misc1.c Sun Jul 9 21:14:55 2006
@@ -8713,7 +8713,7 @@
/* If no more matches and no match was used, try expanding the name
* itself. Finds the long name of a short filename. */
- if (!ok && matchname != NULL && gap->ga_len == start_len)
+ if (0 && !ok && matchname != NULL && gap->ga_len == start_len)
{
STRCPY(s, matchname);
#ifdef WIN3264
ということになりました。
ps. プラグインロードに限れば vimrc で :set noloadplugins した上で
for file in split(globpath(&runtimepath, "plugin/**/*.vim"), '\n')
if file =~ '.*\.vim$'
execute "source " . file
endif
endfor
とかすればいいかと。再帰がいやなら"plugin/*.vim"にしてもいいし。
less.sh で wrapscan みたいに検索で上に戻るにはどうすれば?
>>42 さん
こうしてみてください。
:set imi=0
ありがとうございます。無事解決しました。
なかなか情報にたどり着けなかって困っていました。
ほんと助かりました。
>>50 less.vim の中で set nows してるからそれを set ws にすれば良い。
less.sh すげ。とか一瞬思ったけど、考えてみれば、view か vi で、そのまま開けて問題ないのか... PIPEに通せるのがうれしいか?
>>53 色付きページャーすげえェとか思って最初は view で見てたがどうせなら less.sh を
alias less にしたれと、深い理由は無い
>>54 俺、似たようなことやってる。
vim って、「えっ、こんなものまで!?」と感じる物まで色付きで表示されて、
びっくらする。
例: pstrace の出力
56 :
22:2006/07/11(火) 03:37:40
>>48-49 わざわざ報告どうもです。
Win32APIの仕様だったんですね…
> 結論: 曰く、他に影響があるかもしれないし、コードは変更したくない。オプション
> 追加しても使いにくいだろうし、それを必要とする人もあんまりいないだろう。
この結論には同意できるので仕様ということで納得することにします。
# 自分の環境下でgvim6.4だと再現しないのが不思議でそれだけが心残りですが
行頭にインデントのあるコードとかをブラウザからコピペすると gvim では
そのままペーストされるが vim ではさらにインデントが追加される。
長いコードとかだと、とんでもないことになる。
これ回避できますか?
set paste
確か<Esc>と<C-なにか>の1バイト目の区別はキー入力の
時間間隔で区別してるんだよね。
だったらコピペしたときもそれを認識して、自動的に
paste を on にするくらいはできてもよさそうだと思うのだが。
やってみれば?
"*p がいいよ
<ESC> == <C-C>
63 :
名無しさん@お腹いっぱい。:2006/07/14(金) 10:09:05
vim7で、カッコの上にカーソルがきた時の強調表示を
重いからやめさせたいのですが、(vim6みたいに%を押した時だけ判ればOK)
どのように設定すればいいのでしょうか?
:help matchparen
thx できますた。
new|e file.txt だと画面分割状態で開かれますが、分割せずに開くようにはできませんか?
1画面=1バッファー で作業したいです
>>63 俺はそのうち慣れるかなーと思ってましたが、、
たしかにちょっと重いかな〜
あとカーソルぶっとんだような気がして落ち着かない。
けどせっかくデフォになったんで、もちっと慣れるの待ってみようと思ったり。
68 :
名無しさん@お腹いっぱい。:2006/07/15(土) 01:17:02
今日、KoRoNさんのアドレスを騙っていると思われる送信者から
もう運用されていないと思われる
[email protected]宛てに
物凄く怪しげなメールが送信されていたのですが、開いてみてもいいですか?
ちなみに vim-jpの引継ぎって結局どこになったんだろうか。。。
69 :
名無しさん@お腹いっぱい。:2006/07/15(土) 01:26:08
>>66 普通に e file.txt
もしかして set hidden を知らないのかな?
vim7はいいねぇ。
しかしオムニ補間はVisualStudioに、
スクリプトの強化はEmacsに追いつこうとしている
感は否めない。
もっとvimならではという機能を実現できないだろうか。
例えばテキストオブジェクトのような。
お前らそんなアイデアない?
>>68 可能な限り開かずに消してください。引継ぎの話は、議論+実作業できずにサスペン
ドしたままですねぇ。
新機能はもういらんとは言わないけど、それよりも
開発体制の見直しとソースの品質向上をして欲しい
本家にいえ
2chでこそこそ言わずにw
>>73 オレは要らない。ver3相当くらいのtiny vimが欲しい。
76 :
名無しさん@お腹いっぱい。:2006/07/16(日) 14:31:41
vim3使うかconfigureオプション設定すればいいだろ。
:sort の n オプションって32bit制限あるのか (´・ω・`)ショボーン
78 :
名無しさん@お腹いっぱい。:2006/07/17(月) 11:17:41
FreeBSD R.6.1でja-jvim-direct_canna-3.0.j2.1a_1を使っています。
昔はonew経由でcannaの辞書登録できたような記憶があるのですが、
jvim3の中で辞書登録をする方法はありますか?
Vimを使用している人のことを Vimer と呼ぶのは一般的でしょうか?
vimmerと呼ぶのが一般的です。
ヴィマー っていうのか?
日本人は、言いにくい
ビマーでごまかそう
vipperと聞いて飛んできました。
元祖vi使いはビアとごまかすんかい。
まあ、ビールの美味い季節ではあります。
quickfixの使い方が分からない俺初心者
ジム・キャリーは Mr. Vimmer
びーだまん
I am vimmer.
We are vimmer.
I am a himmer.
ピーマンでいいじゃない
よって、vim くだ質を、ソフトウェア板に集める作戦は失敗です
vi:ぶいあい
vim:びむ
と思ってるんだけどあってる?
>>92 vi:う゛いあい
vim:う゛ぃむ
だと思うよ。
私は
vi ぶいあい
vim ぶいあいえむ
と読んで(呼んで)ます
>>91 まったくだw
まぁ「人目に触れやすい出張所」扱いでいいんじゃね?>ソフ板
オレはgvimメインなのでvim=ヴィム派
「ジーヴイアイエム」とはちょっと読めない
すると"g"の音はやはり"guh"? 「ガヴィム」?
…わしは「じーぶいあいえむ」と呼んでます
ガゥヴィィィイイム
え、「じーびむ」じゃダメ?
99 :
92:2006/07/19(水) 10:22:36
私もgvimはじーびむ(じーう゛ぃむ) て読んでます
そうか、オレ「ジーヴィム」派だけど、よく考えたら統一性がないんだな
がんばって「じーぶいあいえむ」って読む練習をしてみる
Victory = ヴィクトリー
従ってVim = ヴィム
証明終
>>101 俺たちTIM = ティーアイエム
従ってVim = ヴィアイエム
Violet = バイオレット
従って Vim = バイム
nviは「んび」とか「んばい」なのだろうか、やはり。
ぐぁぶぁいんむ
vim っつーれっきとした英単語があるんだが…
意味は「精力」とか「力」とかだったっけか
ビガーパンツってあったよね 雑誌の広告に
明日への活力 vim!
Vim7.0 (Win2k) なんですが、netrwの画面で :bnext すると、
"nerwしているパス" illegal file name
と出て次のバッファに移動できなかったりする・・・
なんでだろう?
おまえらは夏休みにvimをハックしますか
ハックしょん
呼ばれて飛び出てヴィヴィヴィヴィーム
「ビみゅ」でいいじゃん。これからは「ビみゅ」でよろ
「びみょ」がいい。
ビみゅ - Vi IMproved Ultra
vimはosじゃないという戒めを解き、emacsからgnomeまで動作する超vim。
ただし地球上では3分しか編集できない。
>>109 autosave的なプラグインが入ってんじゃないの
:noautocmd bnext でもなる?
117 :
109:2006/07/21(金) 18:24:42
>>116 レスありがとう
> autosave的なプラグインが入ってんじゃないの
バッファ移動時になにかするのが入っているとまずい・・?
あと、プラグイン抜いた状態でもなりました
>:noautocmd bnext でもなる?
試したんですが、:bnextでも問題が再現できばい
プラグインを一度抜いたのが関係しているのかなぁ
そのうちまた起こりそうな気もする
"Illegal file name" は :r c:\path\ 的な操作で出るメッセージだから予想はずれたっぽい。
うちでも確認できたけど
:e
ftp://.../ :e c:\tmp
だとok
:e c:\tmp\
はng。どこが悪いんだろねー。
119 :
109:2006/07/21(金) 21:27:45
>>118 レスを参考にまた試してみた
aは適当なバッファを作るための存在しないファイル名
[[A]]
1. 起動
2. :e c:\winnt<CR>
「"c:\WINNT"はディレクトリです」と表示される
また、他のバッファに移動するとc:\winntバッファが消える
[[B]]
1. 起動
2. :e c:\winnt\<CR>
「"c:\WINNT\" 不正なファイル名」と表示
違うバッファに移っても消えない
:bnext<CR>すると移動できない
(バッファ番号を見る限り、あたらしいnetrwバッファが作られてそこにいくっぽい)
[[C]]
1. 起動
2. :e a<CR>:e c:\winnt\<CR>
先に適当なバッファを作ってみる
こうすると問題は起きない
vimってデフォルトでは-gつきでコンパイルされるけど、なぜ?
ユーザにとっては-gなしの方がいいよね?
121 :
名無しさん@お腹いっぱい。:2006/07/22(土) 18:40:03
virus = ウィルスまたはウイルス
従って Vim = ウィム
ただし、母音の続かない「m」は日本語では「ん」と表記される
従って Vim = ウィン
Win ですか
-gあってもなくてもかわんなくね
>>120 install時にstripされるからユーザには影響しないような。
stripしてるとは知らなかった。
ところで gdb で vim をデバッグしてる人っている?
attach しようとするとこんなメッセージが出るんだけど。
Attaching to process 34476
/usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:1443: internal-error: legacy_fetch_link_map_offsets called without legacy link_map support enabled.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
gdb 内から run すると正常にデバッグできます。
環境は FreeBSD 5.3, gdb 6.1.1 です。
126 :
みほ:2006/07/22(土) 23:14:37
あの今皆さん暇ですか?できれば話でもいかがでしょう?
??
この後の流れにwktk
128 :
みほ:2006/07/22(土) 23:29:52
この中に女の人いますか
130 :
みほ:2006/07/22(土) 23:43:16
ソフ板って何ですか?
343 名前: KoRoN 投稿日: 2001/07/30(月) 17:57
>>342 > すっきりした書き方にしてしまってもよかったんじゃないかなという気もしますが。
私もそういうふうに考えたことがあったのですが、
それを極論していくとLispをベースにvimを再構築することが、
一番すっきりすることになってしまったんですよ。
ってそれemacsやん!、というわけでそれ以降考えるのは止めました。
この適度なゴタゴタ感、つぎはぎな感じこそがvimがvimたる所以なのではないでしょうか。
356 名前: KoRoN 投稿日: 2001/07/31(火) 19:18
>>343,
>>350,
>>353 実はこの話には後日談があります。実際にやってみようかと思ってしまったんです。
ベースは当時のめりこんでいたScheme処理系から自作ということを考えちゃいました。
でも、既存のものを再発明しても無駄ですからターゲットをemacs-lispに変更しリサーチに入ったのです。
viper-modeのimproved版でも作るかね〜ってな勢いです。
が…Emacsの厚い本も買ったのですが3日でプロジェクトはクローズしました。
指がviを愛してしまっているのでまともにMeadowを扱うことができませんでした。
# 昔はもうちょっとなんとかなったものですが。
どうせ続けていたってvimに及ばないものになっていたでしょうけどね。
このスレのpart1からだが、同じ事考えた奴挙手。
ノシ
ノシ
emacsのソース見てなるほどと思ったことがある。
ただまぁいろいろと微妙な気がしないでもない。
+rubyでコンパイルして欲しいなり・・・
135 :
名無しさん@お腹いっぱい。:2006/07/24(月) 18:11:37
自分でしろボケ
gvimの質問で恐縮なんですが、開いているファイルの文字コードをどこかに
表示させることは出来ますか?
あ、すみません。ソフトウェア板にもvimスレがあったんですね。
あちらで質問しなおします。
>>119 :e c:\path\
-> autocmd BufEnter * silent! call s:LocalBrowse(expand("<amatch>"))
(plugin/netrwPlugin.vim 内)
で、netrwバッファが作成される。このときnetrwは:fileコマンドでバッファ名を
"c:\path\"から"c:\path"に変更するが、"c:\path\"のバッファを削除しない。
# "path"と"path/"は区別されるのか…
:bn or :bp で次のバッファ("c:\path\")に移動
-> autocmd BufEnter * ...
で、また同様にnetrwバッファが作成される。
"path is directory"、"Illegal file name"と表示されるのは
BufEnterの前にファイルを読み込もうとして失敗してるから。
vimrcにこのコマンド書くよろし
autocmd BufReadCmd file://*,?:/*/ :setlocal bufhidden=wipe
hogehoge = 213;
mige = 49494;
となっているとき、migeをmogemogeに変えたい。
ただし=の位置を揃えたままにしておきたい。
というときのために
nnoremap \cw ver<space>R
こんなマップを考えたんだけど、もっと汎用的な方法ある?
cw だけでなく、同じように ct<key> とかもできるといいんだけど。
g@ だよもん
141 :
109:2006/07/25(火) 19:24:36
>>138 ありがとう!
でも、バッファきえちゃうね・・・
スクリプトいじってみようかな
142 :
139:2006/07/25(火) 23:35:57
>>140 サンクス。こんな感じかな。
optfunc は1つしか設定できないから、1個しかオペレータを
定義できないのかと思ってた。set optfunc と g@ をまとめて
マップにして使うのね。
nnoremap <silent> \c :set opfunc=WhitenAndReplace<CR>g@
vnoremap <silent> \c :<C-U>call WhitenAndReplace(visualmode(), 1)<CR>
function! WhitenAndReplace(type, ...)
if a:0 " Invoked from Visual mode, use '< and '> marks.
silent exe "normal! `<" . visualmode() . "`>r\<space>"
elseif a:type == 'line'
silent exe "normal! '[V']r\<space>"
elseif a:type == 'block'
silent exe "normal! `[\<C-V>`]r\<space>"
else
silent exe "normal! `[v`]r\<space>"
endif
startreplace
endfunction
ただ、範囲内にタブが入っているとずれてしまう模様。
gr を使えばいいのかと思ったけど、範囲指定したときは
gr は r と変わらないみたい。
v_grは規定外なのかな?ヘルプにもないし。
virtualeditを設定してからrすればたぶんよさげ。
145 :
名無しさん@お腹いっぱい。:2006/07/26(水) 18:46:09
>>106 "vim" は、主語にはならないのでは?
ラテン語の対格から来ているので
「力を」とか「精力を」という意味で捉えるのが
よさげな気がする
激しく地すれですが……
コマンドラインでの補完をカスタマイズというのは
まだできないのかね?
例えば :e の補完対象に 'path' 以下のファイルや
MRU 中のファイルを加えてほしかったりするんだけど。
.vimrc の中にフォントの設定をすることは可能でしょうか?
設定して、起動時に指定のサイズで表示させたいです。
.gvimrc
ならできる。
vim使ってるとかなり頻繁に:wするようにならない?
OpenTypeのフォントは指定できないの?
:w? Windows で使っているとか、そんな話?
swp にかなり正確なイメージが落ちるので、システムダウンとかでも vi -r で十分な感じ。
いや、というか癖の問題。
昔どっかのスレでも同じ事言ってるのを見たことがあるので、
vi使いに共通の習性じゃないかと思うんだが。お前らどうですか?
本当は頻繁にファイル書き込みするのはよくないと思うんだけどね。
とりあえず編集が一段落したら:w
置換する前にもuですぐ戻せるのに:w
コマンドモードに行ったらとにかく:w
もうなんかコロン打つと勝手にw押してる自分がいる。
あ、使ってるのはlinux上がメイン。
UNDOバッファ消すのに:eしたり。
>本当は頻繁にファイル書き込みするのはよくないと思うんだけどね。
何でよくないんだ?
こまめなセーブは別に悪いことではないと思うが。
ディスクが痛むからじゃない?
間違えた修正したの気付かないまま上書き繰り返してて
取り返しつかなくなったこと結構ある
ほんと癖みたいに:wやってたし
おれはWindowsメインなんで一般的なアプリがデフォルトで使うCtrl-Sを保存にmappingしてる
ノーマル,挿入のどちらのモードでもCtrl-Sで保存(ただし更新されている時のみ)
nnoremap <silent> <C-S> :update<CR>
inoremap <silent> <C-S> <C-O>:update<CR>
もう指がこれに慣れちゃった
> UNDOバッファ消すのに:eしたり。
これもよくやるなぁ
>>156 まあ、キーボードも痛むかもしれない。
ともかく、
>>157 それはあまりセーブ頻度と関係ないんじゃないか?
1回誤セーブしようが、億兆回誤セーブしようが、正しい内容を失なってしまうことに変わりない気がするんだが。
勘違いしたことを言ってたらスマン
:wに対する俺の考察
アンドゥのuはよく使うhjkiの近くにあるため、誤って押しやすい。
インサートモードから抜けた後にuを押すと今まで入力した
テキストが一気にパッと消えてしまう。
もちろん<C-r>でリドゥできるわけだが、この一瞬作業結果
が失われてしまうという事が心理的なストレスとなり、それが
ゆえvi使いは安心を求めてしょっちゅう:wするようになった
のではないか?
svn commit しろ〜
emacs では手が空くと C-xC-s やるし、
windows 系のエディタでは暇になると C-s 押す。
やっぱWin用のVim7はenc=cp932をデフォルトにします。
164 :
名無しさん@お腹いっぱい。:2006/07/29(土) 23:42:21
Libiconvの新バージョン1.11が出てるわけですが、Part12の861の件は本家に
取り込まれているんですか?
そこに出てきた jisx0208-MS.h というファイル、1.11の配布ファイルには含まれ
ていないみたいなんですが…。
165 :
名無しさん@お腹いっぱい。:2006/07/30(日) 01:19:03
FreeBSDでPortからVim6インスコしたんだけど、vimrcみたいな設定ファイルってどこにあるん?
/usr/local/share/vim/vim64/gvimrc_example.vim
/usr/local/share/vim/vim64/vimrc_example.vim
64ビット版だぁってね。
>>164 あのバグはKaoriYa版だけのもので本家は一切関係ありません。そのKaoriYa版につい
ては既に修正済みだったハズです。
169 :
164:2006/07/30(日) 07:59:49
>>168 > あのバグはKaoriYa版だけのもので本家は一切関係ありません。
なるほど、了解しました。
> そのKaoriYa版については既に修正済みだったハズです。
あ、こちらは大丈夫です。このバグの修正を行ったのが、「香り屋」で配布されて
いる現時点での最新版 1.10-20060516 、というわけですね。
あるがとうございました。
170 :
164:2006/07/30(日) 08:07:03
おっと〜、typo
× あるがとうございました。
○ ありがとうございました。
>>162 i [ESC]:w
が癖になりますよ。
Quickfixウィンドウを常にnobuflistedにしたいのですが、
au のパターンの指定のしかたがわかりません。
au BufRead \[Quickfix\ List\] set nobuflisted
ではダメなようですが、どうやればいいんでしょうか?
Debian/SargeでGVimを使っています
バージョンは6.3です
F10キーを押すとメニューバーの「ファイル(file)」がプルダウンするのですが
これを他のキーに割り当てることはできるでしょうか
menu.vimにファンクションキーの割り当ての設定があるかと思い
探したのですがそれらしい設定はありませんでした
Debianスレでも質問したのですが
スレ違いなのでこちらで質問させてください
よろしくお願いします
メニューバーとツールバーを消すことで解決しました
お騒がせしました
>>172 :au FileType qf :setlocal nobuflisted
:help CTRL-W_<Enter> 辺り参照
176 :
名無しさん@お腹いっぱい。:2006/07/31(月) 16:23:51
一応vimは使えるのですが,emacsと比較してどういった点で
優れているのでしょうか?
sshなどでリモートログインして
ファイルを編集するといった場合はemacsよりもvi系のほうが
いいと思うのですが,ローカルでXが入っている状態なのに
viを使っているのは何か恩恵を受けるものがあるのでしょうか?
>>176 「gvim 使わずに vim を使う理由は?」ってことか?
好みだろ
178 :
名無しさん@お腹いっぱい。:2006/07/31(月) 16:44:57
>>176 他のエディタを使おうとしても
ついESC(or C-[)を押してしまうので、
もう離れられない
>>173 GVimは使ってないんだが
それはGTK+の設定じゃないのか?
gtk-menu-bar-accel = "foo"
つーか vim と vi を混同しているような気がする
まぁ使って無い人によくあることだけど機能差が半端じゃないよ
183 :
名無しさん@お腹いっぱい。:2006/08/01(火) 00:21:11
なんでUbuntuなどという発音しにくい名前にしたんだろう。
俺だったら、Ubutanだな。
ubuntuって長門が入ってるの?
186 :
名無しさん@お腹いっぱい。:2006/08/02(水) 21:22:44
~ファイルが編集ファイルのあるディレクトリに作られるのが嫌です。
特別なディレクトリを一括して使用するようにできませんか?
なんで UTF-8 やめちゃうの?
>>189 決定的な要因は、新規作成したファイルがUTF-8になっちゃうっていうことです。
Windowsで使っている以上これは「無し」だと。
難儀なOSだな
192 :
名無しさん@お腹いっぱい。:2006/08/03(木) 13:44:03
機密ファイルを編集している時はバックアップファイルは作って欲しくないものです。
~ファイルの消し忘れなどあっては大変ですね。スワップは自動で消えてくれるみたいですが。
というわけで、特定ファイルのみバックアップ禁止にするにはどうしたらよいのですか?
>>192 そんなに神経を使うような機密ファイルなら、スワップファイルができるのもいけないのでは?
USBメモリにコピーしてから編集するとか、自衛しないとね。
ファイルのタイムスタンプを変更せずに編集保存って出来ますかね?
あと、指定した時刻をタイムスタンプに設定する方法も教えて欲しいです
>指定した時刻をタイムスタンプに設定する方法
これはVim固有の話じゃないし
それに環境依存でそ
197 :
名無しさん@お腹いっぱい。:2006/08/04(金) 00:37:02
書籍 "Vi IMproved-VIM" を買ってしまった。
ぶ厚い orz
中身は薄いから安心汁
>>197 それvim 5.7だし、日本語版が出てたはず
windows mobile 5.0 で動作する vim はいねがー?
つくれ
VimCEってやっぱり使えないんでしょうか?
しるか
205 :
201:2006/08/05(土) 20:20:42
なぬ。VimCEつのがあるんすか。
ちぃと探してみます。ありがとう。
福崎さん訳のオラ本(メガネザル)じゃ駄目?
俺は結構気に入ってるんだが
別に入門書が欲しいわけじゃなくて、vimマニアとして
コレクター魂を刺激されたんだけど、値段見てぶったまげた。
中身見たけど普通の入門書っぽかった。
つかぬことを聞きますが、おまいら'/'はどの指で押しますか?
小
putty + xterm-256color でvimを256色で表示させたいのですが
kaoriya版のvim では動作しませんでした。
同一マシン上でのdebian版のvim では出来ました。
kaoriya版のvim
VIM - Vi IMproved 6.3 (2004 June 7, compiled Apr 8 2006 19:00:16)
適用済パッチ: 1-54
debian版のvim
VIM - Vi IMproved 7.0 (2006 May 7, compiled Jul 11 2006 04:06:05)
適用済パッチ: 1-35
kaoriya版で出来るようにするにはどうすればいいですか?
教えてください。
>>210 やはり小指か。俺は人差指で押してるんだけど、
それだとC-fの方が押しやすくてね。
やっぱりブラインドタッチの教科書どおり小指で
押すべきなのかな。
五十歩百歩で悪いが
薬指で押してる俺もどうかと思うが、人差し指はちょっと…
じゃあ俺は親指で押すぜ
>>212 ちなみに C-f はどの指とどの指で押してるんですか?
216 :
211:2006/08/07(月) 00:30:19
>>211 vim内のterm値がbuiltin_linuxだったので
set term=xterm-256color
をするようにしたら256colorになりました。
ただの興味で聞くんだけど
Vi Improved Vim 完全バイブル
ISBN: 4-7741-2018-9
ってさ、under the Open Publication License なの?
Esc と Ctrl-C と Ctrl-[
ではどれ使う?
俺は Ctrl-C だけど bash と相性悪いので
Ctrl-[ にしようか考え中。
Esc は遠いので論外。
俺は Ctrl-C だけど bash と相性悪いので
zsh にしようか考え中。
bash はショボいので論外。
221 :
名無しさん@お腹いっぱい。:2006/08/08(火) 05:17:17
普段使わないキーにEsc割り振ってる
223 :
名無しさん@お腹いっぱい。:2006/08/08(火) 05:28:45
NFERに割り当てたい!
C-CとESC,C-[は挙動が違うので注意。
俺も最近までEscでコマンドラインをキャンセルしてたけど
オリジナルのviではEscは実行、C-cでキャンセルだと知って
C-cを使うようにした。
vimだと、括弧だけを先に入力して戻って中身書くの面倒じゃない?
ナニとクラべて
imapつかえ馬鹿
map! ^B ^[i
ぐらい入れておいて、()^B とかするんじゃないの?
m9(^Д^)
に見えた
Vim7のタブ機能を試してみますた。
分割した各ウィンドウの中にタブを持てるのかと思ってたら、
タブは画面分割よりも上位の概念なのね。
これだとタブっていうよりは複数ワークスペースって感じで、
これはこれで便利そうだけど、ちょっと期待外れかも。
# これなら今までscreen併用でやってたのと変わらんなあ、と
一つ小技を発見。
:tabe %
で現在の窓をタブ化すれば、確実に復元可能な:onlyとして使えるね。
Rubyのスクリプトを書いているんですが、
シンタックスハイライトが下の方に行くと効いていない事があります。
上からスクロールさせていけばとりあえずは直るのですが・・・
これは解決方法等ありますか?
moduleのendなんかはよく普通の文字色になってしまってます。
CTRL-L で再描画する。または
:let ruby_minlines = 100
という感じで大きな値を設定する。
236 :
234:2006/08/12(土) 19:23:54
>>235 ありがとうございます。
Ctrl-Lは駄目でした。
ruby_minlines=300くらいで出来ましたがかなり重くなりますね・・
:let ruby_no_expensive = 1
軽いのがいいならこっちのほうがいいんでない
>>236 >ruby_minlines=300くらいで出来ましたがかなり重くなりますね・・
let ruby_no_expensive=1
にすると、負担が減ります。
ただし、 class/module/def と end の対応が消えますが。
239 :
234:2006/08/12(土) 21:58:05
>>237 >>238 def対応がきえるのは困りますね。
そこそこに設定しておいてスクロールすることにします。
vim7 になって highlight の DiffText とかで元のテキストに対して
背景色だけ変えられるようになったし、デフォルトでもそうなってますね。
で、元のテキストの前景色とかぶると当然文字が読めません。
色数の少ない cterm では背景色をかぶらない色にするのも難しいわけですが、
cterm でこの新機能を活かしている人って居ます?
vim6 みたいに前景色も固定にするのが最善ですかね。
もともとctermでdiffはきつかったからねえ。
>vim6 みたいに前景色も固定にするのが最善ですかね。
俺はそうします。
shebang(笑)
香り屋さんの7.0を使ってます。
:find や :h を常に新しいタブで開くというような事は可能ですか?
>>243 :helpはないですが:findには:sfindがありますよ。
タブなら:tabfindですな。
>>244の方法ならこうか。
cabbrev h <C-r>=(getcmdtype()==':'&&getcmdpos()==1 ? 'tab h' : 'h')<CR>
あ、行番号の表示幅がちゃんと最適化されてる
細々と改良してあるなー7
pythonのドキュメントに、vim使いはスクリプトに
# vim:fileencoding=<encoding-name>
と書いて文字コードを指定しろって書いてあるけど
ちゃんとわかってて言ってんのかな
つか、今からでもいいからそれで指定できるようにしてほすい。。。
#: one/dayomon.h:117
の上でgfや<C-W>fなどとするとdayomon.hを開いてくれますが、
この時最初から117行目にカーソルが来るようには出来ますか?
:h gf
一発で解決しますた。吊ってきます
>>254 一応 :he gF このわずかな違いで???ということもあるかも。
インプットメソッドのサポートが今より改善される予定はありますか?
見込み薄
>>256 具体的にどう改善されて欲しいか、がないと確かに見込みは薄いです。
横レスながら
uim-skk + gvim/gtk2 で自動補完の表示がおかしくなっちゃうのとか
細かく言えばいくつかあるけど、せめてon/offをコントロールできるようにして欲しいな。
GTK_IM_MODULE=uim/scim だと普通に入力すらできん
それは君の環境がおかしいんだと思われ
日常的に使ってんの?
アンドゥが変になるから使い物にならないんだけど。
今試したら GTK_IM_MODULE=xim でもダメダメだな
IMを切り替えるたびに i_CTRL-G_u が実行される感じ
こんだけひどいとオレんとこだけかもって気がしてきた。
アンドゥ破壊はプリエディット時のカーソル移動が原因。
>>249,
>>251-252 現在、まっつんさんが頑張って折衝してくれています。うまく行けば7.1では正式に
取り込まれます。KaoriYa版には先行して取り込む予定です。
おぉ、言ってみるもんだな。ありがとうございます。
GTK_IM_MODULE=uimでやってみたら、ひらがな入力は問題なくできるけど
漢字変換すると変換した文字列が3個入力されておかしくなるね。
gvim使ってないんで、こんなことになってるとはちっとも知らなかった。
ほんとうに久しぶりにLinux(FC5)でgvim(7.0)コンパイルしてみました。
GTK_IM_MODULEはscimでanthyに繋がったみたいです。
…確かにこれは良くないですねぇ。
それって、「頭」を入力すると「頭頭頭」になるってことですか?
まとめると…
虫φ(゚ヮ゚*)
↓
蟲φ(゚∀゚;)
そいつは…蟲の仕業ですな
とかいう流れは禁止の方向で。
入力効率3倍(当社比)、究極のエディタ・Vim。
シャア専(ry
276 :
268:2006/08/26(土) 11:09:05
>>270 ちょっと試した限り、入力・アンドゥ・リドゥ全て
正しくできるようになったみたいです。
ここにはWin使いしかいないんか
誤爆だよもん?
279 :
124:2006/08/27(日) 17:41:57
遅レスですが解決しました。
gdb -p PID /xxx/vim
のようにPIDに加えて実行ファイルの絶対パスをつければいいようです。
しかし
>>125のgoogleで下から3番目に出てくるページはいったい…
gvim でインサートモード中に C-F, C-B でカーソル移動したいんですが、
どういう風に書いたらできますか?
inoremap <C-F> なんとか
と書いたらいいと思うんですが、
カーソルをどう表現するのかわかりませんでした。
>>280 <Up> <Down> <Left> <Right>
282 :
280:2006/08/28(月) 22:52:56
>>281 どうもありがとうございます。
inoremap <C-F> <Right> で望みどおりの動きになりました。
<Up> <Up> <Down> <Down> <Left> <Right> <Left> <Right> <B> <A>
しかし自爆する
自慰でしょーが
過去ログをつらつらと眺めていて見つけた小ネタ
:w で ++enc を指定できる。ずっとできないと思ってた。
:w ++enc=utf-8 file
xpm (画像) ファイルを gvim で開くとカラー表示してくれる。
アイコンエディタとか作れそうだなぁ。
:w ++enc=utf-8 file
これやったあとに:eで読み直さなくちゃならないんだよな。
別名で保存するときも:w filenameの後に:eするか
わざわざ:saveasなんていうコマンド用意してるし。
実に腐った仕様だ。
> これやったあとに:eで読み直さなくちゃならないんだよな。
:setl fenc=enc nomod だけでいいでしょ。:e ++enc の意味ないけど。
saveasは普通だと思うけど、:w ++encでfencを設定してくれないのは不便ね。
なんか理由があってこんな仕様にしてるってわけじゃないと思うけど。
あと :w [++opt] がundocumentedなのもいやん。
以前KoRoNさんがVS2003用に作ったVisVimですが、VS2005でも同様に使えるのでしょうか?
また、VisVimNET-20021210とVisVimNET-20040706の違いは何でしょうか?
>>289 > 以前KoRoNさんがVS2003用に作ったVisVimですが、VS2005でも同様に使えるのでしょうか?
ソースからコンパイルしてみてください。動くとは思いますが、動かなかったとして
も修正は簡単でしょう。
> また、VisVimNET-20021210とVisVimNET-20040706の違いは何でしょうか?
.NET用と.NET2003用だったと思いますが詳細は忘れました。diffとってください。
@:って前回のexコマンドを再入力するだけで、
最後のエンターを入れて実行まではしてくれないんだっけ?
前からこうだったっけか。
ん?普通に実行するけど@7.0.039
cnoremap <C-j> <C-z>
というマッピングのせいだった。
うわ@:ってしらんかった。
便利だ・・
ステータスラインのフォント幅ってどうやって変更するの?
太字になってるのを普通にしたいんだけど。
KoRoN 氏のところで vim7 が表からリンクされたね
これは vim6 と同等のレベルまで持って来れたと考えていいのかしら
>>296 ×同等のレベル
○段々と使うようになったのでダメなところは直すつもり
こんな感じです。不具合があったら言ってください。
Vim 6.4 差分パッケージ キボンヌ
間違えた
Vim 7.0 差分パッケージ キボンヌ
>>297 そうでしたか
使うようになると修正は早くなりそうですね
何かあったら報告させていただきます
あんまり重要じゃ無いとこならスペルチャック有効のメニューが二つあるとかでしょうかね
スペルチャックワロス
おにーさん、スペルチャックが開いてますよ
対象括弧にカーソルを合わせると、対応する括弧の部分にもう一つのカーソル?が点滅するような設定は可能でしょうか?
emacsではその設定をしているのですが、gvimの設定は検索してもヒットしません。
ぜひご教授ください。
■ひご教授ください。
e e r 示
windowsでgvimを使ってます。
consolasをMSゴシックとfontlinkすると日本語フォントまでクリアタイプの影響を受けるんだけど。
こういうものなのかな?
それってgVimの質問なのか
確かに、vimに関する質問では無いね。
gvimでfontlinkを使用している人がいるなら、何か分かるかなと思ってさ。
失礼しました。
gvim7.exeを起動させると、
「You must restart Vim in order for the regstration to take effect.」
ってメッセージが出て起動しないんだけど、なんか知ってる?
>>309 OLE登録のように見えますが、もう一度起動してみましたか?
311 :
名無しさん@お腹いっぱい。:2006/09/12(火) 03:40:14
C++でOmni補完をしてほしいのですがうまくできません
doc/omnicppcomplete.txtによると
MyClass myObject;
myObject.<C-X><C-O>
You should see class members of MyClass.
と書いてあって オブジェクト名+ピリオド+<C-X><C-O>でメンバ一覧がででくると書いてあるのですが
私の場合だと "パターンはみつかりませんでした" とでてしまいます
ただし MyCla<C-X><C-O> と入力するとコンストラクタの一覧が表示されました
ctagsに渡したオプションは
ctags --c++-kinds=+p --fields=+iaS --extra=+q ./myclass.hpp です
_gvimrcには下記を追記してあります
set nocp
filetype plugin on
set completeopt=menu
let OmniCpp_ShowScopeInAbbr = 1
let OmniCpp_MayCompleteScope = 1
下記のURLからダウンロードしたものをつかいました
OmniCppComplete (
ttp://www.vim.org/scripts/script.php?script_id=1520 ctags (
ttp://hp.vector.co.jp/authors/VA025040/ctags/
ファイル内の箇条書きの番号
1. 2. 3. … を、(1) (2) (3) …
に変更したいのですが、うまく置換できる方法はないでしょうか。
>>312 正規表現を用いて置換する方法:
:%s/\([0-9]\+\)\./(\1)/
>>313 ありがとうございます。
やってみます。
>>310 OLEの登録で「はい」を押して「Registered successfully」って出て
「OK」を押すと、このメッセージが出る。
家のXPだとメッセージは出らずに起動するんだけど...
Windows2000じゃだめなのかな...
>>315 以前Vim6をインストールしてあったマシンでは出ずに、してなかったマシンで出てい
るというような因果関係はないですかね?
Vim7だけをインストールするテストはしたことがないのです。
317 :
311:2006/09/12(火) 21:29:53
call omni#cpp#complete#Init()
をftplugin/cpp.vimの最後に追加したらできました
ドキュメントのInstallationの項目にはそんなこと書いてなkったんだよな〜ブツブツ
>>316 レストンクス
初めてVimを使うので、Vim6との因果関係はなさそうです。
もうちょい、いじってみます。
>>318 あとはAdmin権限がなくてレジストリが書けてない、とか?
>>317 omnicppcomplete/after/ftplugin/cpp.vim で初期化してるよいちおう
このへんの仕組はややこしいな
imap <C-j> <C-[>
でEscの代わりにC-jで挿入モードからコマンドモードに戻れるようになる。
imapなんて知らんかった。マイナーなコマンドが結構あるもんだね
imap は常識のレベルだぞ。
もっとマイナーなコマンドがいくらもある。
>>321 そういう割り振りしてるけど
問題とかないのかなぁと不安
役に立つマイナーなコマンド教えて下さいおねがいします!
>>324 :h index
今これを見て、バッファをexコマンドとして実行するにはヤンクして
:@"でいいことを知ったよ。
<C-P>, <C-N> の補完機能で質問です。
foo
Foo
とあったときに、 fo まで入力して <C-P>, <C-N> どっちをやっても
Foo のほうしか候補に表示されません。
foo/Foo の順番を入れ替えると、foo のみが候補に表示されます。
一方で 6.4 で試すと foo, Foo の両方が表示されます。
これは 7系列のバグなんでしょうか?
それとも、 case insensitive に候補を表示させるオプションが
あるのでしょうか?
よろしくお願いします。
ちなみに vim は 7.0(1-101)適用済みで試しました。
パッチなしの7.0だと両方表示されますなあ。
vim -u NONE -U NONEでやってみた?
vimって何でこんなに素晴らしいんですか?
成分の半分が、優しさでないものでできてるから
>>326 7.0.068 で埋め込まれたバグみたいやね
>>327 うむ。
試したけど、片方しか表示されない。
>>332 投げるのは任せた
--- edit.c.origFri Sep 15 02:52:57 2006
+++ edit.cFri Sep 15 02:55:37 2006
@@ -2156,10 +2156,16 @@
match = compl_first_match;
do
{
+ int icase_save = match->cp_icase;
+ match->cp_icase = FALSE; /* always compare with foldcase. */
if ( !(match->cp_flags & ORIGINAL_TEXT)
&& ins_compl_equal(match, str, len)
&& match->cp_str[len] == NUL)
+ {
+match->cp_icase = icase_save;
return NOTDONE;
+ }
+ match->cp_icase = icase_save;
match = match->cp_next;
} while (match != NULL && match != compl_first_match);
}
コメントミスだ
- /* always compare with foldcase. */
+ /* always compare with case sensitive */
あーごめん。もっと単純でいいのか orz
--- edit.c.origFri Sep 15 02:52:57 2006
+++ edit.cFri Sep 15 03:07:04 2006
@@ -2157,7 +2157,7 @@
do
{
if ( !(match->cp_flags & ORIGINAL_TEXT)
- && ins_compl_equal(match, str, len)
+ && STRNCMP(match->cp_str, str, (size_t)len) == 0
&& match->cp_str[len] == NUL)
return NOTDONE;
match = match->cp_next;
>>306 もう見てないかも知れないけど、漏れのとこではConsolasにMSゴシックをfontlinkして
guifont=Consolas:h8:cSHIFTJIS
で英字がConsolas/Clear Type、日本語がMSゴシック/ビットマップフォントになってる。
ちなみにh9にすると日本語もビットマップじゃなくなる。
Consolasの8ptとMSゴシックの9ptで大きさが釣り合うっぽい。
スレ違いスマソ。
337 :
306:2006/09/15(金) 21:46:35
>>336 さっそく8ptにします。
ありがとうございました。
:'<,'>normal! $ciwvim
範囲指定とnormalの組合せは便利なわりにけっこう盲点かも。
339 :
名無しさん@お腹いっぱい。:2006/09/16(土) 09:49:27
正規表現にマッチする行をデリートするコマンドお願いします
:g/339/del
341 :
339:2006/09/16(土) 10:18:26
消されたのでお礼が言えません
:"a339
:qa!
project.vim の grep(\g) って動きます?
vim6 in win で動かなかってんでちょっと聞いてるだけなんですが。
UNIX でコンソールなみなさん、日本語入力はどうしてますか?
あたしはカンナ+キムプットだよ
それコンソールで入力できるのか?
定番はuim-fepだろな。
一括置換をするときにy/nで確認しながらやることって出来ますか?
:%s/foo/baa/gc
351 :
345:2006/09/20(水) 22:40:06
みなさん、様々な御意見ありがとうございました。やはり uim-fep 一択でしょうか。
さらに質問なのですが、
Vim7 で UNIX でコンソールで生活している方がいらっしゃったら、
日本語入力をどうしているか、おすすめの日本語入力法を教えてください。
uim+anthy+mlterm
それコンソールで入力で(ry
vimに限ればskk.vimとかもあるよ
そういう用途もあったか
Vim7つかってみた
頻繁に使ってたVisualModeからのBlockInsertとBlockAppendが使えなくて悲しくなった。
C-cの代わりにescでVisualModeから抜けたらVim6と同じ挙動をした。
esc押すの遠いしラグがあるから好きじゃないなぁ
なんか工夫している方います?
im_custom どうなったの?
FocusGained イベントに setlocal cursorline をした状態で、他のウィンドウ
にフォーカスがあるとき、gvim のクライアント領域をクリックすると
なぜかビジュアルモードに移行するのは俺だけか?
# Kaoriya版 gvim7
vim7 で
vim --cmd 'so .vim/plugin/ambsearch.vim'
ってやるとすんごい起動に負荷がかかって、
これは ambsearch で default 以外を使うように
設定してるときも同様なんだけど、
ambsearch で default 以外を使ってる方はどうしてます?
361 :
360:2006/09/23(土) 02:15:43
default 以外ってのは
~/.vim/plugin/ambsearch/katakana.vim
とかを使うときのことです。
タブの字下げを見えるようにする機能ありませんかね?
365 :
362:2006/09/23(土) 17:22:02
366 :
名無しさん@お腹いっぱい。:2006/09/24(日) 22:09:59
set incsearchで検索して複数ヒットしたとき、
次のヒットに移動するにはどうすればいいでしょう。
(普通の検索でのnキーみたいな感じ)
n
nキーで移動できました。失礼しました。
vimrcで何らかの設定ミスをしていたようです。
わろた
incsearchは入力中サーチだぞw
各言語のメソッドなどの入力補填をしたいのですが、synthaxディレクトリのタイプ別設定しているキーワードから
何とかして入力補填とかできないでしょうか?
イメージではeclipse見たいな感じです。
vim6とvim7の大きな機能追加はなんですか?
:h new-7
:setlocal omnifunc=syntaxcomplete#Complete
そして CTRL-X CTRL-O
:help ft-syntax-omni
な…
_, ,_ なんなんですか?
:.(;゚д゚):. ここ、どこですか?
:.レV):. なんであたし
:.<<:. 釣られたんですか??
>>376 そう。...7はまだ普及してないのかぁ.oO
半角カタカナが書かれているファイルをjvimで開いたら全角カタカナになってしまた。
回避方法求ム
:g/検索したい文字/ で検索文字を表示できますが
HITした件数を取得することはできるでしょうか?
:%s/検索したい文字だよもん/&/g
>>379 Vim6 Part3 より
379 名前: 名無しさん@お腹いっぱい 投稿日: 02/06/01 10:51
jvim は 半角カタカナを全角に直してくれるんですが、
これを無効にするにはどうしたらいいでしょうか?
380 名前: 名無しさん@お腹いっぱい。 投稿日: 02/06/01 11:01
>>379 ちとスレ違い。
set nojkanaconv
ねらったとしたらすごい
379=382だから別に凄くはないのであった
どの辺が凄いのかkwsk
jvimスレは建ってないからこっちにくるのは至極当然
レス番が一致してることじゃ
4年前のレスに言われましても
vim7でCのソースを編集している時に、^N、^Pで補完をすると、
#includeで指定したファイルの中も調べてくれますが、その時に
/usr/X11R6/include/をヘッダファイルの検索パスに入れるにはどうすればいいですか。
>>387 :help 'path'
多分こんな感じです。
:set path+=/usr/X11R6/include
>>388 まさにそれで出来ました。ありがとうございました。
BOFの録音聞いたけどなに言ってるかわかんねー!
ぼふっ
vim7 は補完リスト表示しない設定にしても一回全部探しに行っちゃうね
これは正直辛い
バージョンアップ続けてきたけど俺の旅はここで終わったかも
スクリプトとかの重さはマシンのスペック向上で解消するけど
補完はHDD読みに逝くからスペック上げても解消しないんだよね。
なんかうまい方法はないものか。
頭の中で補完汁。
>>392 リスト表示とパス設定は意味が違う気がするんだ
だから表示しない設定にした時はパスを探しに逝かないでって話でしょ。
パスそのものを空にするのとは話が違う。
もっとも、補完の問題はそれくらいじゃ到底根治はしないけど。
そんな突き放した物言いじゃせっかくの不満がもったいない。
で、出たナぱっちまん!
>>395 ちょっと解りにくかったね
vim7で<C-P>とかで補完するとバッファやパス設定のファイル、tagsファイルなどを読み込んでリストを作ろうとする
で、補完自体は非同期なのでファイルを読み込み中でもちゃんとヒットしたものを表示するしその間<C-P>も<C-N>もちゃんと使える
でも何故か<ESC>だけがファイルを読み込み終わらないと効かない
なのでせっかく補完は終了しているのにインサートモードから抜けられなかったりする
リストを表示しない設定なら最初に全部読み込む必要もないと思うんだけどどうやら関係ないみたい
ctagsのソースファイルを20くらいバッファに読み込んでインサートモードに入った後すぐ<C-P>すると再現できるかな
ちなみにvim6だと一瞬で終わります
補完と言えばあれだ、'complete'にユーザー定義補完とオムニ補完のフラグがないのが不便。
あ、vim7では
:.!hoge<Tab>
とやってもファイル名補完にならなくなったんですね
賢くなったような、不便になったような…
現在編集中のファイルのディレクトリに cd するにはどうしたらいいですか?
.vimrcに
com! CD cd %:p:h
とか書いとくといいよ
404 :
402:2006/10/06(金) 06:05:10
すばらしいです。
とても快適になりました。ありがとう。
%s/xxx/\=line('.')/ でxxxに行番号を挿入することができますが。
%s/xxx/here: \=line('.')/ とやると行番号が挿入されません。
\=式 は、/直後に書かないと評価されないのでしょうか?
yup
%s/xxx/\="here: " . line('.')/
:h sub-replace-expression
vbscriptのincludeは
<!--#include file="hoge.inc" --> なんですが、
c以外のヘッダファイルからの保管は可能でしょうか?
>>399 タグをスキャン中・・・って出るときにESC割り込みかけたいってこと?
俺のできてるけど
>>408 :set include=#include\\s\\+file
:checkpath! でインクルードしているファイルを確認。
:h include-search
今いるbufferのみ有効な変数って使用できますか?
buffer1で「let a = "1"」を、buffer2で「let a = "2"」を、定義し、
buffer1にいけば「a」は「1」で、buffer2にいけば「a」は「2」で、またbuffer1にいけば「a」は「1」で・・・
とbuffer用の変数が使いたいです。
ウィンドウ間のカーソル移動 *window-move-cursor* を調べましたが、
指定したバッファへ移動ができません。
どうすればよいでしょうか?
414 :
357:2006/10/06(金) 20:57:14
>>332,333
採用されて公式パッチ出ました。
>>356 それはそういうもんだみたいなことを言ってました。
escのラグが気になるということなので、
ttimeoutlenに小さい値を設定すればましになると思います。
そんでもってescの代わりに CTRL-[ を…。
>>413 :b バッファ名のカケラ/バッファ番号
という話ではなければ
" 名前で指定の場合。バッファ番号指定の場合は bufname(arg)で。てか関数にしろよ
com! -complete=buffer -nargs=1 HOE if bufwinnr(<q-args>) != -1 |
\ exe bufwinnr(<q-args>).':wincmd w' |
\ elseif bufnr(<q-args>) != -1 |
\ exe ':hide :b '.<q-args> |
\ else |
\ echo 'HoeHoe' |
\ endif
みたいのとか。
>>409 タグは出来るけどバッファとインクルードファイル読み中はは抜けられないっぽい
インサートモードに入ってから一文字も打たないで <C-P> するとなる
ctags のソースファイルを大きい順に 20 ぐらい読んでから確認できるはず
417 :
名無しさん@お腹いっぱい。:2006/10/08(日) 00:00:40
:echo match('foo','foo$\M')
が0になって
:echo match('foo','foo$\V')
は-1になるのはなんで?
unlet! b:current_syntax
syntax include @C $VIMRUNTIME/syntax/c.vim
syntax region Code start=/<code lang="c">/ms=e+1 end=/<\/code>/me=s-1 contains=@C
unlet! b:current_syntax
syntax include @Python $VIMRUNTIME/syntax/python.vim
syntax region Code start=/<code lang="python">/ms=e+1 end=/<\/code>/me=s-1 contains=@Python
let b:current_syntax = "mymemo"
↑こういうシンタックスファイルを作って、そんでメモの中で
<code lang="c">
// hogehoge
</code>
<code lang="python">
# fugafuga
</code>
とか書くとそれぞれちゃんと強調表示してくれる。
syn-include マジ強力。鼻血出そう。
ウィンドウズ版で、ウィンドウズの入力部品つき画面を出して、そこから値を取得することはできますか?
>>415 すいません。難しくて理解できません。もうしわけないです。
421 :
名無しさん@お腹いっぱい。:2006/10/08(日) 02:16:53
Vim7をMac OS 10.3.9のターミナルから使っていると、たまに文字が消えます。
具体的にはEUC-JPで、
ほaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaげ
と一行で入力すると、「ほ」と「げ」間のaがすべて消えてしまいます。
うまいこと対処する方法はありますでしょうか?
Vimというよりも、ターミナルの問題かもしれませんが。
>>413 ヘルプファイルwindows.txt の *:buffers* 以下を参照しる。
>>360 ambsearch.vim 255行目の
let g:ambsearch_for_{key} = substitute(curstr, '^.', '', '')
で g:ambsearch_for_{key} の key を毎回変えて変数を設定するとこで
時間がかかってるみたい。
これ plugin ディレクトリから読むタイミングだと別段時間かからないんだよね。
それより前の .vimrc 読むタイミングだと何故か異常に時間かかるけど。
なんでかね。
vim7でambsearch使うとf押した後カーソルが消えるんだよね
これってしょうがないんだろうか
>>421 うちも同じ症状で悩んでいる。
日本語が混じると折り返しがうまくいかないらしいんだよな。
lv で表示させると問題ないからターミナルのせいではないと思う。
どうでもいいバグだけれど〜
:h
<c-w>1_
<c-w>H
<c-d>
<c-d>
<c-d>
<c-d>
文字コードを変えつつファイルを読みなおすにはどうしたらいいですか?
:e ++enc=
>428
あらほんと
433 :
421:2006/10/09(月) 21:08:46
>>427 いろいろと試していたら、
$TERMをターミナル標準のxterm-colorから、
ansiに変えると直りました(setenv $TERM ansi)。
が、それだとカラー表示ができなくなります。
で、/etc/termcap(FreeBSD6.1上のvimをMacから使っています)を眺めていたら、
cons43というのがあったから、試しにそれを設定してみるとカラー表示になりました。
しかしながら、lessの挙動が変になったりするので、ほかの弊害が出そうです。
いずれにしても、仮想端末とvimの相性問題らしいです。
434 :
421:2006/10/09(月) 21:13:54
setenv TERM ansiの間違いでした(cshの場合)
435 :
421:2006/10/09(月) 23:22:52
さらに追記。
Mac 0S 10.3にFinkでvim6.3を入れた場合、
$TERMをansiにすればカラー表示もOKでした。
FreeBSD 6.1上のvim7をMacのターミナルから使う場合、
$TERMをmvtermにすると、なんとなくいい感じに動作しています。
自分でtermcapを書くのがベストだと思いますが。
436 :
427:2006/10/09(月) 23:31:54
>>433 情報ありがと
TERM=ansi vim
でいけました。
今まではターミナルのウインドウの横幅を広げたり
:set nowrap で折り返しを無効化したりしてしのいでましたよ。
独自アプリ用のTCPIPの10000番ポートに"REQUIRE XXX"を送信して、
全てのレスポンスを取得する(文字列100バイトほど)ことってvimのスクリプトで実現できるでしょうか・
if_*でも外部プログラムでもいいけど
普通の言語使ったほうがシアワセじゃないか
>>399 もしかして tags とか path に /** 的なもの入れてる?
だとしても <C-P> と <C-N> が使えて <Esc> だけ使えないはよくわかんないな
Vim使いのレベル10
Lv1 emacsを終了できずにコンピュータをリセットした。
Lv2 viに挑戦。こんどは参考書を見ながらだからだいじょうぶ。:q。うむ。
Lv3 hjkliaで編集できる。でもjとkはときどき間違える。ESCでビープ音確認しないと不安。
Lv4 自分が使っているのはvimだと気づく。チュートリアルに挑戦しレベルアップ。
Lv5 cwとかddとか最高。.vimrcに手を入れ始める。休日が潰れた。文字コードのバカヤロウ。
Lv6 マクロ(:map)を2,3個作った。Vimスクリプトはよく分からない。emacs vs vi に初参戦。
Lv7 分からないことは :help で解決できる。ジャンプしまくり。たまに遭難。
Lv8 お気に入りのプラグインがある。自分でもちょっとしたスクリプトを書いている。
Lv9 自作プラグインを公開した。気づくとウィンドウが10個くらい分割している。
Lv10 googleに就職。
9と10にえらい懸隔があるような気もする
qaで割り当てたマクロの内容を確認することはできますか。
感じとしては、nnoremap a見たいにタイピングした内容を見たいです。
>>444 :reg a
マクロの中身は普通のレジスタです。"apで貼り付けることもできます。
>>443 9.1〜9.9くらいの間に素晴らしいプラグインを沢山書いているに違いない
ウインドウ10分割って使いやすいか?
ノートパソコンユーザの俺は4分割くらいが限界.7 のタブには結構助けられてる.
マルチラインモードの検索で、改行じゃない文字はどう指定すればいいですか?
[^M]や[<CR>]としてもだめでした。
\r とか?
コマンドの入力途中で 「^R/」 で最後の検索文字を補填できますが、
履歴をたどることはできるでしょうか。
「/」で上下キーを押して、検索履歴を見れる感じで、コマンドの途中でも補填できればと。。。
>>450 /を押した後に<C-P>で履歴が表示されます。一覧から選びたい場合は、さらに<C-F>
を押してください。
> コマンドの入力途中で
という質問だから
/でなく:を押した後と思われるので
それでは解決にならないような気もいたしますです
>>452 なるほど。では
<C-R>=histget('/', -2)
こんな感じですかね。一覧表示はできませんが。
>>453 ありがとうございます。
ちなみに、
:xxxxxxxxxxxxx を入力した後に、<C-U>でキルできますが、これをコピーバッファに入れることは可能でしょうか?
cmapをつかって、
入力途中コピーしてクリア → searchのヒストリー表示 → 番号入力 → コマンドの入力途中貼り付け → 選択バッファ貼り付け
のマクロが組めそうな感じがして。
そんな面倒なことしなくても <C-R>= と input() または inputlist() の組合せで普通に補完できるお
>>455 <C-R>=と inputlist() はvim7の機能ですか?
>>456 すいません。<C-R>=はありました。
ちなみにヘルプの見方は、「h <C-R>=」じゃだめですか?
:h ^R=
ってやるといいよ。^Rはそのまま打ってもいいし<C-V><C-R>ってやってもいい。
>>456 うん。あとたぶん input の補完機能も vim7 から。
:h <C-R> はできないんだな。不便。
ちょっと貼ってみる
:func! MyKbdLineDiscardCMD()
: let string = getcmdline()
: let column = getcmdpos()
: call setreg('"', matchstr(string, '^.*\%'.column.'c'),'c' )
: call setcmdpos(0)
: return matchstr(string, '\%>'.(column - 1).'c.*')
:endfunc
:cnoremap <C-u> <C-\>e MyKbdLineDiscardCMD()<CR>
:cnoremap <C-y> <C-r>"
コマンドライン入力中に、Ctrl-Cして、ノーマルモードで q: しる。
vimにScratchというコマンドがありますが、縦分割することは可能でしょうか?
Tlistのように左側に縦分割(複数の横分割ウィンドウがある場合、全てのウィンドウの横(一番横?))に空バッファを作りたいのですが。
>>462 :to vnew! Scratch
:set bt=nofile
Windowsでvim7を使用しています。
[Ctrl]+[x]−[Ctrl]+[k]を押して補完する際に
表示される小窓の色味を変えるにはどうすればよいでしょうか。
hl-Pmenu群かと思ったのですが、どうもそうではないようで・・・。
>>464 after/plugin/ に仕込まないとダメみたい、うちではこんな感じでやってる。
cat ~/.vim/after/plugin/pmenu.color.vim
hi Pmenu ctermfg=black ctermbg=white
hi PmenuSel ctermfg=blue ctermbg=white
hi PmenuSbar ctermbg=blue
>>463 ありがとうございます。
幅サイズは設定できるでしょうか。
縦サイズの説明しか見当たらなかったです。vim6です。
>>465 ありがとうございます。
提示していただいた3行を記述したpmenu.color.vimを作り、Windowsなので、
~/vimfiles/after/plugin/
に置いてみたのだけれど、効果はありませんでした。
scriptnamesで見ると、読み込まれています。
そこで、
%s/cterm/gui/g
して再度試みたのですが、これもダメ。
「pmenu.color.vim」というファイル名を「pmenucolor.vim」としてもダメ。
あとはどんな手がありますでしょうか。
>>465 できてるならなんでもいいんだけど、いちおう…
Q. 色をちょっとだけ変更するには?
a. vimrcに直書き
色の設定は:colorschemeを実行したときに一回全部クリアされるので
:colorschemeの後で:hiを設定する必要がある
:colorscheme hoge
:hi Pmenu ...
b. オートコマンドを使う(vim7)
これは:colorschemeで色を変更した後に実行される
:autocmd ColorScheme * :hi Pmenu ...
c. カラースキームファイルを作成する
(本格的に作るなら$VIMRUNTIME/colors/README.txt及び既存のカラースキームを参考にしてね)
~/vimfiles/colors/mine.vim
:runtime colors/ベースにするカラースキーム.vim
:hi Pmenu ...
~/_vimrc
:colorscheme mine
>>467 vimを起動した状態で
:hi Pmenu guifg=black guibg=white
とかで色変わる?
っていうか、読み込まれる順番がvimrc->plugin->gvimrcなので
gvimrcでcolorschemeを設定してる場合はpluginに入れる方法は使えないと思う。
>>468 ありがとうございます!!
> c. カラースキームファイルを作成する
の方法で解決しました。
>>469 >>470 ありがとうございます。
読み込まれる順番がよくわかっていませんでした。
いろいろお手数をおかけしました。
>>442 > Lv9 自作プラグインを公開した。気づくとウィンドウが10個くらい分割している。
> Lv10 googleに就職。
~の下のplugin,ftplugin,syntax合わせて.vimファイルが120個くらいあるよ…
うち100個くらいが自作
2chで公開したこともあればChaliceのパッチに採用されたこともあるな
でも窓を分割してもせいぜい3〜4個だし、googleは無理ぽ
vim的には「設定ファイルがなくても変わらず仕事ができる」とかのほうが強そうw
Windowsなのですが、カーソル下の単語をGoogle検索するのって簡単に出来ますか?
IEが立ち上がってGoogleの検索結果画面が出てくるような感じ。
カーソル下の単語ではなく選択されている文字列検索でもいいです。
KaoriYa版Vim6かKaoriYa版Vim7で。
FreeBSDだからそのものズバリの答えは出せないけど、
たぶんalice.vim使えば簡単にやれるんじゃないかな
ウィンドウ位置を覚えて、そこに戻る関数を作ったのですがうまくいきません。
アドバイスをお願いします。
function! SavaPosition()
let w:col = col('.')
let w:line = line('.')
normal H
let w:higtline = line('.')
let w:back = w:line - w:higtline
endfunction
function! ReturnPosition()
normal gg
execute "normal " . w:higtline . "j"
normal z<CR>
execute "normal " . w:back . "j"
execute "normal 0" . w:col . "l"
endfunction
>>447 これでどうか。:normal では<CR>記法は使えないので、:exe と
組み合わせる必要がある。
function! SavaPosition()
let w:col = col('.')
let w:line = line('.')
normal! H
let w:higtline = line('.')
let w:back = w:line - w:higtline
endfunction
function! ReturnPosition()
execute "normal! " . w:higtline . "G"
execute "normal! z\<CR>"
execute "normal! " . w:line . "G"
execute "normal! " . w:col . "|"
endfunction
マクロを組むときにちょこちょこっとしたものを簡単にするため、
ファイル中の指定文字をカンマ区切りで連結するスクリプトを作りました。
ソース中のインクルードファイルを連結
:silent call JoinTarget('include', '.*include.*?"([^"]*)".*', '\1', ',')
function! JoinTarget(target, match, replace, join)
let nowMatch = @/
redir @a
execute "silent G/" . a:target . "/p"
redir end
Scratch
normal "ap
g/^$/d
execute "%S/". a:match . "/" . a:replace . "/"
% j
execute "%S/ /" . a:join . "/g"
normal gg0y$
normal c
let @/ = nowMatch
endfunction
もっと簡単な方法ありますかね?
482 :
名無しさん@Vim%Chalice:2006/10/14(土) 23:43:09
貼り付けする際に常に引用符を付ける
引用つきコピーがしたい...
>>...
>>...
とするような設定って簡単に出来ないでしょうか?
このために他のエディタ立ち上げてるorz
vim内で完結したいです。
可変長の引数が可能ですが、引数取り出しの扱いがわかりません。
function! AllRead(...)
while args
r args
endwhile
endfunction
どうすればいいでしょうか?
>>482 これを1つのコマンドにでもしておくべし。
:put
:'[,']s/^/>>/
http://vimwiki.net/?tips%2F7 >>483 a:0 が引数の個数で、a:1, a:2 ... で引数にアクセスできるらしい。
文字列にして連結するしかないのかな。
function! AllRead(...)
let i = 1
while i <= a:0
exe "echo a:" . i
let i = i + 1
endwhile
endfunction
Vim7 以降ならリストが使える。
function! AllRead2(...)
for i in a:000
echo i
endfor
endfunction
>>485 知らんかった。
:h curly-braces-names
ですな。
488 :
名無しさん@Vim%Chalice:2006/10/15(日) 14:58:33
ユーザー定義コマンドで
:command! Htmldump -nargs=* %!w3m -dump -cols 60
urlだけあとで:htmldump '
http://pc8.2ch.net/test/read.cgi/unix/1008558940/'
としても余計な文字が...と云われて動いてくれません。
毎回打つのは辛いです。
%!w3m -dump -cols 60 -T text/html
%!lynx -dump -wifth=65 -foroce_html
ヒストリ広げればいいのかもしれないけど
決め打ちしてurlだけ後で拾いたいんですが無理でしょうか?
howmのそれがそんな感じだったんですが、howmじゃなくても常にそうしたいのですが
489 :
488:2006/10/15(日) 15:06:13
簡単には出来ないでしょうか?
難しい処理しないと無理なのかな...
すみません。引数を<q-args>で出来ました
>>466 幅を12にしたければこう。
:to 12vnew! Scratch
493 :
名無しさん@お腹いっぱい。:2006/10/16(月) 00:20:25
カレントデレクトリの*.cppと*.hppを:tabeで一気に全部開くことはできますか?
:tabe !ls | awk '/cpp|hpp/ {print}' を試したのですができませんでした
>>493 :argl
:args *.cpp *.hpp
:argdo tabe
:argg
とか
495 :
493:2006/10/16(月) 21:27:04
list試してみたけのだが怖いよ〜
:let l=[0]
:let l+=l
win版こんなんでフリーズするよ〜
<C-C>きかんよ〜
(;^ω^)…。
(#^ω^)…。
>>496 そういうのがほかにもあると思われます。
噂のメモリクリーニング機能搭載だな
無限fork?
grepした後に自動で最初のエントリにジャンプさせたくないのですが、
設定方法はありますか?
>>484 ありがとうございます。
vim6って、スクリプト内でリストも配列も使えないのですか?
Kaoriya版、pythonのバージョンが2.5に上がってるね。
>>503 vimgrep /{pattern}/[j] {file}
スクリプトの文字列で、「'」と「"」と共に入れたくて、
let val = 'xxx\'xx"xx' と書いたのですがエラーになってしまいました。
クオートはどうやればいいのでしょうか?
>>508 vim6はシングルクォート文字列に
シングルクォートを含めることはできない(はず)
let val = "xxx'xx\"xx"
let val = "xxx'".'xx"xx'
など
vim7なら
let val = 'xxx''xx"xx'
外部プログラム呼び出しにパイプ文字を含めるにはどうしたらよいでしょうか?
Windows/vim6環境で
例えば
!!echo "|"
とするとエラーが出てしまいます。
!echo "|"
なら大丈夫なのですが、結果をvimに取り込みたいので・・・。
>>504 使えないというよりは、概念が存在しません。Chaliceでは無理矢理リストっぽいも
のを作って使ってますけど。
>>505 ソフトウェア板をみたもので。
>>510 system()を使ってください。
:help system(
色を白黒だけにする最速の方法を教えてください
:nocolor
はあるべきだと、わしも思う。
syntaxなんちゃら等はvi的でねーべという意味で。
vim6を使ってますが、vim7への移行はどうすればよいでしょうか?
.vimrc.viminfo各プラグイン・マクロをvim7のそれに上書きすればOKですか?
スクリプト作成を考えるとvim7にしたほうがよさそうなので。配列リストも使えるようだし。
scrollの同期は取れますが、
内容が同じもののファイルを2つ開き、スクロール同期させ
片方が編集されたらもう片方の同じ行に同じ編集をさせることは可能でしょうか?
単純にあれば便利かなと。できれば差分モード以外で・・・
>>514 Winならvim.exeのあるフォルダを別名にリネームして、
Vim7のアーカイブを展開してできたフォルダを
さっきまでvim.exeのあったフォルダと同じ場所に
移動するのがてっとりばやいと思うけど。
.vimrc, .viminfo は上書きしちゃダメ。
vim7 に変えたら ambsearch で f を押すとカーソルが消えちゃうようになっちゃいました
これは仕方がないのでしょうか
ちょっとだけ使いにくい・・・
>>517 http://thread.gmane.org/gmane.editors.vim/42910/ このバグを 7.0.029 で修正したときの副作用だから
文句言えば直してくれるんじゃねーの
自前でカーソル表示もできるけど
--- ambsearch.vim.oldWed Oct 18 22:00:00 2006
+++ ambsearch.vimWed Oct 18 22:00:00 2006
@@ -161,7 +161,10 @@
let retval = s:JumpToChar(a:dir, s:last_char_{a:is_omap}, s:last_exclusive_{a:is_omap}, a:is_omap)
return retval
else
+ match Cursor /\%#/
+ redraw
let char = getchar()
+ match none
let s:last_char_{a:is_omap} = char
let s:last_dir_{a:is_omap} = a:dir
let s:last_exclusive_{a:is_omap} = a:exclusive
>>518 スクリプトまでありがとうございます
助かります
ほんとうは報告した方が良いんでしょうが英語とかダメでして・・・
英語力はほんとうに大切ですね
とほほ
520 :
名無しさん@お腹いっぱい。:2006/10/19(木) 21:08:12
つ<伝えようとする意志>
次の文を英訳せよ。(10点)
<伝えようとする意志>
ツマンネ
523 :
522:2006/10/21(土) 00:41:51
次の文を和訳せよ。(20点)
<<伝えようとする意志> の英訳>
love
dayomon
viで、10行分の空白をまとめて挿入する方法ってありますか?
10o
なるほど、そうやるのか
でも続けてそのまま入力したら最後にオチが付いたw
でも続けてそのまま入力したら最後にオチが付いたw
でも続けてそのまま入力したら最後にオチが付いたw
でも続けてそのまま入力したら最後にオチが付いたw
でも続けてそのまま入力したら最後にオチが付いたw
でも続けてそのまま入力したら最後にオチが付いたw
でも続けてそのまま入力したら最後にオチが付いたw
でも続けてそのまま入力したら最後にオチが付いたw
でも続けてそのまま入力したら最後にオチが付いたw
でも続けてそのまま入力したら最後にオチが付いたw
changelog みたいにファイルの頭にログを追記していくファイルで
O (Begin a new line above the cursor and insert text) を
よく使うんですが、
二行分まとめて一気に開けてインサートモードに入る方法ないですか?
emacs だと C-o を二回入力すればよかったのですが。
nnoremap <C-o> O<Esc>i
こんな感じのマップでも作っておいたら。
O<Esc>Oでないかい
insertモードに入ってからCR叩くのじゃダメなのかしら?
それだとこういう結果になるからダメなのでは
10o<Esc>でいいじゃん
そのままもっかいiとかaで入力再開始すれば
近くにあれば、コピーして10yとかな。
1ストロークを省く話をしているのに
悠長というか流れを嫁ないというか
無いものはしょうがない。
nnoremap <C-o> i<CR><C-o><C-h>
inoremap <C-o> <CR><C-o><C-h>
これを入れれば emacs と同じように <C-o> 連打して開けれるけどこれじゃダメ?
インデントあるから <C-h> じゃダメだった
:nnoremap <C-o> i<CR><UP><C-o>$
:inoremap <C-o> <CR><UP><C-o>$
たぶんこれでいけるんじゃないかと
540 :
529:2006/10/22(日) 21:01:01
いろいろありがとうございます。
2O みたいな方法でできないかと思って聞いたのですが
できなさそうですね。
normal mode での C-o はよく使うので
insert mode の C-o にだけに割りあてて使ってみます。
あんまり関係ないけど、Changes は、
!!date
で書き始めてる。もちろん、export LC_TIME=C で。
543 :
名無しさん@お腹いっぱい。:2006/10/26(木) 21:56:51
こんな関数書いてつかってます。
function Date()
let s:t_lang = v:lc_time
lan time en_US.UTF8
let s:date = strftime("%Y %b %d")
exe "normal a".s:date
exe "lan time ".s:t_lang
endfunc
これってなんて読むの?うちの先輩はviのことブイアイって読んでたんだけど
俺は心の中ではヴィって読んでた。
だからヴィムって読んでたんだけど、実際はどう読むの?
545 :
名無しさん@お腹いっぱい。:2006/10/27(金) 09:25:13
vi は ブイアイ。vim は Vi IMproved だからヴィム。i の意味が違うことに注意。
冷静に考えるとその略称おかしいよな
MC.ヴィマー
>vi は ブイアイ。vim は Vi IMproved だからヴィム
ヴイアイやビムは邪道とい主張だな。こだわるやつめ。
俺は vimmer だ
gvimのコピペをTeraTermっぽくする方法はないですかね。
折りたたみを有効にするとすごく遅くなるんですけどなぜ?
行が長いとかいうオチ
>>553 行は長くはないんだけど。
行が長くでも遅くならないようにして欲しいよ。
>>551 "---- Cut, Copy and Paste mapping ----
vnoremap <M-x><M-x> "+x
vnoremap <M-c><M-c> "+y
map <M-v><M-v>"+gP
cmap <M-v><M-v><C-R>+
"
nnoremap <silent> <SID>Paste :call <SID>Paste()<CR>
func! <SID>Paste()
let ove = &ve
set ve=all
normal `^"+gPi
let &ve = ove
endfunc
nnoremap <silent> <SID>Paste "=@+.'xy'<CR>gPFx"_2x
imap <M-v><M-v>x<Esc><SID>Paste"_s
vmap <M-v><M-v>"-c<Esc>gix<Esc><SID>Paste"_x
ALT+○を2度押さんといかんけど、、慣れました。
>>554 長い時は :set nowrap すると速くなりませんかね?
557 :
名無しさん@お腹いっぱい。:2006/10/31(火) 12:37:29
windows自動化ソフト uwsc のスクリプトの
vim用syntaxファイルって誰か創ってませんか?
559 :
558:2006/11/04(土) 20:04:43
あ、ソース公開されてた。スマソ
>>558 おーこれはなにかにつかえるかもな
なにに使うかわからんが
WWWにソースコードを張り付ける時には便利そう。
>>561 > WWWにソースコードを張り付ける時には便利そう。
vimで2html.vimを使えばローカルでできますよ。KaoriYa版では
:HTMLConvert
というコマンドも定義しています。
563 :
名無しさん@お腹いっぱい。:2006/11/09(木) 19:49:14
Cを書いてるんですが、
for(;;) {
if (x==1){}
}
こういった部分のブロック({}の部分)をハイライトさせたい場合、どうすればよいでしょうか?
たとえば/stringでstringがハイライトされますが、
これをブロックレベルでハイライトしたいんです。
forやifなどで分岐したのがいったいどこで閉じられてるのかわからなくなってしまいそうなので、、
vim初心者が質問です。
ヤンクした内容をコマンドに貼り付けってどうやるんですか?
>>563 vim7にして{}にカーソルを合わせる
>>564 CTRL-R "
:help c_CTRL-R
567 :
563:2006/11/11(土) 00:19:29
version 7.0.94 でした。カーソルをあてても何もなりません。
:set 〜が必要でしょうか?:syntax onならしてあるのですが…
cnoremap <C-A> <Left>
cnoremap <C-A> <Home>
cnoremap <C-B> <Left>
どっち?
エディタ、かい。
作りなさいよ。
自分で、。
俺は、輪知己は vi で充分です。
はい、、、、、。
571 :
名無しさん@お腹いっぱい。:2006/11/12(日) 12:51:06
WindowsXP vim 6.3を使っています。C言語でWIN32APIを使って
Windows プログラミングを作りますが、syntaxを捜しましたが有りま
せん。自作するしか無いのでしょうか
よろしくお願いします。
ないなら自作しる!
Visual Basicに付いてくるAPIビューワ、たしかAPI関数一覧かなんかのテキストファイルを読み込んでたと思います。
そのファイルを使えば簡単に出来るかもしれませんね。
APIビューワなつかしーw
win32api.txtでググるとすぐに見つかりますな
なるほど
575 :
名無しさん@お腹いっぱい。:2006/11/18(土) 10:06:00
テスト
577 :
名無しさん@お腹いっぱい。:2006/11/18(土) 19:51:10
道具は使う為にある。使われないと言う事は、C言語でWindowsプログ
ラムをGVimで使う機会は無いという事でしょうか?取り敢えずは適当
に見繕って自作しました。取り敢えずマクロ、関数、メッセージが有
りますが余りカラフルにすると目障りで、またコントラストの関係も
有り、時間も取れないので1色で我慢して使っています。無いよりか
はましです。
GVimというのはWindowsのC言語syntaxでは、需要が無い。使うこと自
体が異端児なのでしょうか?だとすれば私の勘違いです。お騒がせし
ました。
>>577 シンタックスじゃなくてWindows用の定義済みキーワードに色を付けたいだけですよね。
そういう特定プラットホーム向けのキーワードは、あっても私は使わないでしょう。
579 :
名無しさん@お腹いっぱい。:2006/11/18(土) 22:03:52
貴重な意見。有り難う御座いました。どうしてなのかなあと思ってい
ましたので。私自身は、自分が満足すればそれで良いのであってこう
でないといけないと強制するつもりは、毛頭ありませんから。
それぞれの使っている環境の違いも有りますから、KoRoNさん、これ
からも宜しくお願いします。
正直 windows でなら VS 使った方が便利だからねぇ
前から気になっているんだけどVSって何がいいの?
ヘルプ?
デバッガ、インテリセンス、Makefileメンテ不要…
などじゃないかな。
Vim%Chaliceの発言を見て不思議に思ったんだけど
vimってvimで作られているんじゃないの?
>>582 デバッガはVSじゃなくてもあるし
インテリセンスもvimで使えるとか云うのを前に見たけど
その辺の基本性能がいいってことかな?
>>583 ヴィジュアルなデバッガ、クロスリファレンス機能、インテリセンス、
リソースエディタ、バージョン管理システムとの接続(実質VSS限定だが)、
クラスライブラリ群、ヘルプシステムとの連携、etc...
まぁ統合開発環境ってのは、これらが簡便に一揃いで手に入るのが利点なわけで。
VSの場合はまぁ、なによりMS謹製っつー強みがデカいかと。
Win32用のC++クラスライブラリとしては、MFC/ATLが(デキはともかく)
実質業界標準みたくなってるし。
ま、純粋にテキストエディタとしての使い勝手を見るならば、VS付属のもの
よりも、使い慣れたテキストエディタのが当然勝るよね。
ただ、VS上からいつでも好きなエディタ呼び出すことはできるから。
ふむ。確かに、そんなに機能が負けていると感じるんじゃ
vimの出番がないねぇ。それどころかUNIXの開発環境は
Windowsに負けまくりという結論がでそうな気もするけど。
肝心のvimはどこに用途が?
いや、純粋な疑問だけど、何か?
>>587 第一に、テキストエディタと統合開発環境という異なるものを同列に比較することに
意味は無い。
第二に、UNIX上で使える統合開発環境が無いわけではない。
第三に、VSには様々な機能があるが、その環境がどの開発者にとっても最上という
訳ではない。どちらかと言えば企業でのチーム開発でのメリットが大きいかな。
VSは(JavaにおけるEcllipseのように)一種の業界標準だから、Windows開発者なら
大抵は習熟していることも期待できる。
俺個人について言えば、VSはデバッグの時だけ使って、コーディングは
テキストエディタで、コンパイルはnmake.exe/cl.exeで、ってなことも
よくやる。VSは重いからな。
あと、オブジェクト指向言語の方が、インテリセンスの恩恵を受けやすい。
Cの場合だと、せいぜい構造体のメンバが補完できるのと、自動インデントぐらい
かな。
UNIXもIDEで開発するのが普通だとは知らなかった。
vimはメモ帳の代わりと言うことか。なるほど。
591 :
名無しさん@お腹いっぱい。:2006/11/19(日) 08:14:23
>583の言う様にvimはvimで当然開発している物だと思いたいのがvim
ユーザーの一般的な意見だと思ったのですが。確かにVSでもエディタ
ーは選ぶ事が出来るのでvimは使っていますとの事ですが、それなら
尚更syntaxの機能を使わないのが不思議な気がします。
VSは使った事が無いので、分かりませんが逆にエディターをvimに殊
更変更する意味も無い様な気もします。全てVSだけの環境でも問題無
い様な気もします。ただ違いはsyntax以外の部分でvimを使いたいと
いう事でしょうか?syntaxは多分VSのみでも機能するのでしょうか
ら。
確かに>578の言う様に特定のプラットホームでの仕様変更に煩わされ
ると言う事があり最初から取り入れないと言う気持ちも分かります
が。何かしっくりと来ない。vimユーザーの一人としては、エディタ
ー一般は全てvimで統一したい。従ってvimはvimで作っていると思い
たい。
うがった見方をすれば、vimはvimで作っていない。だからA-A-Pなど
のIDEを作ろうとしているのだろうか?未だにvimを偏見する中でどう
しても使われない分野があると、普及に二の足を踏み込んでいる様な
気がしてならない。
じゃあどういうことなんだよ。
おまいの云うことはいちいち難しくてよく分からんヽ(`Д´)ノプンスカ
>>591 俺はKoRoN氏じゃねェよ。ただの一ユーザだ。
一体どこからそういう電波が出てくるんだ。
それと、Win32APIの色づけが可能になったからつって、別に使い勝手が
向上するとは俺にも思えんぞ。ちなみにVSでもそれはやってない。
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| つよい電波がでています |
|____________|
/
<
/ ビビビ
\_\_\
_ \ \ \
/||__|∧ __|___
(O´∀`) | |::::::::::::::::::::::|
(つ つ/ |::::::::::::::::::::::|
/ ̄ ̄ ̄≡....|;;;;;;;;;;;;;;;;;;;;;:|
| |::::::::::::::::::::::|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>>591が電波だって云うんじゃないけど
思わずAAを入れたくなって、つい。
むしゃくしゃしてやった今は反省している。
十分デムパだろw
電波ってのは失礼だろ(電波のAA貼り付けておいてなんだけど)
良く見ると
>>591の中身からは
>>593らしき書き込みが
KoRoNであると特定している訳ではないし
誰であってもいいような感じもする。
Vimに限らないと思いますがある程度以上の機能・規模を持つソフトウェアでは、プ
ラットホーム固有キーワードの占める割合は多くありません。さらにそれらのプラット
ホーム固有のキーワードは、強調表示してソコにプログラマの注意を向けさせたところ
で、何をするわけでもないし、要求されるわけでもありません。そんなものが強調表示
されたところで、プログラムの構造をみるのにジャマになることはあるにしろ、助けに
なることはないでしょう。
無理矢理でも理由をつけるなら、typoしてないことがわかるくらいですが、そんなもの
たいがいコンパイルしてみればエラーがでますから、常時強調表示しておく動機として
は弱いですよね。typoの防止についてはIDE(VS.NET)ではインテリセンスが補助してく
れますが、
>>588にあるとおり非オブジェクト指向なWin32APIでは恩恵はほとんどない
ですよね。
VimでいえばIDEの恩恵が受けられるのは、まぁインラインでデバッグする時くらいで
す。もっともそのIDE(VS.NET)にしたって、プラットホーム固有のキーワードは強調表
示していません。
599 :
名無しさん@お腹いっぱい。:2006/11/19(日) 15:02:18
vimとVSとの関係でsyntaxの事は、十分理解できました。お陰でVSの
機能...etcについても何を言わんとしているのかと言う事も理解でき
ました。最後にKoRoNさんの説明もあり、十分納得出来ました。
もうこの辺で次の話題に移ってはどうでしょうか?
600 :
名無しさん@お腹いっぱい。:2006/11/19(日) 17:44:54
vimを卒業してnviを使おうって事だよ!!
nviが許されるのは小学生まで
nvi が許されるのは引退してから。
KoRoNの意見からするとIDEっても
vimの開発ではデバッグ以外は殆ど恩恵がないってことか。
>>598 プラットフォーム依存の色付けの件はどうでも良いんだが(オレも要らないし)
> typoしてないことがわかるくらいですが、そんなもの たいがいコンパイルして
> みればエラーがでますから、常時強調表示しておく動機としては弱いですよね。
これはなに言っているんだって感じだな
まったく判っていない
>> typoしてないことがわかるくらいですが、そんなもの たいがいコンパイルして
>> みればエラーがでますから、常時強調表示しておく動機としては弱いですよね。
>
>これはなに言っているんだって感じだな
>まったく判っていない
全くだな。
>>604 で、本当はどういう意味なんだ。
すいません。
判っていないって言いたかっただけです。
何が分かってないか言わないと話にならん
608 :
名無しさん@お腹いっぱい。:2006/11/20(月) 22:07:58
じゃ珍しい使い方かも試練けど、
・全角スペース → hi link ... Error
・愛想を振りま → hi link ... Error
とかで校訂環境にしちゃえよ
プラットホーム: 駅で電車に乗り降りする場所
610 :
名無しさん@お腹いっぱい。:2006/11/21(火) 00:22:53
syntaxについては、プログラム開発用だけではなくて一般的な文書作
成に於いても、色んな用途が考えられます。
その辺から、どういう使い方をしているのかを聞きたい。私個人は、
業務日誌でよく使う専門用語を登録して、相手に正確に伝えると言う
事でsyntaxを作ろうと考えていますが...
どんなsyntaxがあるのか少し気になる。....
KaoriYa版Vim7.162です。
_gvimrcに自分で書いたいろいろな設定ですが、
どれがgVim固有の設定を簡単に調べる方法はありますか?
名前にguiがついているのがgVim固有の設定で、
guiがついていないのがgVimとVim共通の設定ですか?
gVim固有の設定は_gvimrcに、Vimの設定は_vimrcにと書き分けたくなったもので。
>>611 基本は_vimrcに書いておいて
vim.exe gvim.exeを起動してうまくいかない部分を_gvimrcに移動すればよいかと
共通の設定であってもvimとgvimで変えたくなる部分もあるだろうし
質問です。
argdoで多数のファイルを処理していくと途中で「--継続--」と表示されキー入力を促されます。
この表示を無くして処理を一括で続行させるにはどのようにすればよいでしょうか?
また、
:argdo g/aiueo/del などとすると普通の:g よりかなり処理が遅くなるのですが、少しでも早くするコツなどありますでしょうか?
前者
:set nomore
後者。:h :argdo によれば
Note: このコマンドの実行中,オプション 'eventignore'
で autocommand のイヴェント Syntax を指定することでそ
れを無効化できる.こうすると各ファイルの処理がかなり高
速になる.
ありがとうございます。
unixはunix自体が統合開発環境。
それが証拠に開発以外では使いづらい・・・。
最近のUnixはコンパイラがついてきませんが、何か?
へえ。なんつー製品?
コンパイラが付いていない何てあるんだね。
別に最近つかなくなったわけじゃないっしょ。
そもそも最近のUnixってなんだね?
386BSD
623 :
名無しさん@お腹いっぱい。:2006/11/27(月) 21:02:09
まいったな、vim-6.3 -> vim-7.0
にしたら、 im_custom 使えなくなった。 orz
624 :
名無しさん@お腹いっぱい。:2006/11/27(月) 21:06:56
どなたか、im_custom を vim-7.0 に入れる方法を考えてくれませんか?
昔、jelvis-3.x から抜け出れなかったように、
vim-6.3 から抜け出せない。 orz
>>624 心配ないよ、そのうちおまいの寿命も尽きるから
:set utf-8すると次回起動時から(cp932)
コマンド履歴が化けてしまいます
これを防ぐにはどのようにすればよいでしょうか?
実行時に:set encしたらアカン
個人的にはvimrc内でもしないほうがいいと思う
:abの中に改行をいれるには^Mの制御文字を直にいれるしか
ないのでしょうか?
<cr> だよもん
:ab x aaa<cr>bbb
>>630 ありがとうございます。
どうやらできないものと思い込んでました。
あああ VIM Onlineのスクリプトのページが壊れてる
エラーを見ると、MySQLのテーブルの一部が破損しているみたい…
だれか、info.vim をうpして…
>>636 サンクスコ!
やっとこさ「修理はじめたよん」宣言がvim.orgに載りましたなぁ
637 :
名無しさん@お腹いっぱい。:2006/12/12(火) 01:18:15
FreeBSDでvim7をportsから入れた人いますか?
いたら質問なんですが
iconvが使われるようになってますか?
インストールするときに
env LDFLAGS=-L/usr/local/lib make install
ってしないと iconv が有効になりませんでした。
同じ現象が発生したひとっていますか?
ちょっと古いかもしれない (7.0.94) けど、特に問題ないっすね。
スクリプトページ直ったっぽい!
640 :
名無しさん@お腹いっぱい。:2006/12/13(水) 03:41:37
>>613の方ではないんですが同じような?質問です
各ファイルから文字hogeを含まない行だけ削る・・・という処理をしようと
:argdo g!/hoge/del | update
としているのですが何やら一行ずつ更新している模様で非常に遅いです
:gと:updateの両者が揃って遅くなるようです
↑と同じ機能を実現するにはどうすればいいですか?
$ for f in FILES; do grep hoge $f > $f.new; done
とかじゃいかんのか。
スクリプト書いて他のargdoも色々やってたのでargdoだけでやってしまおうと固執してました。
有難う御座います
>>640 いちおう
:argdo execute 'g!/hoge/del' | update
:help :bar
>>643 |の解釈で一行ずつ更新処理されてたんですね・・・ありがとうございました
みんな詳しいなぁ。
vim7のscriptの中で最終行にクリップボードの内容を追加しようとしています。
call append('$',$*)
とすると改行が「^@」になります。そのため、
call append('$',substitute(@*, "\<C-@>","\<CR>" , "g"))
したのですが、変わりません。
改行を正常に表示させるにはどうすればよいでしょうか?
>>646 call append('$','')
norm G"*p
とかはダメ?
直リンしたらサーバに負荷がかかるだろ!
それぐらいもわかんないのか。ボケが
ゆとり教育ってレベルじゃねーぞ
俺のサーバーじゃないし気にしない
負荷が掛かると判ってたら直リン出来ないように書くのが普通だろ?
昨日今日パソコン始めたばっかりのドザみたいな事言うなよカスが。
>>657 まじで? 漏れは使いまくってる < C-a, C-x
0と1なら使うけどそれ以外ならr使う
マクロで使うかな
vim7の補完機能を使う時に出てくる候補の背景色(ピンク)を変えるには
カラースキーマでどのように指定すれば良いでしょうか
気づいてしまった。
小さなテキストに対しては p, P を使い分けるより
inoremap <C-z> <C-r>"
などとしてインサートモードでプットした方が楽なことを…
コンパイルしてできた実行ファイルを、引数を変えて何度も実行
するのに一番楽な方法はなにかと考えて作ったもの。
let g:run_last_cmd = "./a.out "
nnoremap <F5> :Run<CR>
command! Run call Run("g:run_last_cmd")
function! Run(defaultcmd)
if !exists(a:defaultcmd)
exe "let " . a:defaultcmd . "= ''"
endif
let cmd = input("shell: ", eval(a:defaultcmd), "shellcmd")
if cmd != ""
exe "let " . a:defaultcmd . " = cmd"
exe "!" . cmd
endif
endfunction
nnoremap <F5> :!<up>だけでもかなり近いことができるなあ。
あるいはC-zでサスペンドしてシェルの機能を使うとか…fgが面倒だけど。
なんかいい方法ある?
screenでどうするんだ?
stuffとbindでどうにかするんじゃないの。
screenでシェルとvimを切り替えながら使えってことでしょ
:!./a.out
vimじゃ無くてviのスレは無いのか?
あったあった、二つもあった。
こんな頻繁に行う操作のために10キー
(シフトを含めれば11キー)も押すことを面倒だと
感じないような人はセンスないよ。
センスのある674の華麗な妙案に期待しよう
履歴を使えばいいのに。
まあだから手軽なのがよければ:!<up>、
ちゃんとしたのが欲しければ
>>665のRunってとこだろ。
screenもなぁ、ソースと出力を同時にみようとすると
それしかないんだろうけど、切り替えやサイズ変更がけっこう面倒。
EmacsのM-x shellと比べると、あっちの方がだいぶ楽だよ。
:r!./a.out
emacs の M-x gdb みたいのがあればなあって思う。
@:
>>678 :r!./vim
としたら何も操作できなくなりました。
どうすればいいんでしょうか?
>>681 もし違っていたらすみませんが、
それが./a.outに対する解だというのなら、あなたは馬鹿でしょう。
DQNが降臨なさいました
Emacs使うとこんな人間になってしまうのか。
686 :
名無しさん@お腹いっぱい。:2006/12/29(金) 01:32:18
管理者になったとき kterm と vi をいったりきたりしていたから、
軽さがありがたかった
vi を終了させずに、ジョブコントロールで、いったりきたりもやる
vim だと :sus, C-z と fg でいったりきたり
重いエディタだと、そのままなんとかしたくなる気もわかる
ターミナル二個開けよ とかいうのはナシですかそうですか
すいません初心者です操作について質問です
カレント行以下のキーワードを順次確認しながら置換するにはどうしたらいいですか
:%s /old/new/c
だとファイルの頭から見ていくのでうまくいかないです
事故怪血しました失礼しました
(・´ω`・)
:silent! !kterm -e sh -c './a.out;exec cat' &
GNU screen つー神ソフトがあるから
ジョブコントロールなんて滅多にしねーな。
縮んでもうた…
-rwxr-xr-x 1 root root 2768416 May 30 2004 vim62*
-rwxr-xr-x 1 root root 1363864 Dec 30 01:33 vim70*
strip してあるか?
Vim7を使っています
splitでbufferリストのなかのファイルを指定して開く方法ってありますか?
:split b1 でbufferリストの1番目のファイルを開くとか
:split bp で一つ前のファイルを開くとかです
splitに限った話ではないのかもしれません
evalのようなイメージなんですが
:[N]sp[lit] [++opt] [+cmd]
と書いてあるので
:sp +b1
:sp +bp
>> 696さん
なるほど+なんですね
勉強になります
ありがとうございました
文字入力できる状態でVimを起動させようと
vim -c":set im" hoge.txt
として起動させたらずっと挿入できる状態のままコマンドとかが
入力できなくなってしまいました
調べると挿入モードという特殊なモードらしいということはわかりました
こういうのではなく、通常のモード(?)のまま
文字入力できる状態で起動させたい場合はどうしたらいいでしょうか
vim -c"i"
とやってみたのですがだめでした
よろしくおねがいします
vim -c startinsert
>>692 スクリーン使ってると、違うウィンドウでvim立ち上げてファイル
開こうとしたとき
Swap file "~/.vim/swap/memo.swp" already exists!
と出るのがうざくない?
>> 699さん
ありがとうございました
希望通りの動きになりました
前提:~/.vimrcが下記のとき、非GUIなvimで"Te"をするとelse-endifブロックが実行される。
>if has("gui_running")
> map Te :echo "yes, we have a GUI"
>else
> map Te :echo "Boring old console"
>endif
質問:GUIに遷移(gvimを新たに起動でなく":gui"で)してもelse-endifブロックが実行されるが、if-elseブロックが実行されるようにするにはどうすれば?
.vimrc に
au GUIEnter * map Te :echo "yes, we have a GUI"
map Te :echo "Boring old console"
と書いてはどうかな。
上手くいった。どうもありがとう。
# ~/.gvimrc って要らんのではなかろうか。
SwapExistsというのができたけど、どうやって使うもんかね?
どういう処理をすれば幸せになれるのかわからない。
マクロというかmapを作るときに実際に操作しながら、それを自働で記録して作る機能ってありますか?
>>708 qを使えば操作した内容がレジスタに保存されるから、
それを使えばどうにかできるかも。
ターミナルのなかでvim7を起動させています
このとき起動させたshellの環境変数をひきつがないようなのですが
何かいい方法はありますか?
echo $PATH
/home/hoge/bin:/usr/local/bin:/usr/bin .......
ls /home/hoge/bin
original.sh
だったとしてvimからoriginal.shを!!original.shで実行したいのです
絶対パスで指定してあげれば実行できたのですが...
vimが特別な環境変数をもっているのでしょうか
よろしくお願いします
export PATH
あ、そうか
はずかしい
ありがとうございました
先頭に#や//がある行を改行すると次の行に自動的に
#や//が挿入されるのですがこの機能をきるにはどうしたらいいですか??
:set formatoptions-=r
なんで 'fo' を変えるおせっかいな ftplugin があるんだろうな。
たとえば、eclipse仕様時のエディタにvimを選択するようなことは可能でしょうか。
【修正】
仕様 → 使用
外部エディタの設定とかあるんじゃないの
719 :
714:2007/01/09(火) 01:30:32
vimを起動してからだとうまくいくのに
vimrcにかいてもうまく反映されない・・・
解決方法はありますか??
runtime/ftplugin.vimのauで起動後、ファイルが変わったりするたびに
下のほうにあるruntime!で
runtime/ftplugin/c.vimとかが呼ばれて上書きされてるのよ
vimfiles/after/ftplugin/c.vimとか作ってここで更に上書きしてやればいいんじゃないかな
commentsオプションのデフォルトを空文字列にすれば
ftpluginでset fo+=roしなくてもいいよね
formatoptionsのデフォルトにroを加えるかどうかは悩ましい
いまさら変えてくれるかどうかは知らんが
(そのまえに英語で議論なんてできないわけだがorz)
comments を空にすると gd やらのコメント無視も効かなくなるんじゃない?
.vimrc に
au Filetype c set formatoptions-=ro
という風に書いても大丈夫みたい。
失礼します。Linuxの初心者スレで質問したのですが、返事が
ないのでこちらでもう一度質問させていただきます。
先ほどOSをインストールして、viを起動したのですが色がごちゃごちゃ
ついていて見難い状態です。
ホームディレクトリに.vimrcを置いて、「set number」だけ記述したのですが
viを起動すると、set numberは、反映されたものの、やはり色がついて見難いです。
set number以外を無効にするにはどうすれば良いのでしょうか・・・?
./vimrcの一行目にsyntax offで自己解決
しかしなんでデフォルトで見難い設定にしてあるんだろう・・
fcの方針
>>722 commentsはどうせファイルタイププラグインで設定されるので無問題
でも最低限の機能でシンプルに使いたい人は
デフォルトで設定されてないと面倒かなーとか思った
今のデフォルト設定は古き良きUnix文化っぽいし
>>721 uxterm とか使ってるなら、
UXTerm*VT100*color1: red3
UXTerm*VT100*color2: green3
UXTerm*VT100*color3: yellow3
あたりで色を調整すれば良いと思う。
syntaxの色は、どうも、white on black で調整してあるらしく、
colorscheme zellner
とかで調整しても、black on white 環境では調整が必要なみたいだね。
:e . でエクスプローラが開くのは知ってたけど
:sp . , :vs . でもできるんだね。
:sp とまで打ったのにファイル名がとっさに出てこないとき
そのまま .<CR> とすればいいからけっこう便利。
730 :
名無しさん@お腹いっぱい。:2007/01/12(金) 13:46:40
,. -‐v―- 、
ヽ
/ //_/ノハL!L!i
r‐、 i 彡 .i ,-ァ
ヽ ヽ!_ 彡 fて) fて) .Y -く
[i 6 ●( ヽ ^ __,. ●ト、/ <喰っても死にはしねえから黙って喰えよ。
. ト-' 、 `  ̄ ̄ .ノ
> ___ <_
/ヾ ヽ ヾ ヽ\
/ | ◯ ̄ ̄ ◯ |/ヽ
日本の電気屋で一番よく売ってる日本語キーボードの配列で
ESCに割り当てるとしたらやっぱりCaps Lockが最適ですか?
どうやったらラインカーソルとルーラを間違えるんだ
vimのFAQって
Q.〜はできますか?
A.できません
てのがけっこうあるような
ルーラって何に使うのかよくわからんが、桁がそろってることを確認したいなら、
>>735のwikiのコメントにもあるが、vim7ならset cursorcolumnで縦のラインカーソル?を
使うことで解決できんのかな。
vimでCを書いてます。
自動インデントの設定は 'cindent' です。
タブが入った状態で後ろに何も書かずに改行するとタブが削除されてしまうのですが、
削除されないようにする方法は無いのでしょうか。
'>----' がタブで、 '<' が改行、 '|' がカーソルだとすると
void hoge(void)<
{<
>----|<
この状態で改行した結果、
void hoge(void)<
{<
<
>----|<
こんな感じになってしまいます。
些細なことなんですが、気になってしょうがない…
autoindentされた空白が削除されるのはPOSIX仕様らしいぞ。びっくり。
>>740 おおっできました。
しかしこういうのはスマートに設定できるようにしてほしいですね…
俺的には、消えてくれる方がはるかにありがたいが。
でもスイッチポンで設定できたほうがいいよ
mapで解決するのはなんかやだ
まぁ気持ちの問題か
スレ違いごめん!
KaoriYa Vim7.0.162 + ctags5.6J1です。
HTML+JavaScriptなのですが、下記の三ファイルが同一ディレクトリにあるとします。
【a.html】
<script src="c.js"></script>
f();
【b.js】
function f(){}
【c.js】
function f(){}
tagsファイルを作って、a.htmlのf()でCtrl+]するとb.jsに飛ぶのですが。
c.jsをインポートしているので、c.jsのf()に飛んでほしいところです。
解決方法ありますか?
いっそのこと↓をvimrcに書くとか
noremap <C-]> g<C-]>
748 :
745:2007/01/18(木) 21:50:58
filetype indent on
のままで
makeはタブでインデント, それ以外はスペース置き換え
というふうにできる?
たろちゃん忙しいのかな
>>749 set expandtab
autocmd FileType make setlocal noexpandtab
でどうかしら。
最近がんばってはNGワードらしい
vimのコマンドライン編集って使いづらいよなあ。
BramってシェルでもC-bで行頭、そして左右移動は
カーソルキーでやってるのかな。
元々ウニクサというよりAmiga使いなんじゃなかったっけ
>>755 コマンドラインの編集も通常の編集と同様にモードありならなぁ……
insert-modeで補完中の文字列に対するハイライトは設定できますか?
ポップアップメニューならPmenu等がありますが、
これにはそういうグループがないみたいで……
>>756 でもUnix歴も長いはずでしょ。
確かFreeBSDのcontributorsリストにも名前載ってたよ。
コマンドラインのCTRL-Aが実装されたのは1993年リリースのvim-2.0。
Linux 1.0、FreeBSD 1.0とほぼ同時期。
# ところでcomp.editorsで vim2.0重くね? って言ってる人がいてワラタ
↑CTRL-BとCTRL-Eも同じバージョン
げ、map! ^A ^[0I しているから使えないじゃん。
今 vim-dev で出ている BOF Vim 8 - Suggestions という話は面白い。
John Beckett が主張するのは、Vim はすでに強力な機能を持っているのだから、
それを使いやすくするためのキーバインドなどを用意した方が
初心者にとって使いやすくなる。
例えば
・hlsearch を有効にしていると、:noh も頻繁に使うようになる。
実際、みんな :noh を何か短いキーシーケンスに割り当てているのだから、
標準でそのようなマッピングを用意すべきだ。
・CTRL-F, CTRL-B を使うとスクロールするだけでなく、カーソルも移動してしまうのが不快だ
(Bramもこれについては考えたことがある。しかしViとの互換性のためにそのままにしてある)
・:copen, :cn, :cp もタイプしづらいので <F11>, <S-F11> とかにマップした方がいい。
・Vim tips のページを見て有用なものを選び出して自分の .vimrc に
取り込むのも初心者にとっては大変な作業だ。
他の人が指摘するように John の提案はプラグインで解決できるものばかりだが、
現状 Vim のデフォルト設定は使いづら過ぎるし、初心者が設定を作るときの
負担が大きいというのは同感。
(syntax on, filetype indent on, 'hidden' すらデフォルトではオフになっている)
>>763 その論調で行くとポイントは「デフォルトの設定が使いづらい」ということをBram氏に
対して証明できるのか、になっていませんか。それは結構難しいと思いますよ。
> That's like: don't give a hungry person food, teach him how to grow food.
と書いてますから、現行の状態からそうそう変えることはなく、初心者にも負担をさせ
ようというスタンスなのでしょう。そうだとするとvimrcをGUIで手軽に編集設定できる
外部ツール、というあたりが妥協点のような気がしますね。
そして僕はウガンダに寄付するのをやめました。
ぶっちゃけウガンダに寄付した人いる?
おりはしていない。
evimで失敗済みだからなー
「初心者のため」だけだとちょっと不安
emacs とくらべて設定しなくて使えるとはいうけど、
やっぱ設定しないと不便なところも多いね。
vi 互換部分はともかく
vim 独自の部分のデフォルトを親切にするのは
構わないのではと思う。
設定しなくても十分に使いやすいと思いますよ
ほとんど設定しないで使っている人結構多いんじゃないでしょうか
KoRoN さんもほぼ手を入れていないって聞きました
わたしも同じです
>ほとんど設定しないで使っている人結構多いんじゃないでしょうか
数はいるかもしれないけど、それはあまり使いこなしていない層じゃないかな。
この手の議論をするときは用途を明確にしないと。
設定ファイルいじるくらいなら、デフォルトでも素の vi でも大して変わらないし。
シンタックスハイライトについての質問です。
あるグループの設定を流用しつつ、その値の一部だけを変更することはできますか?
例えば
- PmenuSelはSearchの設定を流用する。
- PmenuはNormalの設定を流用する。
ただしctermのみcterm=reverseに変更する。
という風に設定したいのです。
設定の流用は
hi link Pmenu Normal
でできることは分かったのですが、
この後で値の一部を変える方法が分かりません。
hi Pmenu cterm=reverse
とすると上で流用した設定が無効になってしまいます。
772 :
749:2007/01/22(月) 11:00:25
>>770 vi を使ってると、vim を使い出してもそう設定を変えないんだよなあ。
著しく vi と違う点でもあれば別だけど。
こういう層が多いのだと思うとったよ。
俺全然Vim使いとは言えないレベルだが
ft=htmlの場合の自動インデントは正直かなりウザかったので
それは変えたなぁ
後はft=pythonではインデントをスペースにさせたり
後はバックアップファイルの設定とかタブ幅とかそれぐらいかな
>>775 >ft=htmlの場合の自動インデントは正直かなりウザかったので
オレは、formatoptions が鬼門だと思う。
デフォルトで、 tcq なんだけど、tc はウザかった。
拡張子 txt の場合は、 q ぐらいでイイと思う。
autocmd BufNewFile,BufReadPost *.txt set ft=text
autocmd FileType text setlocal fo=q
>>770 普通にコーディングで使用しています
デフォルトでもほとんど支障はないですね
逆に何を設定しているのか聞いてみたいところです
おそらく設定してあるのか個人的な好みによる設定だけでしょう
万人向けの設定というのは実はもうほとんど残されていないと思います
バックスペースで改行消せるのはデフォ?
文字コードとかってUTF-8の設定にしない?
このスレの住民はすごすぎる。
デフォルトのまま使っているやつ多すぎ。
俺は無理。
パッケージに入ってるvimrcの設定がデフォだと思ってる人は多いかもね。
オレのvimrcから純粋にオプション設定だけ抜き出すとだいたいこんな感じ。
整理してみると思ったより少なかった。精進すればもっと削れそうかな。
" たぶん必須
set autoindent
filetype plugin indent on
syntax on
" 好み分かれそう (なくても慣れればなんとか...)
set backspace=indent,eol,start incsearch ignorecase smartcase laststatus=2 showcmd showmatch smarttab wildmenu list listchars=tab:>-,trail:- hlsearch shortmess+=I formatoptions+=n
autocmd VimEnter,GuiEnter * set visualbell t_vb=
" (x=適当な値)
set shiftwidth=x softtabstop=x expandtab
" 日本語書くなら...
set formatoptions+=Bm fileencodings="encに合った設定" statusline="fencとかffとか表示"
" for utf-8
set ambiwidth=double
うちも香り屋のヤツに手を加えてないな
ほんのちょっとだけバインド変えているだけ
どうもここの住人は、デフォルトでつかうのが偉いと思っている
ようなのが違和感がある。
デフォルトで使っても不便ではないと思うけど、Vimの楽しさはカスタマイズにある!と思っている俺はカスタマイズしない人はもったいないなぁ、と思う。
zshやscreenもそうだけどね。
カスタマイズすると、余所で素のを使うときに困るからねぇ…
emacs の時は必死でlisp覚えて .emacs が数千行になったけど
vim は vi の感覚そのままで十分使えるから
ろくにカスタマイズしてないな。
ちなみになぜ emacs -> vim になったかというと
マシンとOSを変えた時に .emacs を移植するのが大変だったからw
みんな、似たような経験をしているのだなw
日本語版ヘルプ、map.txtのmap-multibyteの部分が抜けてますな。
これによると
:nmap は fは
とかできてちょっと面白い。
>>756 オライリーの入門viによれば、Bramは最初Unixでviを使っていて、
Amigaを購入してからstevieを使いはじめた。しかしstevieはviに
足りないものがあったので拡張を始めた、とか。
だからそのときすでにシェル(tcshあるいはksh?)のバインディングに
なじんでいたんじゃないかと思うけど。
最近C-f, C-b の押しすぎで小指が痛いです。
こんな俺に処方箋をください。
Windows上のVimから
:![cmd] をcygwinに渡す方法ってあります?
cygwinのvimでやる。
って言う意味ではないんだろうな。
>>795 横レスだけどカーソル移動とか面倒じゃありませんか?
vim以外で
自分もHHK持ってるがwindowsではつらいな。
Proならばスイッチ設定で、左下のAltをFnに、右下のAltをWindowsキーにしてやると
非常に使いやすくなります。とはいえ、カーソルキーを使ったゲームを遊ぶ気にはな
りませんね。
802 :
792:2007/01/26(金) 03:48:39
ノートPCで使ってるからキーボードは変えられません。
がんばって小指を鍛えます。
>>802 emacs小指で検索してたら見つけた。いいかも。
>…Ctrlキーを手のひらで押す、という方法は外付けキーボードでは可能だ
>けれど、ThiinkPadだとかPowerBookのようなノート型の場合、まず不可能
>だ。この場合は、少し難しいのだけれど、小指を折り畳んで指の背(とい
>うか第1関節)で押すようにすれば良い。大丈夫、すぐに慣れる。それに両
>側にあるっていうことで、Emacsを使っているときの指への負担が全然違
>う。
KoRoN氏ってHHKユーザだったっけ?
よく「違う環境で使うときキーってなるからマッピングはしない」
とか言ってるけどHHKのない環境にいったときキーってならないの?
HHK Pro って東プレスイッチだったのか!
ちょっと購入意欲が湧いてきた
最近、Debian で vim または gvim を使い始めた者です。
gvim ver 7 以降では、scim + anthy で日本語オンになっていても、
ESC でモードを抜けると、日本語がオフになって便利になったと思ってます。
再び、挿入モードに入ったときに、日本語がオンになるスクリプト等はありますか?
できれば、前回の日本語モードを再現してくれると、なお良いのですが…
1234
abcd
ABCD
というのを
# 1234
# abcd
# ABCD
としたいのですが、どうやるのが効率的ですか?
今は 1234 の行頭で 'i# [Esc]' した後に 'j.j.j.' と連打するか、
たくさん行がある場合は V で範囲指定して :s/^/# / みたいにしてるんですが、
もっといい方法ないでしょうか?
おれは ma でマークして
'a,.s/^/#
だな。
>>808 もれはお約束通り、矩形選択(C-V)して I# ^[ だな。
俺も、普通、行、矩形のどれかのヴィジュアルモード使うかな
その後は、普通か行なら:'<,'>s/^/# /。矩形ならI# <C-[>。
へたれな俺はマークして範囲指定とか多分一度もやったことない・・・
矩形選択(C-V)にはそんな業があったのかorz
>> 814 さん どうも…
やっぱり、無理ですか…
挿入モードといっしょに日本語入力オンにするよう指を訓練しまつ
scim + anthy 限定なら汚いハックでなんとかできないこともない。
コンパイルし直さなきゃなんないけど。
このパッチ当てて :set iminsert=2 に設定すればok。
--- src/mbyte.c.origSun Jan 28 10:14:02 2007
+++ src/mbyte.cSun Jan 28 10:14:02 2007
@@ -3440,6 +3440,12 @@
{
int was_active;
+ if (strcmp(getenv("GTK_IM_MODULE"), "scim") == 0) {
+im_is_active = active;
+xim_set_focus(active);
+return;
+ }
+
was_active = !!im_is_active;
im_is_active = (active && !p_imdisable);
>>816 さん どうもです。807 です。
すごい、ハックできるのですね… ありがとうございます。
今、出先なので、家に帰って、試してみます。
ただ、当方へたれユーザなので、うまくパッチ当てられるか… 汗)
少しネットで調べたら、.gvimrc に set imactivatekey=c-space と書くと
挿入モードで、常に日本語がオンになることがわかりました。
ちょっと、うざいですけど、主に日本語編集のときには、gvim を使って
設定ファイル等の書き換えには、ターミナル上で vim を使うことにすれば、
なんとか便利に使えそうだということがわかりますた。
また、家に帰って結果をご報告いたします。
>>816 さん 807です。
家に帰ってきて、buildしてみました。
debian のパッケージの仕組みが理解してないためか
debパッケージはできたんですが、うまく動作しません。
もっと、patch の当て方など勉強せねば…
上にも記載したように、当面は、set imactivatekey=c-space で我慢します。
また、スキルがあがったら、検討してみます。
御指導ありがとうございました。m(__)m
矩形選択した範囲の中だけ置換って可能でしょうか?
矩形選択→:s/old/new/ ってやると
'<,'>:s/old/new/となってしまって、選択行の置換になってしまうのです。
821 :
819:2007/01/29(月) 03:57:48
>>820 Thanks。
早速試して、レポするぜ!
とおもったら、配布元URLがリンク切れしてました。
823 :
820:2007/01/29(月) 15:46:53
>>821 vim online に有ったから wiki 直してみた。レポよろ。
824 :
819:2007/01/29(月) 20:01:04
>>820さま
早速試してみました。
wikiには cecutils.vimが必要とありましたが、
インストールに cecutils.vim は不要でした。
矩形選択し、置換
:Bs/0/1/g
→「E492エディタのコマンドではありません」とのエラー
Bの後に空白を入れるとうまくいきました。
:B s/0/1/g
→成功!
矩形選択したまま「:」でexモードになると
:'<,'>B s/0/1/g
と範囲が出ますが、わざわざ'<,'>を消さないでも、選択範囲のみが置換されました。
まさに希望通りの動作です。
ありがとうございました。
行を逆にしたいんですが、vimでできますか?
rev
を
ver
:perldo $_=reverse($_)
かなぁ。
もしくは、
対象をdd
:set revinsで反転そうニューモード
インサートモードで^R" ("レジスタ貼り付け)
なんてどうでしょ?qで登録しとけば次回から楽々だし。
・・・もっとスマートな解法があったらごめんなさい。
Vim7だけでやるならば、こんな感じになりそうです。
:s/.*/\=join(reverse(split(submatch(0), '.\zs')), '')/
文字列を1文字ずつ分解してリストにして、反転してくっつけ直すという、良く見か
ける方法ですね。
$"ax99@='"Ax'<CR>"ap
(<CR> は Enter)
香り屋Vim7のvimrcとか(複数箇所)で
> if 0 && exists('$HOME') && filereadable($HOME . '/.vimrc_first.vim')
この0は何なの?
1ならエラー回避の小技(?)って気もするけど.
>>829 0 処理しない
1 処理する
コメントにそう書いてあるだろ。
832 :
831:2007/01/31(水) 13:25:11
vim-7.0.tar.bz2、vim-7.0-extra.tar.gz、vim-7.0-lang.tar.gzを展開し、
% cd vim70
% mkdir patches
% tar xvf vim-7.0-patches.tar
% cd ../
% cat patches/7.0.* | patch -p0
とすると以下のメッセージがでます。
--------------------------------------------------------
新しい形式のコンテキスト diff のようです。
次のパッチは新しい形式のコンテキスト diff のようです。
49 行目に認識できないパッチがあります:
patch: 2 番目の文字は ' ' 文字にしてください。
--------------------------------------------------------
7.0.001を見ると49行目は下記で確かに2番目の文字は' 'ではありません。
/// Bram Moolenaar --
[email protected] --
http://www.Moolenaar.net \\\
パッチ内は何もさわる必要は無いと思うのですがどのようにしたらうまくパッチを当てられますでしょうか。
>>続く
833 :
831:2007/01/31(水) 13:30:29
>>続き
パッチが当たらないのでとりあえずそこを飛ばしてインストールしようとしました。
% ./configure --enable-perlinterp --with-features=big --enable-multibyte --prefix=/usr/local
% make
するとmakeの所で下記のメッセージがでて落ちてしまいました。
------------------------------------------------------------
未定義の 最初に参照している
シンボル ファイル
XpmFreeAttributes objects/gui_motif.o
XpmCreatePixmapFromData objects/gui_motif.o
XpmReadFileToPixmap objects/gui_motif.o
XpmReadFileToImage objects/gui_x11.o
ld: 重大なエラー: シンボル参照エラー。vim に書き込まれる出力はありません。
collect2: ld returned 1 exit status
make[1]: *** [vim] エラー 1
make[1]: Leaving directory `/***/***/vim70/src'
make: *** [first] エラー 2
------------------------------------------------------------
これが何を意味するのかわかりません。
どのようにしたらうまくインストール出来るでしょうか。
835 :
825:2007/01/31(水) 16:29:55
836 :
831:2007/01/31(水) 16:48:25
>>834 そこを見たら「SPARC/Solaris 8」という項目があったんでクリックすると
「vim-7.0-sol8-sparc-local.gz」というファイルがありましたがバイナリーデータのみで
READMEもなく何に使うのかわかりませんでした。
これをどこかで使えば良いのでしょうか?
>>830 :he expr-&& によれば && はshort-circuitだから
先頭に0があると,それに続く
> exists('$HOME') && filereadable($HOME . '/.vimrc_first.vim')
が評価されないと思うんだけど
いくつか1でいくつか0ってのがまた変
KoRoN氏のコピペミスでは?
>>832 Solarisのpatchコマンドだと駄目かも。
GNUのpatchコマンドを入れて試してみてください。
>>833 xpmライブラリが見つけられてない模様。
xpmライブラリをインストールしてなければインストールして、
ライブラリの場所をconfigure時にLDFLAGSで指定してみてください。
あるいは、GUI無しのvimで良ければ、configure時に--enable-gui=noで行けるかも。
>>836 コンパイル済vimの入ったパッケージです。
インストール方法はそのサイトに書いてあります。
>>837 コードをブロック単位でオン/オフしてるだけです。他にif 1 && ...のところもあり
ます。こうするとCTRL-AもしくはCTRL-Xでオン/オフが切り替えられるというわけで
す。なお該当箇所は、何らかの理由でデフォルトでは設定しておくことが不適当と判
断したのですが、サンプルとしてコード自体は残してあります。
841 :
837:2007/02/01(木) 13:57:52
>>840 > サンプルとしてコード自体は残してあります。
なるほど.
Cプリプロセッサの #if 0 相当ってわけですか.了解.
gvim7を gvim7.exe というファイル名で使ってたら,2プロセス目のウィンドウタイトルが
[無名] - GVIM71
になってたので gvim.exe にリネームした w
843 :
831:2007/02/01(木) 16:23:36
>>839 GNUのパッチで出来ました。
--enable-gui=noオプションで回避出来ました。
gvimがどんな感じなのか見たかったですが極力viに近いと考えたら
vimの方が良いと思うのでこれで使ってみます。
以上全て解決出来ました。ありがとうございますー。
844 :
831:2007/02/01(木) 16:30:33
やっとvimがインストールでき、今.vimrcを書いています。
set compatible
を入れると書き込みモード時にカーソルキー(→↓←↑)を押すと
ESCと同じ動作になりますがオフの場合はカーソルでESCが効きません。
しかしオンにしてしまうとUNDOがvi互換になって無限UNDOしづらいです。
・無限UNDOはuを押すたびに一つ戻る。
・書き込みモード時にカーソルを押すとコマンドモードになる。
以上を実現させる設定はどのようにしたら良いですか?
imap <Down> <ESC>
とか?
俺もvim移行当初はなるべく素viから外れないようなストイックな設定をしてたなぁ。
だんだんだんだんvim独自の機能を許していってしまって今ではもう(ry
koronだん掲示板がNot Foundやー
849 :
831:2007/02/02(金) 15:58:15
>>845 出来ました。
imap,nmapで個別に設定できるんですね。
ありがとうございました。
さらに質問なのですがEnhancedCommentify.vim(コメントアウト)を入れたのですが
どのように実行すればいいのかどうしてもわかりません。
ググるとvで選択し、\xで実行とありますが色々試しても
どうしても出来ません。
v → カーソル移動で選択 → \x → NG
v → カーソル移動で選択 → :\x → NG
v → カーソル移動で選択 → /x → NG
v → カーソル移動で選択 → :/x → NG
UNIXで実行する場合のキー入力を教えてください。
>>848 有料のviプラグインの立場が無くなったなw
Emacsは自身がIDEになることに
vimはIDEに自分を埋め込むことに
アプローチの仕方の違いが面白いなぁ
>>849 :scriptnames でプラグインが読み込まれてるか確認
:vmap でキーマッピングが設定されてるか確認
たぶんmapleaderの設定じゃないかな。
インサートモードでワーキングディレクトリのパスを挿入するにはどうすれば出来ますか?
<C-R>=getcwd()<CR>
855 :
849:2007/02/05(月) 09:43:57
>>851 :scriptnamesを見ると
1: /home/users/m-kinosh/.vimrc
2: /home/users/m-kinosh/.vim/plugin/AlignMaps.vim
3: /home/users/m-kinosh/.vim/plugin/AlignPlugin.vim
4: /home/users/m-kinosh/.vim/plugin/EnhancedCommentify.vim
:vmapすると
v \x <Plug>VisualTraditional
v \c <Plug>VisualTraditionalj
となっているのできちんと読めています。
実行方法がわかりません。
何が原因でしょうか。
もうちょっと詳しく書いてもバチは当たらんよ。
857 :
849:2007/02/05(月) 14:44:43
仮に.vimrcに
let mapleader = ","
と入れて起動すると
:vmap
v ,x <Plug>VisualTraditional
v ,c <Plug>VisualTraditionalj
となるのでmapleaderは正常に\で登録されています。
症状の詳細を書きます。
@v → カーソル移動で選択 → \x → NG(\を押すとビープ音が鳴りただのxが実行される)
Av → カーソル移動で選択 → :\x → NG(E492: エディタのコマンドではありません: '<,'>\x)
操作方法は@と思いますが違うのでしょうか。
@であってる。
たぶん timeoutlen とかが設定されちゃってんじゃないかな。
:set timeout? ttimeout? timeoutlen? ttimeoutlen?
あたりを確認してみそ。あとヘルプも。
859 :
849:2007/02/06(火) 10:27:30
>858
\を押してからのタイムアウトがあったんですね。
デフォはタイムアウトオンで秒数が1秒になってるからビープ音がなってたのかorz
デフォはオフにして欲しいよ。
おかげさまで解決しました。
ありがとうございます。
map <expr> って副作用が無効になるけど、副作用を目的とした
map <exec> みたいのがむしろ欲しい。
って思う人はあんまり居ない?
副作用が無効になるってどういうこと?
適当な表現だったかも。詳しくは h :map-<expr> より
For this reason the following is blocked:
- changing the buffer text |textlock|
- editing another buffer
- the |:normal| command
- moving the cursor is allowed, but it is restored afterwards
map <expr> で v:count 使うときはどうしてます?
expr を評価した後って、入力した [count] が邪魔になりますよね。
評価値の先頭に "<Esc>" を置いとくのが定石ですかね。
カウントとか使うならg@の出番じゃないかなぁ
865 :
863:2007/02/08(木) 00:38:55
g@ なんてあったんですね。初めて知ったような、前から知っていたような。
というか、上の話は実は
[count]{command}{motion} の形の入力としたときに、
{motion} に [count] を渡したいのではなくて、
{command} に [count] を渡したいときの話なんですわ。
なんで、g@ はちょっと考えてることと違うかなと。
後で気付いたけど、評価値の先頭に "<Esc>" を置いとくと
{Visual} のときに選択解除されるなあ。
gv があるけど、 map <expr> を使う理由に
vmap とか gv を使わずに map で一括設定したいってのがあるから、
これは旨くないな。
何かいい方法ないですかね?
ところで、
% vim +'map <expr> z ":".v:count1'
実行直後に z 入力すると command-line に :0 って出るのは
バグっすか? もっかいやると :1 になる。
{rhs}を評価する時点ではcountは不定だろう
例えば
:map <expr> x "123y"
なら y に出会ったときにcountが確定する
アホな質問ですみません。
:%s/a/b/g
↑この機能が存在することを、Vimを薦めたい相手に言う状況を想定して下さい。
「Vimってファイル開いたまま( sed | ed | tr | awk )使って置換が出来るんだよ」
何がふさわしいですか?(選択肢以外でもいいです)
また、なぜそれがふさわしいのですか?
当方Linux(UNIX)歴3日目のため、意味不明な質問でしたらお許しを。
それただの置換だし別にすすめる要素にならないと思うんだけど
フィルターのことを言いたいんだろうか
とりあえず、「使って」というより「同様に」かな。
後 tr | awk は違うんじゃない?
チュートリアルが終了して間がなく、好みの設定を
模索中なのですが、たとえばコマンドの
:q!を:Qに置き換えたい場合、どのようにすれば
いいのでしょうか?
>>871 ex_docmd.[ch] あたりを直してビルドし直す。
それ酷いなw
874 :
866:2007/02/08(木) 23:09:35
>>867 ほど〜。
全然気付かなかった。そういうことですか。
あれ、じゃあ map <expr> で評価中に [count] とるのは難しい?
というか普通に無理?
>>871 取り合えず最初は下手な設定をせずに使うことをお勧めする
人の端末借りたり、素のviに出会っても問題なく使えるのは利点の一つなので
それに:Q<CR>よりタイプが少ないZQがあるし…
>>874 どうしてもやりたいなら二段階に分けるとか
nnoremap <script> x <C-C><SID>x
nnoremap <expr> <SID>x "i" . v:count . "\<Esc>"
879 :
871:2007/02/09(金) 07:19:09
回答してくれた方、ありがとうございます。
しばらくの間、素の状態で練習してみます
880 :
874:2007/02/09(金) 19:03:30
>>878 二段階ですか〜。厳しいですね〜。
今のところしょうがないか。
881 :
名無しさん@お腹いっぱい。:2007/02/10(土) 02:11:21
883 :
名無しさん@お腹いっぱい。:2007/02/10(土) 02:34:40
>>882 ありがとうございます。
読んで研究してみます。
半角・全角スペースも設定できますか?
テキストベースの文書関係はLinuxですべて扱いたいと思っているんですが。
矢印キーで上下に移動するときに、行数ベースではなく表示行ベースで移動する設定をしています。
移動モード、ヴィジュアルモードは
nnoremap <UP> gk
nnoremap <DOWN> gj
vnoremap <UP> gk
vnoremap <DOWN> gj
で設定できました。
ただ、挿入モードの設定がスマートじゃなくて・・・。
inoremap <UP> <C-[>gka
inoremap <DOWN> <C-[>gja
としているのですが、他に良い方法はありませんか?
>>884 inoremap <UP> <C-o>gk
inoremap <DOWN> <C-o>gj
Vim の backup と writebackup オプションについてお聞きしたいです。
set nobackup
set writebackup
の状態で hoge.txt を編集すると、その編集中に hoge.txt~ ができ、
編集を終了すると hoge.txt~ は消去される
と考えているのですが、どうも hoge.txt~ が作成されている気配がありません
バックアップファイルが作成されるのは、一瞬の出来事なのかと思い
あらかじめ hoge.txt~ を作成しておいて hoge.txt を編集しても
hoge.txt~ の内容には変化がありません
この機能が動いていることを確認する方法はありますか?
ちなみに
vim --version |grep writebackup
では +writebackup と表示されます
よろしくお願いします。
連続ですいません
Vimのバージョンは7です。
よろしくお願いします。
>>886 編集後の '保存' に関するオプションなので、編集しただけでは作られないのでは?
編集中に作られるのはスワップファイル hoge.txt.swp じゃない?
ありがとうございます。
何度か保存してみたのですが、それでも作成されていないようです。
何か他のオプションとも関係があるのかもしれません
調べてみます
ちなみに888さんは
set nobackup
set writebackup
と設定してバックアップファイルが作成されますか
>>889 >>888氏の指摘の通り、編集途中に作られるのはスワップファイル。
ただし、ファイル名は .hoge.txt.swp なので、lsに-aオプションをつけないと表示されません。
Windowsなら隠しファイルを表示できるようにしないと見えません。
> set nobackup
> set writebackup
> と設定してバックアップファイルが作成されますか
:h backup でヘルプが見れます。
ヘルプを見ると、上記の設定だと「バックアップ作成後削除」となってるので、一瞬で消えてるはず。
更に以下の記述があります。
・(上記設定時)既に hoge.txt~ が有る場合は削除しない。
・(保存時)ファイルを書き込んでる間に作成されるバックアップファイルは別の名前になる。
:h backupext も見てみたけど、デフォルトだと"~"が付くぐらいしか書いてない。
ヘルプを見れば乗ってるんじゃないの?と思って調べてみましたが、
結局、nobackup、writebackup時に既にhoge.txt~が有った場合、
(一瞬できるであろう)バックアップファイル名が何になるのかは分かりませんでした。
#hoge.txt~がないなら、hoge.txt~が一瞬作られてるはず
#ディレクトリ内ファイル監視ツールを作って、ファイルを監視させた状態で
#超巨大ファイルでも書き込めば分かる??
>> 890さん
スワップファイルとバックアップファイルの違いは了解しています。
最初の質問での書き方が曖昧でした。すいませんでした。
> ・(上記設定時)既に hoge.txt~ が有る場合は削除しない。
> ・(保存時)ファイルを書き込んでる間に作成されるバックアップファイルは別の名前になる。
マニュアルには目を通したつもりでしたが、この2点は見逃していたようです。
> #hoge.txt~がないなら、hoge.txt~が一瞬作られてるはず
そうですか一瞬の出来事なのですね。なんとなくすっきりしました。
> #ディレクトリ内ファイル監視ツールを作って、ファイルを監視させた状態で
> #超巨大ファイルでも書き込めば分かる??
これ挑戦してみます。
>> 888 さん ならびに >> 890 さん
大変参考になりました。ありがとうございました。
892 :
名無しさん@お腹いっぱい。:2007/02/13(火) 18:24:09
:set backup
じゃ嫌なの?
891です
いろいろ調べた結果を報告します
set nobackup
set writebackup
編集ファイル hoge.txt
の場合、890さんのおっしゃっていたとおり一瞬バックアップファイルが作成され
その後消去されることを確認しました
バックアップファイル名は hoge.txt~ でした
そこであらかじめ hoge.txt~ を作成しておいたのですが
その場合 バックアップファイル名は hoge.txz~ となりました
hoge.txz~ を作成しておくと hoge.txy~ が作成されました
Linuxなのですが、 inotify-tools の inotifywait を使いました。
お騒がせしました
すいません exコマンドの ! の実行するコマンドを指定する文字列中に書くと
今編集しているファイル名に変わってくれるような記法ってありませんか
>>895 助かりましたありがとうございます
あーーーー快適!
windowsのIMEの話で、
insert-modeとnormal-modeをトグルする中でIMEの状態を記憶してくれるのは
香り屋さんのvimだけかと思ってましたが、
vim.orgのやつでも記憶してくれるみたいでありがたいです。
コマンドモードではIMEオンにならないようにして欲しい
>>897 それ、Cygwin上のやつでもできないかなぁ。
ちょっとソースを弄ったらできそうなんだけど。
>>894,895
便乗。
現在のファイルのディレクトリ取得するときに%:p:hって書くけど
:p:hってどういう意味? pやh以外にもあるの?
>>807 >gvim ver 7 以降では、scim + anthy で日本語オンになっていても、
>ESC でモードを抜けると、日本語がオフになって便利になったと思ってます。
これはどうやるんですか?
>>902 さん お役にたてなくてごめんなさい。807です。
DebianのSargeでは、offできませんでしたが、Etchの
Ver7.0.122からは、なんにもしなくてもできるように
なってました。
やったことは、apt-get vim-gtk しただけです…汗)
xim使えば自動スイッチできるょ
GTK_IM_MODULE=xim XMODIFIERS=@im=SCIM gvim -c "set imak=Zenkaku_Hankaku"
っと思ったけどこうすると手動でオンにできなくなるからやめたんだった。
:set imi=2 って設定すればオンにできるからどっかのキーに:mapすればなんとか…
でも zenkaku_hankaku は map できねーんだよなぁ
xpmを見るモード面白いね
emacs+YaTeX を脱出しようとして gvimでlatexSuiteを使っているのですが,
ximで日本語を入力しようとしても入力キーがプラグインに乗っ取られてしまい,
まともに入力できない (入力中に壊れる) 状態です.
:set paste すると日本語入力はできるようになるんですが,
本来の機能 (SSEと入力して ¥section{} に展開等) が無効になります.
で,質問なのですが,ximの入力開始時に自動的に :set paste して,
終了時に :set nopaste する方法はありませんか?
また,latexSuite 使っている方,何か良いアイデアありませんか?
:copen
って何?
>>910 エラーとか、grepの結果を表示するウィンドウを開くコマンドだと認識している。
912 :
名無しさん@お腹いっぱい。:2007/02/24(土) 14:31:08
特定の文字列「hoge」をハイライトしたいんですが、
その場合.vimrcへどのように記述すればいいんでしょうか?
syntax keyword phpstring hoge
highlight phpstring ctermfg=magenta
というように見よう見真似してやってみたんですが
失敗しました。。
cw かつ p するような方法ありませんか?
dw かつ P といってもいいんですが、
つまりワードなんかを消しつつ
その消えたスペースにペーストしたいんです。
>>912 syntaxコマンドは~/.vim/syntax/php.vimに書く (phpなら)
vimrcに書きたいときはautocmdを使う
autocmd Syntax php syntax keyword phpstring hoge
highlightコマンドはcolorschemeを設定した後ならどこでもおーけー
vwp
"_dwP
dw"0P
918 :
913:2007/02/25(日) 21:35:54
>>915,916,917
みなさんありがとうございます。
vwp はわかりやすくていいですね。
レジスタ使う方法も勉強になりました。
"0Pは何も考えずにdwしてしまった後に使うと便利そうです。
Windowsだけどメール書くときにVim使ってる人います?
Windowsだけどメール書くときにex使ってる人います?
Windowsは使ってない。
メーラーはThunderbirdだけどVimで書いてからコピペしてる。
>>921 External Editorを使えよ。
しばらく使ってなくて浦島なんだけど
VIMはscimとuimどっちが便利なんですか
どっちもふつー
vineで、vimのバージョンが6なんですが、
挿入モード出るときに日本語入力を自動的に切るように
設定することはできるんでしょうか?
過去レス見る限りではバージョン7ではデフォルトでそうなってるみたいですが。
>>924 SCIMって「vi協調モード」ってあったっけ?
>>925 vim7でもその辺は変わってないよ。
uimならvi協調モードを設定すればオフにできる。
scimは入力エンジンによって挙動が違うけどanthyなら設定次第でフルコントロール可能。
(GTK_IM_MODULE=xim XMODIFIERS=@im=SCIM と imactivatekey を設定し、scimのトグルキーを使わずにCTRL-^で切り替える)
>>926 vi協調モードがある分uimの方がマシかもね。少しだけ。
latex-suiteのヘルプの日本語訳ってまだないんですか?
もしないなら暇なときにやってみようかなあと思うんですが。
>>927 丁寧にどうもです。
scim使ってたんですが、これを期にuimに乗り換えました。
vi協調モード、快適です。
ありがとうございました。
scimはover-the-spotが使えるから
>>908みたいに
挿入モードで激しく:imapしてるプラグインを使っても大丈夫
uim-vim、scim-vimはどうよ
934 :
930:2007/03/03(土) 00:36:24
>>908見落としてました。
これは痛いですね…これ克服できないんじゃuimは無理ですね。
実は
>>929も僕なんですが、まだ日本語でlatex-suite使ってなかったんで
全く気付きませんでした。
latex-suite使ってる人はみんなscim使ってるんですかねえ…
935 :
930:2007/03/03(土) 05:13:34
苦労しましたがなんとか解決しました。
vim7.0で、全てのパッチを当てた後、さらにこちら
http://yukihiro.nakadaira.googlepages.com/ のim patchというのを当ててmakeしたらOKでした。
ただし、そのままではlatex-suiteが自動起動されず、
let g:tex_flavor = "latex"
をする必要がありました。(これはけっこうはまった、、、)
これで、拡張子texのファイルを開くと自動的にlatex-suiteが有効になります。
uimでの入力も正常にできます。(anthyもSKKもOKでした)
たぶん(簡単には)出来ないと思うけど質問。KaoriYa最新版WinXPです。
分割ウインドウを下のようにしたいです。
======
フ || file2
ァ || ===
イ || file3
ル || ===
1 || file4
======
ファイル1の部分はnetrw(?)とかいう、「:e .」で出てくるのにしたいのです。
file2〜4(実際はもっと)はnetrwから開きたいです。
(1)Vimを立ち上げる
(2)「:e .」
(3)netrwで適当なファイルを選んで「o」
※この時点で左にnetwr、右にfile2となり、かなり幸せ
(4-A)netrwのウインドウに戻って適当なファイルで「o」
※縦割りに三つのウインドウになってしまう
(4-B)netrwのウインドウに戻って適当なファイルで「v」
※左のウインドウが横割りに二分割になってしまう
→右のウインドウを横割りに二分割したい、その次のファイルも右のウインドウに出したい
937 :
908:2007/03/03(土) 12:30:22
>> 935
そんなパッチがあったんですね.
今からコンパイルして試してみます.
938 :
908:2007/03/03(土) 12:39:17
日本語でも問題なく入力できるようになりました.
皆さんどうもありがとうございます.
Vim7用にformat.vimを修正してみました。
http://www.kaoriya.net/testdir/format_vim-1.7rc2.zip $VIMRUNTIME/plugin/format.vimに上書きして使ってください。
主な変更と特徴は以下の通りです。
* formatoptionsのaフラグには非対応(難し過ぎ!)
* formatexprを使ったので、モーションとの組合せが完璧になった
* 入力途中の自動改行でも禁則を考慮するようになった
+ ぶら下がりは考慮していない
+ 禁則により改行できない場合は、禁則を破って改行する
試用してバグや要望を出してくれる人がいると助かります。
>>935 それたぶん q と . が使えなくなるのでこのコードも追加したほうがいいかもしんないです。
あと完成度はかなり低いんでそのつもりで。ほとんど問題ないとは思いますが。
diff -r b78008b446f1 -r 84cf8763794e src/getchar.c
--- a/src/getchar.c Wed Feb 28 12:47:30 2007 +0900
+++ b/src/getchar.c Sun Mar 04 07:54:34 2007 +0900
@@ -1606,6 +1606,8 @@ vgetc()
curbuf->b_p_fo = "";
curbuf->b_p_fex = "";
++no_mapping;
+ ++allow_keys;
+ block_redo = TRUE;
continue;
}
else if (c == K_IM_SEQUENCE_END)
@@ -1613,6 +1615,8 @@ vgetc()
curbuf->b_p_fo = p_fo_save;
curbuf->b_p_fex = p_fex_save;
--no_mapping;
+ --allow_keys;
+ block_redo = FALSE;
continue;
}
}