Vim Part15 at UNIX
[2ch|▼Menu]
[前50を表示]
600:名無しさん@お腹いっぱい。
08/09/23 10:49:14
>>599
カーソル位置の数値を行番号とみなして、
その(行番号の)行を置き換えしたい

ってことじゃないかな?

601:名無しさん@お腹いっぱい。
08/09/23 11:03:08
aaaBBBBaaaBB
aaaaBBaaBBB
BBBaaaaBBBB
aaBBBBaaaBB

cccBBBBaaaBB
ccccBBaaBBB
BBBaaaaBBBB
ccBBBBaaaBB

のように、行頭にある特定の文字だけを同数の別の文字に置き換えたいのですが
どうすれば良いでしょうか?

602:名無しさん@お腹いっぱい。
08/09/23 11:20:41
s/^\(a*\)/\=tr(submatch(1),"a","c")/

603:名無しさん@お腹いっぱい。
08/09/23 12:45:37
おおおおーそんなことができるんですかあ
ありがとうございました!

604:名無しさん@お腹いっぱい。
08/09/24 17:44:57
FreeBSDでvim 7.2を--enable-multibyte --with-features=big&パッチ1-22まで適用してコンパイルしたんですが、
「vim .」とかでファイルエクスプローラを起動するとディレクトリの頭に固定で"e"がついて移動とかができません。
皆さんの環境では発生していませんか?


605:名無しさん@お腹いっぱい。
08/09/24 18:08:25
ああ、本当だ。dired(?)なんて使わないから全然気付かなかった。
ちなみに v7.2 パッチなし。

606:名無しさん@お腹いっぱい。
08/09/27 15:05:44
vim使いの人に質問です。
vimで、任意の文字列を削除してからそこに決まった文字を挿入する操作を繰り返す場合、
どのような操作を行えば楽でしょうか?

例えば、
if (abcdef == 1) { aaaa(); }
if (ghijkl == 2) { bbbb(); }
if (lmnop == 3) { cccc(); }
 ↓
if (xxxx == 1) { aaaa(); }
if (xxxx == 2) { bbbb(); }
if (xxxx == 3) { cccc(); }
のような編集をしたい場合です。

windowsのテキストエディタだと、クリップボードに「xxxx」を入れた状態で、
変更したい範囲をマウスかShift+矢印で範囲選択してCtrl+V、
という操作を繰り返すところですが、vimだと任意の文字列を削除した時点で
レジスタの内容が削除した文字に置き換わってしまうため、
削除→貼り付けという操作が楽に行えない気がします。

607:名無しさん@お腹いっぱい。
08/09/27 15:45:10
xxxxを""以外のレジスタに入れといて
たとえば"aなら"apでペーストできる
詳しくは :h registersで

繰り返しはマクロを使うとか:sで置き換えるとかお好みでどうぞ

608:名無しさん@お腹いっぱい。
08/09/27 16:03:24
3カ所ぐらいならcwでワード置き換えて.で繰り返しだな。俺の場合。


609:名無しさん@お腹いっぱい。
08/09/27 21:23:01
>>606
>vimで、任意の文字列を削除してからそこに決まった文字を挿入する操作を繰り返す場合、
単純に、正規表現による置換を知らないのでは?

:%s/if\s*(\s*\w\+\s*==/if (xxxx ==/

とか。

「 最初に "if" があり、0 個以上の空白、"(" があり、0 個以上の空白、
1個以上の英数字があり、0個以上の空白、最後に == がある」文字列



「if (xxxx ==」

に置換します。

610:名無しさん@お腹いっぱい。
08/09/27 23:53:43
すれ違いだが、switch文使わないの?

611:名無しさん@お腹いっぱい。
08/09/28 00:08:13
質問者ではないが、
switch文にdefaultラベルがないとワーニングを吐くコンパイラもある。
空default書くだけでパスできるのだが、あまりスマートでもない気もする。
俺なら分岐の数が3つくらいなら、可読性が損なわれないならifの羅列にする。

612:名無しさん@お腹いっぱい。
08/09/28 13:40:36
コマンドモードのTABによるキーワード補完で
大文字/小文字の区別をしないようにするには
どう設定すればいいですか?

613:名無しさん@お腹いっぱい。
08/09/28 16:59:05
任意の単語に移動して
qqでマクロ開始して
ciw で単語を消して入力モードに入って
xxxxxと打ち込んだらエスケープして
q を押してマクロおえる

次の任意の単語に移動して@@でその単語も書き換える

614:名無しさん@お腹いっぱい。
08/09/28 17:54:30
ちょw

615:名無しさん@お腹いっぱい。
08/09/28 19:45:27
X上のターミナルエミュレータ+screen上でvimを使っていて
screenをデタッチ→Xを終了するとvimまで落ちてしまう
vim -Xだと落ちないけど"*が使えなくなる
-X無しで起動しつつXに釣られて落ちない方法はないですかね

616:名無しさん@お腹いっぱい。
08/09/29 11:13:48
vim Part2
スレリンク(software板:921-番)

921 名前:KoRoN@Vim%Chalice ◆8XALICEsdk [sage] 投稿日:2008/09/29(月) 09:33:04 ID:xoVgrKPO0
週末、Bramに会うことになったんだが…何か聞いてほしいネタはあるかな?
当方、英語力が低いのであまり高度な内容は無理。ゴメン

617:名無しさん@お腹いっぱい。
08/09/29 23:50:31
>>607-614
ありがとうございました。
例としてはif文を出しましたが用例は様々なパターンがあって、
保持している文字とある範囲の文字を置き換える操作全般に適用できる方法が
何かないかと思って質問させてもらいました。
("aPは、日常的に使う操作にシフト操作付きの3ストロークだとキツイと思いました)

618:名無しさん@お腹いっぱい。
08/09/30 01:56:12
俺もciwで続きは . だなあ。
ヤンクがすっ飛んだら u <C-R> yiwで拾いなおしたりしてる。なんかまぬけだけど。

619:名無しさん@お腹いっぱい。
08/09/30 18:05:45
C-aでインクリメントしていくと、たまに数字が飛ぶことがあるのですが、
(17の上で C-a すると 20になるなど
これは何かの設定になるのでしょうか?

620:名無しさん@お腹いっぱい。
08/09/30 20:36:38
017、のtypoという前提で。

:he nrformats

うちは8進認識だけ勘弁して欲しかったので以下のように。
:set nrformats -= octal

621:名無しさん@お腹いっぱい。
08/10/01 08:01:55
shをオートインデントさせたいんだけどできますか?

622:名無しさん@お腹いっぱい。
08/10/08 23:28:08
1週間以上経つが未だ↑の意味が分からない。

623:名無しさん@お腹いっぱい。
08/10/08 23:37:41
>>622
set filetype=sh
syntax on
set ai

とかでいいんじゃない

624:名無しさん@お腹いっぱい。
08/10/09 00:24:49
3行目だけでいいんじゃない、と思う。

625:名無しさん@お腹いっぱい。
08/10/10 11:15:18
拡張子shのシェルスクリプトファイルに対し、オートインデント機能を自動で適用したい。

という意味であったと、>>623を見てようやく理解できた。

もしかしたら、シェルスクリプト特有のインデントを行いたい、という意味も含んでいるのかもしれない。

626:名無しさん@お腹いっぱい。
08/10/11 10:08:45
ワイドモニタばかりのご時世なのでこんなスクリプトを書いてみたんですが、
もっとちゃんとした、こういうプラグインってありませんか?

function! s:SynchronizeWindow()
  let dctView = winsaveview()
  let nCurWin = winnr()
  let nCurBuf = bufnr("%")
  let nCurTop = dctView["topline"]
  let nCurBot = line("w$")
  exe nCurWin+1 . "wincmd w"
  let isOtherWin = nCurWin != winnr()
  if isOtherWin
    let dctView["topline"] = min([nCurBot+1, line("$")+1 - winheight(".")])
  else
    exe nCurWin-1 . "wincmd w"
    let isOtherWin = nCurWin != winnr()
    if isOtherWin
      let dctView["topline"] = max([nCurTop - winheight("."), 1])
    endif
  endif
  if isOtherWin
    if nCurBuf == bufnr("%")
      let lstPos = getpos(".")
      call winrestview(dctView)
      let lstPos[1] = max([min([lstPos[1], line("w$")]), dctView["topline"]])
      call setpos(".", lstPos)
    endif
    exe nCurWin . "wincmd w"
  endif
endfunction



627:626
08/10/11 10:10:27
すいません、↑は
隣のウィンドウを今のウィンドウのbottom+1
から表示するものです。

628:名無しさん@お腹いっぱい。
08/10/11 20:21:19
scrollbindとか?

629:名無しさん@お腹いっぱい。
08/10/12 21:24:18
おれならこうかく
function! s:SynchronizeWindow()
  let nCurWin = winnr()
  let nCurBuf = bufnr("%")
  let nCurTop = line("w0")
  let nCurBot = line("w$")
  wincmd w
  if nCurWin != winnr() && nCurBuf == bufnr("%")
    execute printf("normal! %dzt", nCurBot + 1)
  endif
  wincmd W
  wincmd W
  if nCurWin != winnr() && nCurBuf == bufnr("%")
    execute printf("normal! %dzb", nCurTop - 1)
  endif
  wincmd w
endfunction

630:626
08/10/13 21:42:49
>>628
scrollbindってオフセット付きじゃなくて
同じ行からの表示ですよね?

>>629
そうか、normalでノーマルモードの
キーバインドが実行できるんですね、
勉強になりました。


631:名無しさん@お腹いっぱい。
08/10/14 16:33:36
>>630
>>628じゃないけど。

オフセット付きとか関係なくて、scrollbindしたタイミングでbindされるよ。

:e hoge.txt
gg
:vsplit
<C-W>l
<C-F>
:windo set scrollbind
<C-W>h
<C-D>

という感じでできたよ。

632:名無しさん@お腹いっぱい。
08/10/15 20:56:25
kaoriya版のVim 7.1を使っています。
gvimでコマンドモードで複数のファイルをタブで一斉に開く方法ありませんか?
コマンドプロンプトからで言うと以下のようなイメージなんですけど。
start gvim.exe --remote-tab-silent <file1>
start gvim.exe --remote-tab-silent <file2>

633:名無しさん@お腹いっぱい。
08/10/15 21:28:03
:argadd <file1> <file2>
:argdo :tabedit
とか?

634:名無しさん@お腹いっぱい。
08/10/15 22:42:29
>>633
どうもありがとうございました。
初めて知りました。

635:名無しさん@お腹いっぱい。
08/10/19 00:22:35
挿入モードからコマンドモードに切り替えるときに,
全角入力なら半角入力に切り替えてくれるような方法ってありませんか?

636:名無しさん@お腹いっぱい。
08/10/19 00:50:36
挿入時にのみ日本語変換機能がonになるskk.vimに、日本語変換を変更する。

637:名無しさん@お腹いっぱい。
08/10/19 01:37:24
>>635-636 の流れはテンプレ化しそうだなw

638:名無しさん@お腹いっぱい。
08/10/19 18:03:26
>>636
ありがとうございます.ためしてみます.

639:名無しさん@お腹いっぱい。
08/10/22 08:05:01
vimをportsからインストールしましたが、ディレクトリを開いたあとに、ディレクトリ一覧からもう一度
ディレクトリを選択して表示することができません。。。。
" ============================================================================
" Netrw Directory Listing (netrw v132)
" ============================================================================
e./
e.snap/
edev/
eetc/

(etcで enterを押したら、その下に動くようにしたい)
:version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Oct 4 2008 17:05:37)
Included patches: 1-6, 8-14
Big version with GTK GUI. Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +cryptv +cscope
+cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer +fork() -gettext
-hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap +menu +mksession +modify_fname +mouse +mouseshape +mouse_dec
-mouse_gpm -mouse_jsbterm +mouse_netterm +mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg -osfiletype +path_extra -perl +postscript +printer
-profile -python +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent -sniff +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl
+terminfo +termresponse +textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup
+X11 +xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save

640:名無しさん@お腹いっぱい。
08/10/22 19:57:29
だから、ディレクトリ名に "e." が付くせいで駄目なんじゃないかって、上の方で誰かが言ってたじゃん。

641:名無しさん@お腹いっぱい。
08/10/23 21:14:46
[表示] - [メニューバーの表示] のチェックを始めから
外しておくようにするには、どうしたらいいのでしょうか?

642:名無しさん@お腹いっぱい。
08/10/23 23:51:35
表示 メニューバーの表示というものが見あたらないけど、たぶんgvimrcに以下のものを書いておけばいいと思う。
set go-=m
やりたいことと違ってたらごめんね

643:名無しさん@お腹いっぱい。
08/10/29 00:11:00
vimrcが開けません。
$ vi /home/ユーザ名/.vimrc
のどこが間違えてるわけ?


644:名無しさん@お腹いっぱい。
08/10/29 00:29:26
まず.vimrcが存在するのか確かめてみては

645:名無しさん@お腹いっぱい。
08/10/29 01:43:09
OS:Debian 4.0r5
Gvim

vim-LateXをサイトにしたがって~/.vim以下に展開、.vimrcに設定をコピペ
したのですが.texファイルを開いても一切メニューに表示されません
どのようにすればいいのでしょうか?
よろしくお願いします。

646:名無しさん@お腹いっぱい。
08/10/29 02:43:24
>>643
vi ~/.vimrc ってやってみたら?

647:名無しさん@お腹いっぱい。
08/10/29 02:44:25
>>645
:scriptnames の結果を見る

648:名無しさん@お腹いっぱい。
08/10/29 20:25:28
>>643
一般ユーザーで他のユーザーの .vimrc を開こうとしているとか…

649:名無しさん@お腹いっぱい。
08/10/29 22:18:05
開けない原因も出力しないVimって・・・

650:名無しさん@お腹いっぱい。
08/10/29 22:27:32
>>643の内容はスレ違いだと思うんだが。

651:名無しさん@お腹いっぱい。
08/10/30 10:58:25
>>650
するどいお!

652:名無しさん@お腹いっぱい。
08/10/31 20:40:16
最近 Bram がアップデートしないから、みんなネタ不足なんだ…

653:名無しさん@お腹いっぱい。
08/11/01 20:12:52
Vimのロードパス(?)設定って何処ですればいいのでしょうか?
Gvimの:sh上でのwhichの結果とコンソール上のvimのwhichの結果に
違いが生まれてしまいます。よろしくお願いします。

654:名無しさん@お腹いっぱい。
08/11/02 22:08:27
which の結果は $PATH 環境変数によって変わる
vim は $PATH を書き換えない (普通は)
.shrc とかでなんか変なことになってんじゃないの

655:名無しさん@お腹いっぱい。
08/11/04 23:58:38
行番号の色を変えたくて、
URLリンク(www.ac.cyberhome.ne.jp)
ここを参考に、.vimrcに
hi linenr guifg=red guibg=black
と記述したのですが、変わりませんでした。
どうすればいいのでしょうか?

656:名無しさん@お腹いっぱい。
08/11/05 02:22:12
gvimなのかvimなのかちょっとわからん。
:highlight linenr ctermfg=1
ってやるとどうなるんだろう。

657:名無しさん@お腹いっぱい。
08/11/05 10:28:34
>>655
:scriptnames

とやってこれまでにロードしたファイルをみてみ
最後に設定した色指定が使われる
おそらくgvimrcから読み込まれるカラースキームが使われている

ちなみにguibgとguifgならvimrcでなくgvimrcに書く類のものだが、
当然書いても無駄で、常に自分の設定を適用したいのなら
次のようにする

augroup MyColorScheme
 autocmd!
 autocmd ColorScheme * highlight LineNr guifg=red guibg=black
augroup END

658:名無しさん@お腹いっぱい。
08/11/05 10:53:27
あぁごめん
colorscheme読み込んだ後なら.gvimrcに
highlight LineNr guibg=red guibg=black
とかいてもいいかもしらん

659:655
08/11/05 17:49:27
後出しになってしまい、すいません。
gvimではなく、vimです。

>>656-658
出来そうなものを試してみましたが、変化ありませんでした。


660:名無しさん@お腹いっぱい。
08/11/05 17:52:38
vimならguifgとguibgじゃなくてctermfgとctermbgじゃないか

661:名無しさん@お腹いっぱい。
08/11/05 17:57:19
quickrun.vimとかいう日本人がつくったプラグインを見かけたんだが、
これは$HOME/.vimfiles/ftplugin/ruby.vimとか各ファイルタイプの設定ファイルで
setlocal makeprg=ruby\ %
とかにしといて、実行するときはいつも
:make
するほうがvim的なルールにのっとってないか

このときmapはグローバルでもバッファローカルでもなんでもかまわない

662:655
08/11/05 21:44:50
すいません、やっぱり>>656さんの highlight linenr ctermfg=1 で、出来ました。
1〜9まではそれぞれの色がつき、10以降は文字と同じ色になったので、10にしておきました。
>>656-660さん、ありがとうございました。

また、もう1つお聞きしたいのですが、 syntax off で構文ハイライトをオフにしているのですが、
カッコ ” 「」、{}” にカーソルがあると、対のカッコがその時だけハイライトされてしまいます。
これをオフにできないでしょうか?
gvimではなく、vimです。

663:656
08/11/05 22:10:44
そりゃあよかった。

対のカッコがハイライトの件だけど、個人的にはハイライトよりもカーソルが
一瞬もってかれる事の方がいやだったので、謹製のプラグインを無効にしてる。
.vimrcに以下の行を。
let loaded_matchparen=1

664:655
08/11/05 23:39:04
>>663

できました。これで、だいぶ見やすくなりました。
ありがとうございました。

665:名無しさん@お腹いっぱい。
08/11/06 03:12:51
>>661
quickrunの主旨はVim内でちょっとしたスクリプトを書きつつ
その実行結果を別のウィンドウでチェックすることです。
なのでquickfixは使えませんよ。

666:名無しさん@お腹いっぱい。
08/11/06 18:07:17
>>665
そうだったのかthx

667:名無しさん
08/11/07 09:34:18
:helptag $HOME/.vim/doc

.vimにあるヘルプは読めるようになったんですけど
元のグローバルなヘルプを読もうとするとVimが凍り付いてしまい
ます。^zも効かないので仕方無く仮想端末からkillしてます。

何が悪かったのでしょうか?

668:名無しさん@お腹いっぱい。
08/11/07 11:41:33
おつむが悪いんでしょうねぇ^^

669:名無しさん@お腹いっぱい。
08/11/07 15:26:09
すいません、ある拡張子のファイルを開いたとき、
自動的にC++のシンタックスハイライトが適用されるようにできますか?

自分でシンタックスファイルを作る、とかは出てくるんですが、
既存の色分けを他の拡張子にも適用させる方法が見つからなくて。(´Д`;

670:名無しさん@お腹いっぱい。
08/11/07 16:18:07
vimの色をRGB値で任意指定することって無理でしょうか?

671:名無しさん@お腹いっぱい。
08/11/07 16:34:11
>>670
gvim?

672:名無しさん@お腹いっぱい。
08/11/07 16:58:00
普通のvimです。gvimじゃないと色設定はできないのですか?

$ which vim
/usr/bin/vim
$ vim --version
VIM - Vi IMproved 6.3 (2004 June 7, compiled Aug 10 2005 18:49:40)


673:名無しさん@お腹いっぱい。
08/11/07 17:06:10
>>669
C++の亜種っぽい言語のシンタックスファイルを自作したときにC++のシンタックスを流用したことがある。
そのときはWindows版のgVimで試したけど、

(Vim7インストールディレクトリ)/runtime/filetype.vim

を編集して

au BufNewFile,BufRead *.<<拡張子>> setf <<言語名(C++ね。多分cpp)>>

という一行を付け足したら自動的にシンタックスが適用されたと思う。
参考になればどうぞ

674:670
08/11/07 18:22:51
調べたら、#ffffffでの色指定はgvim専用なんですね。諦めます

675:名無しさん@お腹いっぱい。
08/11/07 18:42:11
>>673
:setfiletypeだとfiletype pluginなどもC++のものが使われてしまう。
ハイライトだけなら:setlocal syntax=cppとすべき。

それとfiletype.vimはファイルの種類を判定・設定するために用いるものだから、
このケースでそれを編集するのは、効果的には間違ってはいないけど、良いとは言えない。
書くなら$MYVIMRCの方にすべき。

もしファイルの種類の判定・設定について独自のものを追加するとしても、
それは個人的なカスタマイズなのだから、$VIMRUNTIME下のファイルを編集すべきではない。
書くなら'runtimepath'中のいずれかのディレクトリ下のftdetect/{任意の名前}.vimにすべき。

676:名無しさん@お腹いっぱい。
08/11/08 01:57:09
:set listした時に全角スペースに色づけする方法は無いでしょうか?

制御記号表示の時は全角スペースに色が付き
非表示の時は色無しという風にしたいのです。

677:名無しさん@お腹いっぱい。
08/11/08 11:31:39
バッファの行追加/削除をスクリプトから検知するのは無理ですか?

678:名無しさん@お腹いっぱい。
08/11/08 11:45:27
$ vim
プログラム 'vim' はまだインストールされていません。 次のように入力することでインストールできます:
sudo ln -s /usr/bin/emacs /usr/local/bin/vim
bash: vim: command not found

679:名無しさん@お腹いっぱい。
08/11/08 12:16:47
>>677
autocmd にファイルの変更はあるけどバッファの変更はねーな

680:名無しさん@お腹いっぱい。
08/11/08 14:11:11
>>676
'list'に応じて自動的に変えるのは無理。
'list'切り替え用のコマンドを作って、そこでハイライトの設定を変える方法はあるけど、
そのコマンド以外の手段で'list'を変更されたときに困るね。

>>677
BufferChangedのようなイベントはないし、Bramさんにリクエストしても追加されない可能性が高いと思う。
さっきちょっと試した範囲ではCursorMovedで代用できなくはない感じだったけど、
それではカバーしきれてないケースがあるかも知れない。

681:680
08/11/08 15:29:26
>>677
追記: 変更があったかどうかはb:changedtickを利用すれば分かる。

682:677
08/11/08 15:53:03
>>679-681
やっぱりバッファ監視用のイベントがないと難しいみたいですね
>>680さんのCursorMoved+b:changedtickを使ってみましたが
当然のことながらddやpのような、カーソルが動かない変更には対応できませんね
もう少し考えてみます。どうもありがとうございました

683:名無しさん@お腹いっぱい。
08/11/08 16:14:29
:help todo | /BufChange/

684:名無しさん@お腹いっぱい。
08/11/08 19:01:20
続けるにはENTERを押すかコマンドを入力して下さい。

これを出さないようにしたいのですけど、どうやればいいですか?

685:名無しさん@お腹いっぱい。
08/11/08 20:18:31
Vimを終了するには :quit<Enter> と入力してください

は出なくていいと思う。
わざわざ出さないようにしたいとは思わないけど。

686:名無しさん@お腹いっぱい。
08/11/08 20:25:59
誰もがvim/vi経験者だと思ってはいけない

687:680
08/11/08 21:51:30
>>682
いやいや、反応するよ。ちゃんと試してみて。

688:名無しさん@お腹いっぱい。
08/11/09 01:19:15
set cmdheight=2
とかにすればそれが出る回数が減るかもね

689:名無しさん@お腹いっぱい。
08/11/10 14:56:04
>>673,675
おお、そんな方法があったんですか。
どこかに登録するような気はしてたんですが。(´Д`;

filetype.vimだとよろしくないようなので、
~/_vimrcに>>673のを書いてみました。

一応自動判別しているようなので、これで行きたいと思います。
ありがとうございました〜。

690:名無しさん@お腹いっぱい。
08/11/13 21:32:23
左Altをメタキーにしたいのですが、設定の「Altでメタビットをたてる」にチェック入れても、メタキーが効いてくれません。
xevで確認すると keycode 64 (keysym 0xffe9, Alt_L) と出るので、メタキーになってないのだと思いますが、
どうやったらいいのでしょうか?

ごった煮0.59です。

691:690
08/11/13 21:58:10
すいません、「Altでメタビットをたてる」のチェックを外すとメタキーが使えました。何やってんだろう自分・・・
でもそうすると、このオプションは何のためにあるんでしょうか

692:名無しさん@お腹いっぱい。
08/11/14 02:20:09
スレチ。

693:名無しさん@お腹いっぱい。
08/11/16 11:00:48
VimでC言語書いてるけど、新規ファイルで毎回filetype=cって打つのが
面倒なんですけど、デフォルトでファイルタイプを指定する方法を教えてください

694:名無しさん@お腹いっぱい。
08/11/16 17:01:58
>>693
vim hoge.c
という感じにすれば勝手になってない?

695:名無しさん@お腹いっぱい。
08/11/16 19:07:32
>>694
勝手になるよねぇ。ウチもなるし。
>>693 が「なっていない」と判断した根拠を知りたい。

696:名無しさん@お腹いっぱい。
08/11/16 19:09:37
新規バッファを開いたときにプレーンテキスト扱いなのが気に入らないんじゃね

697:名無しさん@お腹いっぱい。
08/11/16 21:02:12
emacsのC-.のように、カッコを自動で判別して閉じてくれる機能はないでせうか。
<html> の次で C-. と打ったら </html> としてくれるような

698:名無しさん@お腹いっぱい。
08/11/16 21:29:52
>>695
そりゃ単にvim起動したからだと思うけどね。
メモ帳を起動して、編集して、名前を付けて保存という流れ。

>>697
closetagというプラグインがあったように思うよ。ちょっと曖昧だけど。

699:名無しさん@お腹いっぱい。
08/11/16 22:24:25
>>693
新規でバッファを開くっていうのがよく分からないが、単に:newとしているならば、それは無名バッファだから普通はファイルタイプが設定されない
そうではなく、:new hoge.c や :e hoge.c としてもファイルタイプが設定されないのならば、
ftplugin.vimが読み込まれていないのかもしれない

700:名無しさん@お腹いっぱい。
08/11/16 22:48:24
>>698
どうもありがとうございました。
<input 〜〜〜> の次にタグ閉じようとすると </input> とかするの以外はいい感じです。

701:名無しさん@お腹いっぱい。
08/11/16 22:56:31
>>700
XHTMLに準拠してくれてるんだなあと前向きに解釈してみるのはどうかな

702:名無しさん@お腹いっぱい。
08/11/16 23:50:14
普通に説明書に書いてあるが、こうやって使う
:au Filetype html,xml,xsl source ~/.vim/scripts/closetag.vim

703:名無しさん@お腹いっぱい。
08/11/17 09:08:49
vimにおいてバッファとはどういう意味ですか?

704:名無しさん@お腹いっぱい。
08/11/17 09:50:53
タブブラウザにおける1枚1枚のタブみたいなものじゃないの

705:名無しさん@お腹いっぱい。
08/11/17 11:30:14
一概にバッファといってもヤンクバッファもあるわけで

706:名無しさん@お腹いっぱい。
08/11/17 14:51:50
>>693
.vimrc に
filetype plugin on
filetype plugin indent on
syntax on
とか書いてないんじゃ

707:名無しさん@お腹いっぱい。
08/11/19 23:12:34
Vim完全バイブル、絶版?

708:名無しさん@お腹いっぱい。
08/11/20 01:17:44
>>707
ブックサービスなら扱ってるぞ。amazonは品切だけど、待ってりゃ入るかも。


URLリンク(gihyo.jp)

709:名無しさん@お腹いっぱい。
08/11/20 09:15:21
v
i
m完全バイブ

710:名無しさん@お腹いっぱい。
08/11/20 10:18:39
まあヘルプファイルがあれば要らないけどな

711:名無しさん@お腹いっぱい。
08/11/20 10:35:13
まあソースコードがあれば要らないけどな

712:名無しさん@お腹いっぱい。
08/11/21 20:36:04
まあバイナリがあれば要らないけどな

713:名無しさん@お腹いっぱい。
08/11/21 22:19:44
なんでemacsに負けたの?

714:名無しさん@お腹いっぱい。
08/11/21 22:50:45
emacsって何?

715:名無しさん@お腹いっぱい。
08/11/21 23:21:27
いつ戦ったの?

716:名無しさん@お腹いっぱい。
08/11/21 23:46:18
emacsってなに?

717:名無しさん@お腹いっぱい。
08/11/22 00:23:38
それって食べれるの?

718:名無しさん@お腹いっぱい。
08/11/22 00:27:13
emacsさえあれば生きていけるという人がいるから
ひょっとしたら食えるのかもしれん

719:名無しさん@お腹いっぱい。
08/11/22 01:13:37
人はemacsのみにて生きるものにあらず

720:名無しさん@お腹いっぱい。
08/11/22 01:32:23
挿入モードから抜けるときに(Escを押したとき)、IMを自動でオフにする方法を教えてください。

721:名無しさん@お腹いっぱい。
08/11/22 01:36:53
>>720
UIMのVi協調モードを使う

俺はUIM嫌いだから使わないけど
試してみては?

722:名無しさん@お腹いっぱい。
08/11/22 05:40:41
どっちが勝ったかって言うとvimが勝ったんじゃね?
ユーザーの数が圧勝でしょ。

723:名無しさん@お腹いっぱい。
08/11/22 08:47:33
でもスレの勢いはEmacsの方が上だよ

724:名無しさん@お腹いっぱい。
08/11/22 11:33:16
でもスレの勢いはPHPの方が上だよ

725:名無しさん@お腹いっぱい。
08/11/22 12:42:34
敗北宣言を確認

726:名無しさん@お腹いっぱい。
08/11/22 13:17:59
emacsの勝利でいいじゃん
ついでにWindowsの勝利とかMS Officeの勝利とか
騒いでくれてもいいよ。

727:名無しさん@お腹いっぱい。
08/11/22 14:45:04
ヴァ、Vimの勝利…(笑

728:名無しさん@お腹いっぱい。
08/11/22 17:34:09
ヴァ?

729:名無しさん@お腹いっぱい。
08/11/23 04:46:13
ベ、ベ、Vimって発音しにくい。
その点エマクソは発音簡単だからうらやましいです^^

730:名無しさん@お腹いっぱい。
08/11/24 09:44:42
vim7 on centos5.2なんですが
vimをcuiで使うときっていうかvimならcuiなんですが
ステータスバーを常時表示するにはどうしたらいいのでしょうか。
と伺おうかと思いましたがヘルプが教えてくれたのでお暇します。
ありがとうございました。

:set laststatus=2

731:名無しさん@お腹いっぱい。
08/11/24 09:45:29
またきてしかく

732:名無しさん@お腹いっぱい。
08/11/24 20:33:52
デフォルトのカレントディレクトリがVimフォルダなのですが
これを変更する方法を教えてください

733:名無しさん@お腹いっぱい。
08/11/24 21:06:51
:cd
:lcd

734:名無しさん@お腹いっぱい。
08/11/24 21:13:15
すいません、説明不足でした
"デフォルト"のカレントディレクトリの変更する方法を教えていただきたいです

735:名無しさん@お腹いっぱい。
08/11/24 23:17:37
>>732
シェルからvimを起動すれば、今いる場所が普通にカレントになるはずだが……
Windowsで、スタートメニューか何かから起動してんのか?
なら、ショートカットのプロパティで「作業フォルダ」を書き換えればいい

736:名無しさん@お腹いっぱい。
08/11/24 23:18:32
>>734
.vimrc で cd

737: 
08/11/27 09:16:17
cindentでインデント量を設定するにはどうすればいいですか?
:set cino=4
こうやってみたんですけど違うようでした。

ちなみにshiftwidth=8でts=4です。

738: 
08/11/27 09:16:52
間違えました
tsも8です。

739:名無しさん@お腹いっぱい。
08/11/27 12:23:47
>>737
やりたいのは基本的なインデントの量を変えたいんだろうけど、それは
:set softtabstop=4
:set shiftwidth=4
ね。'tabstop'は極力弄らないのが基本。

あと'cinoptions'はどうインデントするかについての細かい指定
(例えばswitch-caseのインデントはどういう風にするかなど)。
詳細は:help cinoptions-valuesに書かれてある。

740:名無しさん@お腹いっぱい。
08/11/27 17:47:08
>>739
ありがとうございます
願いが叶いました

> ね。'tabstop'は極力弄らないのが基本。
>
> あと'cinoptions'はどうインデントするかについての細かい指定
> (例えばswitch-caseのインデントはどういう風にするかなど)。
> 詳細は:help cinoptions-valuesに書かれてある。
tsは8のままにしておくほうが良いのですね。
とても参考になりました

741:名無しさん@お腹いっぱい。
08/11/27 23:09:04
> 'tabstop'は極力弄らないのが基本。
そんなこたーない。
逆にstsなんて弄ったことないよ。

742:名無しさん@お腹いっぱい。
08/11/28 03:09:09
tabstopをいじらないのが基本というのが初耳なんだけど、なんで?

ts=4 sts=2 sw=2 でレイアウトされたであろうソースコードも結構見かけるし。

743:名無しさん@お腹いっぱい。
08/11/28 10:56:36
伝統的に標準のタブ幅が8だから、じゃないの
端末にしろWebブラウザにしろそうだよな
だから、ts=8以外のソースは、エディタ以外で表示すると表示がくずれる

しかし、EmacsやVimのようなエディタが主流ではないWindowsでは、タブ幅4派がかなり
多いように思う
インデントのためにタブを手で入力しているから、インデント幅=タブ幅のほうが
便利なんだろう
Vimでインデント目的でタブキーを打ち込むことなどまず無いが

744:名無しさん@お腹いっぱい。
08/11/28 11:06:08
>743

>Vimでインデント目的でタブキーを打ち込むことなどまず無いが

インデントは=か>>ってことですか?


745:名無しさん@お腹いっぱい。
08/11/28 11:29:27
>>744
うん、付け加えればCTRL-T, CTRL-Dも使う
基本は自動インデントに任せるからそれすら不要だけど

746:名無しさん@お腹いっぱい。
08/11/28 12:01:15
>> 745
CTRL-T/D知らんかった。。。

ついでに
単語を別単語で上書きしたいとき

ywしてdw"0P してるんですがもっと少ないキーストロークないでしょうか。



747:名無しさん@お腹いっぱい。
08/11/28 13:31:25
>>743
エディタ以外で表示のこと考えたらset etだろ。

748:名無しさん@お腹いっぱい。
08/11/28 13:32:33
連投すまん。

>>746
yiw して viwp でだめか。

749:名無しさん@お腹いっぱい。
08/11/28 13:50:44
>>747
タブ開いちまうと、1行弄っただけでも既存のソースの全行を壊しちまうから嫌
Pythonのソースは問答無用でタブを開くようにしてるけど

750:名無しさん@お腹いっぱい。
08/11/28 14:08:14
>>748

おお〜。vは漢じゃないと思ってましたがすばらすい。
iなくてもいけますね〜


751: 
08/11/28 15:02:43
お前ら楽しそうだな
ところで何の話かね?

752:名無しさん@お腹いっぱい。
08/11/28 15:28:57
>>749
壊すというのは?
差分として出るのがうぜえという意味であればdiffのオプションで空白無視するとかで。

>>750
iの有無は好みなのでおまかせっす。

753:名無しさん@お腹いっぱい。
08/11/28 15:40:07
>>752
VCS上の都合。まあその辺は運用でどうとでもなるっちゃなるけど、
本来編集したつもりのない行のデータまで全部変更してしまうのは
俺には乱暴に思える。

754:名無しさん@お腹いっぱい。
08/11/28 18:15:03
まあ、プロジェクトの途中で全部を変えるなんてのは確かに乱暴だな

755:名無しさん@お腹いっぱい。
08/11/30 13:10:13
ハードウェア屋さんがいたか

756:名無しさん@お腹いっぱい。
08/11/30 15:07:27
:e したら :tabe になるように cmap 出来ませんか ?

 cmap e tabe

で失敗しました。

757:名無しさん@お腹いっぱい。
08/11/30 17:22:35
フォント設定し直してから、閉じて起動するとまた元のフォントにもどってるんだけど?
希望するフォントを記憶させるにはどうしたらいいの?

758:名無しさん@お腹いっぱい。
08/11/30 19:45:03
設定ファイルを用意して、そこにフォントの設定を書くといいんだZE
guifontで検索するといいんだZE

759:名無しさん@お腹いっぱい。
08/11/30 21:54:49
>>756
:cab e tabe
じゃだめ?mapとは違うけど

760:756
08/11/30 22:16:03
>>759
行けました。
:cab って始めて知りました。ありがとう。

761:名無しさん@お腹いっぱい。
08/11/30 23:18:55
vim版のhowm風味のスクリプトを作っていたのだけど既に存在していたのか。
2006年以降更新はないがもうメンテナンスはされていないのかな。
まだ本家とくらべて実装されていない機能があるようだけど。

762:名無しさん@お腹いっぱい。
08/12/02 20:15:31
>>761
おまえどんだけバカなんだよw

763:名無しさん@お腹いっぱい。
08/12/02 22:52:19
>>762
根拠がよく分からないが、自分でスクリプトを作ろうと努力している人を馬鹿にしてはいけない。

764:名無しさん@お腹いっぱい。
08/12/02 23:59:21
>>757

set guifont

765:名無しさん@お腹いっぱい。
08/12/03 14:03:23
>>604 >>639
どうやら netrw.vim の問題みたい。
v123以前だと大丈夫でv128以降だと上記の症状が出る。

766:604
08/12/03 17:49:28
>>765
スクリプト解析しようとして挫折中。
誰か本家(?)に報告してくれないかなぁ…(´・ω・`)

767:名無しさん@お腹いっぱい。
08/12/03 21:05:20
linux板の質問スレで華麗にスルーされてしまったのでこちらで質問させてください。

vim使ってるときに、複数行をコメントアウトする際、短形選択して、Iでインプットモードに入り、#なり//なりを入力してescを押しますが、
escの代わりにctrl+cを使おうと思ってます。
.vimrcに map! <C-C> <Esc> と書いたら望みどおりの動作はするのですが、どうももっさりです。
ctrl-cを押してから、1秒ほど経ってからコメントアウトされるのが嫌なのです。

職場の環境では、ctrl-cで即座にコメントアウトされる端末があるのですが、どこにその設定がしてあるのか分かりません。
.vimrcと/etr/profile.d/vim.shと/etc/vimrcは見たのですが、特にマップを設定しているところはありません。

というわけで以下の2点を質問させてください。

1.ctrl-cを押したら即座にコメントアウトさせるにはどうすればいいか
2.職場の環境で、他にどこを見たらvimの設定が分かるのか

よろしくお願いします・・環境はfedora9です。

768:名無しさん@お腹いっぱい。
08/12/03 21:15:50
set ttimeoutlen=0

769:名無しさん@お腹いっぱい。
08/12/03 22:19:37
便乗して悪いけど。
<C-C>を<Esc>の代替にすると、どんな嬉しい事があるンすか。

770:名無しさん@お腹いっぱい。
08/12/03 22:29:21
押しやすいンじゃないかな

771:名無しさん@お腹いっぱい。
08/12/03 22:33:33
エレクチオンしてンな

772:名無しさん@お腹いっぱい。
08/12/03 22:50:40
>>768
うちの環境だとそれで駄目だったのですが、そのキーワードでぐぐったら noremap <C-C> <Esc> というのを見つけて、これで望みどおりの動作ができました。
ただ会社の環境はその値は-1で、こんなマップもしてなかったです。
>>769
ESCが遠いだけです・・ホームから指を離さざるを得なくて、使いづらいのです。


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

773:名無しさん@お腹いっぱい。
08/12/03 22:57:02
>>772
Ctrl+[ じゃ駄目なの?

774:名無しさん@お腹いっぱい。
08/12/03 23:00:04
>>772
Ctrl+[ じゃいかんのか?

775:名無しさん@お腹いっぱい。
08/12/03 23:05:17
>>772
Ctrl+[ じゃいけないのか?

776:名無しさん@お腹いっぱい。
08/12/03 23:20:02
>>773-775
C-[もC-3も遠いっす!遠いんだす!遠いの!

777:名無しさん@お腹いっぱい。
08/12/03 23:30:36
C-[ 遠くてタイプできねえんじゃ、そもそもvim使えねえだろ……

ってマジレスしちゃったごめん

778:名無しさん@お腹いっぱい。
08/12/03 23:38:35
>>761
↓でもうちょっと改良されてますよ。
URLリンク(d.hatena.ne.jp)

779:名無しさん@お腹いっぱい。
08/12/04 00:01:47
>>772
:echo mapcheck('<C-C>','i')
:verbose imap

780:名無しさん@お腹いっぱい。
08/12/04 07:27:57
vimをemacsと同じ操作方法にするにはどうすればいいのでしょうか?

781:名無しさん@お腹いっぱい。
08/12/04 08:11:23
emacsを使う

782:780
08/12/04 15:59:56
>>781
firefoxやmonodevelopはemacs風キーバインドできるじゃないですか?
最強エディタといわれるvimも当然できると思ったのですが無理なようですね・・・
こんなこともできないなんて・・・言われたとおりemacsを使うことにします

783:名無しさん@お腹いっぱい。
08/12/04 16:08:19
最強エディタはWindowsのメモ帳だろ

784:KoRoN%emonster
08/12/04 16:47:42
>>780
つvimacs

785:名無しさん@お腹いっぱい。
08/12/04 17:39:36
emacsをvimのキーバインドで使えるの?

786:名無しさん@お腹いっぱい。
08/12/04 17:42:29
viしか使えない環境というのはままあるけど
VimやIDEが使えるほどの環境ならEmacsくらい普通に使えるだろう

787:名無しさん@お腹いっぱい。
08/12/04 17:45:41
>>785
URLリンク(www.bookshelf.jp)

788:名無しさん@お腹いっぱい。
08/12/04 18:36:42
>>767
URLリンク(vim.g.hatena.ne.jp)

789:名無しさん@お腹いっぱい。
08/12/04 21:46:46
>最強エディタといわれるvim
誰が言ってるんだ。
vimはemacsのような新しい物に対応できないvi爺のためのエディタだし、
bashはcshのような新しい物に対応できないsh爺のためのシェルやど。

790:名無しさん@お腹いっぱい。
08/12/04 21:51:26
cshが「新しい物」って……w
bashも糞だがcshは本物の糞だ

791:名無しさん@お腹いっぱい。
08/12/04 22:02:21
zsh最強

792:名無しさん@お腹いっぱい。
08/12/04 22:26:08
>>790
ネタにマジレス?

793:名無しさん@お腹いっぱい。
08/12/04 23:25:51
エディタの「新しい物」て具体的になんですか
vimしかつかってない爺だからわかんないんだけど
emacsでできるすばらしいことなら大抵インポートされねーか


794:名無しさん@お腹いっぱい。
08/12/04 23:29:14
爺はemacsというイメージだったんだが。

795:名無しさん@お腹いっぱい。
08/12/06 09:25:35
オライリーからviの第7版が出たみたいだね
日本語版はいつ頃になるんだろう

URLリンク(books.google.co.jp)

796:名無しさん@お腹いっぱい。
08/12/06 22:42:38
vimで特定の行だけ非表示にすることって出来ますか?
折りたたみじゃなく完全に非表示にしたいのですが


こんなテキストがあったとき
行番号

1 |aaaaa
2 |bbbb
3 |cc     ←非表示
4 |ddddddd   ←非表示
5 |ee
6 |ff


こういう風に表示したいのですが
1 |aaaaa
2 |bbbb
5 |ee
6 |ff



797:名無しさん@お腹いっぱい。
08/12/06 23:11:42
>>795
おっ。今回vimのページがずいぶん増えてるようす。
期待しちゃうね

798:名無しさん@お腹いっぱい。
08/12/07 00:57:56
>>796
むり

799:名無しさん@お腹いっぱい。
08/12/07 01:51:05
>>1-798
お前らどうでもいいけど仕事しろよ
鉛筆でも使ってなさいってんだよw

800:名無しさん@お腹いっぱい。
08/12/07 15:25:14
>>796
折りたたみでできねーか

・展開しないようにする。'foldopen'に何も設定しない
・'foldtext'をいじる

801: 
08/12/07 15:27:46
> 折りたたみじゃなく完全に非表示にしたいのですが

802:名無しさん@お腹いっぱい。
08/12/07 20:30:24
>>800
>>801
だから鉛筆つかえっちゅーの!

803:796
08/12/07 22:30:27
完全に非表示にすることは無理ですか・・・・
回答ありがとうございました。




804:名無しさん@お腹いっぱい。
08/12/07 23:02:17
>>803
特定の行だけ表示ってのはあるから、なんとかできるんじゃない?
URLリンク(nanasi.jp)

805:名無しさん@お腹いっぱい。
08/12/08 00:08:14
いや、できん。
別にバッファを作って、そこにコードを書き出すなら、なんとか。
でも、同期の問題が

806:名無しさん@お腹いっぱい。
08/12/08 06:14:14
>>796
:split
:resize [行数]
で気分的にはできる

807:名無しさん@お腹いっぱい。
08/12/08 06:16:54
折りたたみ駄目なのか...

808:名無しさん@お腹いっぱい。
08/12/08 13:48:21
Chaliceでのあぼーんみたいに出来ない事は無いんじゃない?

809:名無しさん@お腹いっぱい。
08/12/08 20:27:21
>>795
手元にある入門vi第6版は英語版が1998年6月で日本語版の初版の日付が2002年5月
第7版が出るのは4年後だな

810:名無しさん@お腹いっぱい。
08/12/08 21:11:32
/で検索したり置き換えするときに、nowrapだと長い行でウィンドウからはみ出して見えないことがあるんですけど
なんとかなりませんか?
Vim7.2です

811:810
08/12/08 21:37:32
sidescrolloffを設定すれば見えるようになりました
どうもおさわがせしました。

812:名無しさん@お腹いっぱい。
08/12/12 09:12:28
gvim 7.1だと、カーソルが
コマンドモードのとき ■
挿入モードのとき |
と変わって非常にわかりやすいのですが、
同様の動作をvimで実現する方法はありますか?

813:名無しさん@お腹いっぱい。
08/12/12 13:39:31
Cをインタプリタ化するccod(URLリンク(ccod.sourceforge.net))というパッケージがあって、
#!/usr/bin/ccod
<?
printf("hello world\n);
?>
という風に記述するんだけど、#!/usr/bin/ccodをコメント、
<?から?>を{}と同じ1ブロックとしてprintf();を自動でイン
デントさせたいのだけど、c.vimをどのように書けばいいのでしょうか?

814:名無しさん@お腹いっぱい。
08/12/12 15:41:47
>>813
真剣にやるとめんどくさそう

ダウンロードしたところ拡張子はcみたいだけどまず"c.vim"は利用しないほうがいい気がする
コメントのほうはシンタックスに追加するだけなので影響ないかもしらんが
インデントのほうは他の正規のC言語のインデントが破壊されるぞ

新しくファイルタイプをccodと作ったほうがいいんじゃないのかな
拡張子でなくシーバング読んでファイルタイプを変更するようにfiletype.vimも自前で作ったほうがいいと思う

815:名無しさん@お腹いっぱい。
08/12/12 17:00:35
>>812
vimはコンソール上で表示するんだから
|が表示できるわけないだろハゲ

816:名無しさん@お腹いっぱい。
08/12/12 18:55:42
>>812
help 'guicursor'

817:812
08/12/13 17:45:36
>>816
ありがとうございました。色々と勉強になりました。

818:名無しさん@お腹いっぱい。
08/12/15 00:13:11
sh

819:名無しさん@お腹いっぱい。
08/12/15 00:13:47
途中送信しちゃった
shをindentする方法ないでしょうか?

820:substitute
08/12/15 20:43:58
:%s/hoeg/hoge/gc
したときのカーソル部分の :hi はどのグループなのでしょうか ?


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5195日前に更新/188 KB
担当:undef