1read 100read
2012年1月2期UNIX7: Vim Part20 (162)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
・ 次のスレ
8: w3m その8 (371)
9: Cygwin使っている人いますか? その20 (842)
10: ■Solaris9 ってどうよ?■ (245)
11: FreeBSDを語れ Part32 (787)
Vim Part20
- 1 :11/11/25 〜 最終レス :12/01/26
- Vim 6以降に関する話題、Part20です。
http://www.vim.org/
前スレ
Vim Part19
http://hibari.2ch.net/test/read.cgi/unix/1308288838/
関連情報は>>2-8あたり。
- 2 :
- ■ 入手場所関連
- www.vim.org (総合情報・スクリプト・Tips)
http://www.vim.org/
- ソースコード他
ftp://ftp.vim.org/pub/vim/
-vim-jp >> Vimのユーザと開発者を結ぶコミュニティサイト
http://vim-jp.org/
- KaoriYa.net (Windows/MacOS Xバイナリ、掲示板)
http://www.kaoriya.net/
-vim UTF-8日本語版 - fudist
http://sites.google.com/site/fudist/Home/vim-nihongo-ban
■ vimの情報ソース(国内)
- VIM wiki
http://vimwiki.net/
■ 関連ツール・ライブラリ
- まっつんさん(im_custom他)
http://hp.vector.co.jp/authors/VA020411/Vim/
- libiconv (ソースコード)
http://www.gnu.org/software/libiconv/
- libiconv (Windowsバイナリ)
http://www.kaoriya.net/#LIBICONV
- ctags (日本語対応版)
http://hp.vector.co.jp/authors/VA025040/
- C/Migemo
http://www.kaoriya.net/#CMIGEMO
- Vim + im_custom の rpm 作成スクリプト
http://hp.vector.co.jp/authors/VA013241/editor/vim-rpm.html
- 3 :
- ■ 日本語ドキュメント
- 名無しのvim使い
http://nanasi.jp/
- Vim日本語ドキュメント(ユーザーマニュアル和訳)
http://vim-jp.org/vimdoc-ja/
■ サポート情報など
- Vi-IMproved.org (IRCの#Vim案内)
http://www.vi-improved.org/
- Vim Tips Wiki
http://vim.wikia.com/wiki/Vim_Tips_Wiki
- 日本の Vim ユーザのためのハブサイト
http://vim-users.jp/
- vim_jp
http://groups.google.com/group/vim_jp
- Vim Development
http://groups.google.com/group/vim_dev
- Vim Use
http://groups.google.com/group/vim_use
- 効率的なテキスト編集の7つの習慣
http://peace-pipe.blogspot.com/2007/02/7-vim.html
- Vimの極め方
http://whileimautomaton.net/2008/08/vimworkshop3-kana-presentation
- 4 :
- ■ 過去ログ・関連スレ
vim
- Part1 http://pc.2ch.net/unix/kako/990/990764339.html
- Part2 http://pc.2ch.net/unix/kako/1006/10062/1006246205.html
- Part3 http://pc.2ch.net/unix/kako/1019/10190/1019011083.html
- Part4 http://pc.2ch.net/test/read.cgi/unix/1034455617/ (dat落ち)
- Part5 http://pc.2ch.net/test/read.cgi/unix/1045365370/ (dat落ち)
- Part6 http://pc.2ch.net/test/read.cgi/unix/1058706125/ (dat落ち)
- Part7 http://pc.2ch.net/test/read.cgi/unix/1068963346/ (dat落ち)
- Part8 http://pc.2ch.net/test/read.cgi/unix/1073825479/ (dat落ち)
- Part9 http://pc5.2ch.net/test/read.cgi/unix/1086135625/ (dat落ち)
- Part10 http://pc5.2ch.net/test/read.cgi/unix/1096785924/ (dat落ち)
- Part11 http://pc8.2ch.net/test/read.cgi/unix/1110817975/ (dat落ち)
- Part12 http://pc8.2ch.net/test/read.cgi/unix/1132968803/ (dat落ち)
- Part13 http://pc11.2ch.net/test/read.cgi/unix/1151423973/ (dat落ち)
- Part14 http://pc11.2ch.net/test/read.cgi/unix/1174302567/ (dat落ち)
- Part15 http://pc11.2ch.net/test/read.cgi/unix/1202050038/ (dat落ち)
- Part16 http://pc12.2ch.net/test/read.cgi/unix/1232035011/ (dat落ち)
- Part17 http://hibari.2ch.net/test/read.cgi/unix/1258278511/ (dat落ち)
- Part18 http://hibari.2ch.net/test/read.cgi/unix/1284344926/ (dat落ち)
- Part19 http://hibari.2ch.net/test/read.cgi/unix/1308288838/ (dat落ち)
- 5 :
- vim @ソフトウェア板
- Part1 http://pc7.2ch.net/test/read.cgi/software/1138042433/ (dat落ち)
- Part2 http://pc11.2ch.net/test/read.cgi/software/1184593664/ (dat落ち)
- Part3 http://pc11.2ch.net/test/read.cgi/software/1224769266/ (dat落ち)
- Part4 http://hibari.2ch.net/test/read.cgi/software/1314189326/
Vim script
- Part1 http://hibari.2ch.net/test/read.cgi/tech/1319395708/
Mac Vim
- Part1? http://hibari.2ch.net/test/read.cgi/mac/1133534694/
Chalice(2ch閲覧プラグイン)
- Part1 http://pc.2ch.net/software/kako/1006/10068/1006852780.html
- Part2 http://pc2.2ch.net/software/kako/1021/10217/1021773436.html
- Part3 http://pc5.2ch.net/test/read.cgi/software/1046263908/ (dat落ち)
- Part4 http://pc7.2ch.net/test/read.cgi/software/1106153307/
vi
- Part1 http://pc.2ch.net/unix/kako/974/974563729.html
- Part2 http://pc11.2ch.net/test/read.cgi/unix/1020611467/
- Viと仲良くする方法
http://pc8.2ch.net/test/read.cgi/unix/1015432673/
- :::viクローン nvi:::
http://pc8.2ch.net/test/read.cgi/unix/1038571375/
- 6 :
- - 【Firefoxアドオン】Vimperator【Vim】
http://hibari.2ch.net/test/read.cgi/software/1282406907/
■ フレーム系
- テキストエディタをまた〜り語ろう ver.31
http://hibari.2ch.net/test/read.cgi/software/1303249708/
- Vim vs Emacs Part2
http://hibari.2ch.net/test/read.cgi/tech/1200654758/
- 【vi】まだまだ続くバトル【emacs】Build1
http://hibari.2ch.net/test/read.cgi/prog/1113759389/
- 秀丸をUnixに移植しろ!emacs,viはゴミ以下 3
http://pc8.2ch.net/test/read.cgi/unix/1110364337/
- vi撲滅委員会
http://hibari.2ch.net/test/read.cgi/linux/1218110255/
- 7 :
- 初歩的な質問で申し訳ないのですが教えて下さい。
挿入モードで入力しているときに前の行を修正したくなったら、
escキーを押してから移動しますか?
それとも、挿入モードのまま矢印キーで移動しますか?
どちらが正しいのでしょうか。
個人的には、いちいちescキーを押すのは面倒に思うのですが。
- 8 :
- まずescは押さない。<c-[>でノーマルモードに戻る
あるいはimapでキーを割り当てる
矢印キーは遠いから使いたくない
- 9 :
- それはVim 6以降に限った話題でないので、>>1さんがスレチと言うておられる。
- 10 :
- >>7
標準mappingでは、
CTRL-G k
または一時的にノーマルモードに戻るCTRL-Oを使って、
CTRL-O k
ってのがあります。
http://vim-jp.org/vimdoc-ja/insert.html#ins-special-special
- 11 :
- >>8
ありがとうございます。とても助かりました。
>>9
申し訳ありません。
- 12 :
- 返信書いている間に>>10さんの書き込みが・・・
>>10さんもありがとうございます。
- 13 :
- CTRL-Cで戻るのに慣れた
- 14 :
- 自分の場合、iBus通してmozcの設定上で無変換にmozcをONのまま半角英数入力にするように割り当てているのだけれど、
mapコマンドで無変換や変換キーを扱う方法はありますか?
Ctrl-vで打てるかと思ったけど、何も入力されてないみたいだ。termcapとかそっち系?
それともxevとかで無変換押したときに出てくる数字とか打てばなんとかなるとか?
外部のプログラムをかまさないと駄目?出来ればVimの中で完結させたいんだけど。
- 15 :
- <Leader>ってあるじゃないすか。
使い方は分かるんだけど、なんでこういう特殊なマッピングが用意されてるんでしょう?
let mapleader="▲"
map <Leader>A 〜
map <Leader>B 〜
let mapleader="△"
map <Leader>B 〜
map <Leader>C 〜
みたいに定義しておくと、まとまりごとにマッピングが切り替えられて便利だから、
っていう理由であってますか?
- 16 :
- >>15
プラグインでデフォルトで割り当てられているキーは<Leader>で始まることが多いから、
インストールしたけどキーマップを考えるのがだるいときに使うものじゃない?
俺はお試しで入れてみたプラグインや使用頻度の低いプラグインは<Leader>を使う
デフォルトキーマップで、頻度の高いプラグインだけ専用のキーにマップし直してる。
>>15みたいな使い方って想像もしていなかったよ。
- 17 :
- 俺は、GUI上とGNU screen上で使うときに<Leader>を切り替えて使えるように分岐を書いてる
- 18 :
- 12月です!
- 19 :
- vimuiex, popuplistを native Windows対応 + bugfix してみた。
http://sourceforge.net/projects/vimuiex/
http://code.google.com/r/markomahnic-vim-popuplist/
https://skydrive.live.com/?cid=0426991A3A631B5F&id=426991A3A631B5F%21191&sc=documents#cid=0426991A3A631B5F&id=426991A3A631B5F%21195&sc=documents
の vimuiex.tar.gz
要 change_directory
https://skydrive.live.com/?sc=documents&cid=0426991a3a631b5f#cid=0426991A3A631B5F&id=426991A3A631B5F%21191&sc=documents
の change_directory.tar.gz
コンパイルは付属のbuild.txtを参照。
- 20 :
- 現在開いているバッファのファイルパスをクリップボードにコピーする方法を教えて下さい
- 21 :
- がんばって考えてみたところ、これでできた。
:let @* = @%
- 22 :
- >>21
ありがとうございます。
- 23 :
- パスじゃなくね?
- 24 :
- なんなの?
- 25 :
- ファイル名
- 26 :
- 「path」ってのは「通り道」。
当該ファイルにどうやって行きつくかを書いた「/hoge/fuga/moge/file.txt」ってのがパス。
/からどうやって行くかを書いたのが絶対パス。
現在地からどうやって行くかを書いたのが相対パス。
- 27 :
- 勉強になるなあ
- 28 :
- Example.
パス(通る) + ポート(港)
>>27
中学からやり直せ
- 29 :
- >>28
paTHportすげぇ。俺持ってねぇ。
- 30 :
- 通り道じゃなくて通るに変えているあたりに何かの意図を感じるんだけど、こういうことかな。
Example.
パス(通過) + ワード(単語)
>>27
中学からやり直せ
- 31 :
- >>30
え?
- 32 :
- あぁ、ごめん意図が分かった
passportね
- 33 :
- オリンパスもね
- 34 :
- サロンパスもね
- 35 :
- ケムンパスもね
- 36 :
- chalice
スレタイに <, > があると <, > のままになる
- 37 :
- void function(int a,int b){
}
を
void function(int a, int b){
}
というふうに、「,」のあとで空白を自動的に入れたいのですが
何か方法ありますか?
- 38 :
- >>37
:map inoremap , ,<Space>
ただマッピングしまくると、コマンドヒストリで正規表現直接修正したり
いざコンマだけ入力したくなった時にイライラするハメになる。
自分の環境でしか通用しない変な癖は付けない方がいい。
:let mapleader = ","
inoremap <Leader>, ,<Space>
に設定すればコンマ2回素早く叩いた場合だけスペースを入力するようになる。
でもコンマとスペースを普通に続けて叩くのに比べて劇的な効果があるかは疑問。
よく使うからこそスペースキーはキーボードの特等席にでっかく陣取ってるわけで。
それならむしろコードを書いた後に直すべき箇所だけまるっと置換した方が健全だと思う。
:%s/,\ze[^ ]/, /g
- 39 :
- :map inoremap , ,<Space>
じゃなくて
:inoremap , ,<Space>
だったわ。ごめん。
- 40 :
- >>38
ありがとうございます。
段付け以外の複雑なコード整形は、外部プログラムに任せたほうがよさそうですね。
- 41 :
- そういう時のためのsmartchr.vim
- 42 :
- vimfilerに入った時だけ、spaceから始まるmapを全てなくしたいんだけど、(vimfilerではspaceで選択のため)どう書けばいい?
- 43 :
- >>42
.vimrc内で、
nmap <Space> [Space]
nnoremap [Space] <Nop>
のようにしておき、<Space>としていたマッピングを[Space]に変更する。
そうすると、vimfilerは<Space> -> [Space]のマッピングを置き変えるので、
prefixと被ることはない。
- 44 :
- sourceとruntimeはどう違うのですか?
- 45 :
- >>43
ありがとー!!!!!
- 46 :
- rootとvimrcを共用したいのですが
if $USER != 'root' && $SUDO_USER == ''
と分岐させると起動が0.3秒程遅くなってもたつきます。
共用してる人はどうやっているんですか?
- 47 :
- $ ln -s $HOME/.vimrc /root/.vimrc
とかじゃないの。
- 48 :
- j -> d のようにnnoremap リマップすると
jj で d↓ となって2行削除してしまいます
noremap すれば1行削除ですみますが
では この j(d) 入力後の j の扱いのみをdにするremap はどうするんですか?
- 49 :
- gfを拡張して、環境変数(${ENV}など)を含んだパスに対しても、gfでジャンプできるように
したいですが、下記だとうまく行きません。
どうすればいいか教えてください。
ちなみに、mapを未定義のものにすればうまく行きます。。。。
function! GoFileWithEnv()
try
normal gf
" catch /^Vim:Interrupt$/
catch
let orgfilepath = expand("<cWORD>")
while (orgfilepath =~ "\\${.*}")
let env = matchstr(orgfilepath,"${.\\{-\\}}")
let expandedenv = expand(expand(env))
let orgfilepath = substitute(orgfilepath,env,expandedenv,"")
endwhile
exe "edit ".orgfilepath
endtry
endfunc
nnoremap gf :call GoFileWithEnv()<CR>
- 50 :
- >>48
onoremapじゃないの
オペレータ保留モード でググるといいよ
- 51 :
- いま try-catch とかあるのか
>>49
normal! gf
がいいよね
- 52 :
- >>51
うわ!
normal!
ってやらないと、どうやってもmapされたコマンドが実行されるのね。
認識不足でした。map系のコマンドのhelpばっかり見ていました。
それで、会社に行ったときに試してみます!
- 53 :
- >>41
私も、詳しくは無いが。sourceもruntimeも共にexコマンドを読むのは
同じ。唯、runtimeはruntimeパスから読む点が違う。
h source
h runtime
でヘルプを見れば良いのでは。
- 54 :
- >>44
私も、詳しくは無いが。sourceもruntimeも共にexコマンドを読むのは
同じ。唯、runtimeはruntimeパスから読む点が違う。
h source
h runtime
でヘルプを見れば良いのでは。
- 55 :
- スペース2個のインデントをバックスペースキー1回で消せる設定ってどうやるんですか?
- 56 :
- >55
なんでそんなことがしたいの?
- 57 :
- >>56
slim-vimというプラグインを入れて:set ft=slimしたらそういうふうになって便利だったので
RubyとかJSとかを書くときもそうできるようにしたいと思いました
- 58 :
- じゃ、その slim-vim を調べろよw
- 59 :
- >>55
setl sts=2 et
- 60 :
- かぶるとこだった。
>>56
>>59をみれば何でそんなことがしたいかの動機はわかってもらえてると思いたい。
- 61 :
- ノーマルモードのスペースとエンターが→と↓に割り当てられてるのはもったいないからリマップしたいんだけど何がオススメ?
- 62 :
- ファイルタイプが html/markdown などのとき
選択中(visual)の Enter は、br 挿入
Shift + Enter は、br 削除にしている。
vnoremap <buffer> <cr> :s#$#<br />#<cr>:noh<cr>
vnoremap <buffer> <s-cr> :s#<br />##ge<cr>:noh<cr>
- 63 :
- >>59
できました。ありがとうございます。すごく快適になりました。
ちなみに今まではこのような指定になってました。
set expandtab tabstop=2 shiftwidth=2 softtabstop=0
softtabstopを設定する必要があるんですね。
softtabstopが0の場合はtabstopの指定が反映されるから0にしとけばいいと、どっかで見て書いた覚えがあります。
- 64 :
- .vim で K 押すと unix は man が起動されて win だと :help になるのって 'keywordprg' の default だったのか。.vim に限らずか。
- 65 :
- そういえば Insert mode と Command-line mode には undo がないんだよね。あったっけ?
i は気にならないけど c はたまに欲しくなるな。
- 66 :
- >>65
cmdwinを使えばできない事もない。
- 67 :
- q:
って、どうやって表示させたかわからないまま閉じる日々をすごしていたよ
- 68 :
- それは Command-line mode じゃあないからなあ。
結局 command-line window 内の Insert mode で同じ話になるし。
例えば補完時に補完前に戻すとかが面倒かな。
- 69 :
- >>67
何でこんなに誤爆しやすいとこに置いたのか理解出来ない
- 70 :
- fやtで移動するとき、行をまたがせる方法ってありますか?
- 71 :
- >>70
whichwrapでできないから無理かも
- 72 :
- >>70
*でやれば?
- 73 :
- えっち
- 74 :
- /で代用するのだとちょっと手順がもっさりして気になるんですよね
- 75 :
- ttp://vim.wikia.com/wiki/Capture_all_keys
これをちょっといじったらうまくいきました
ありがとう
- 76 :
- 挿入モードのときに<C-t>を押すと、その行のインデントを加算することができるようですが、
同じようにインデントを減らすコマンドもありますか?
:imap <C-t>で探してもマッピングされていませんと言われます。どうやって調べればいいのでしょう。
- 77 :
- そういうときは、
へるぷで、i_CTRL-tを検索するんだよ
だいたい、上か下に、探している項目があるだろう
- 78 :
- >>76
:h index
でgrepすれば逆引きができる
:h help.txt
を見るとこういうものがあることが分かるようになってる
- 79 :
- lispで-がiskeywordと見なされないんだけどなぜ?
確かに45が含まれてるしコマンドの方を特別いじってもいないんですが
- 80 :
- iskeywordとみなされないとは*で検索したとき含まれないということ?
- 81 :
- >>80
*みたいな単語単位のコマンドを使うときに-で区切ってくれないんです
:set iskeyword?
iskeyword=38,42,43,45,47-58,60-62,64-90,97-122,_
- 82 :
- neocomplcacheにおいて &l:omnifunc が ClangComplete のとき、
neocomplcache#manual_omni_complete() を使用すると SEGVる。
neocomplcache#manual_omni_complete() から
omni_complete.vim の s:source.get_complete_words() 内で
call('ClangComplete', [0, '']) が呼ばれると
g:clang_use_library == 1 のとき ClangComplete() で dllが使用されるとSEGVる。
これは g:neocomplcache_enable_prefetch の値に関係なく起こる。
gdb
Program received signal SIGSEGV, Segmentation fault.
0x004197e3 in ins_compl_next (allow_get_expansion=0, count=1, insert_match=1)
at edit.c:4611
4611 else if (compl_shows_dir == BACKWARD
https://github.com/Rip-Rip/clang_complete (d81ede0)
neocomplcacheで clang_completeを omni補完として使うパッチ
vim7.3.390 + Python 2.6.6 で動作確認。
https://skydrive.live.com/?cid=0426991A3A631B5F#cid=0426991A3A631B5F&id=426991A3A631B5F!105
clang_complete-clang2.9.patch clang2.9用。
native Windowsでのdllの名前は clang.dll である必要がある。
http://llvm.org/releases/2.9/clang-2.9-mingw32-i386.tar.bz2 で動作確認。
clang_complete-clang3.0.patch clang3.0用。
native Windowsでのdllの名前は libclang.dll である必要がある。
http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_30/final
http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_30/final
http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_30/final
で動作確認。native Windowsは要自ビルド。
両方とも cygwin で使用する場合、dllの名前は cygclang.dll である必要がある。
cygwinは ocaml がインストールされていると失敗するので
configureに --enable-bindings=none を付ける。
- 83 :
- 取りあえずの解決策
function! s:keys_to_complete()
if &l:filetype ==# 'vim'
return "\<C-x>\<C-v>\<C-p>"
elseif strlen(&l:omnifunc)
if &l:omnifunc ==# 'ClangComplete'
\ && exists('*neocomplcache#manual_omni_complete')
\ && exists('g:neocomplcache_omni_patterns.' . &l:filetype)
\ && len('g:neocomplcache_omni_patterns.' . &l:filetype)
return neocomplcache#manual_omni_complete()
else
return "\<C-x>\<C-o>\<C-p>"
endif
else
if &l:completefunc =~# '^neocomplcache#'
return "\<C-x>\<C-u>\<C-p>"
else
return "\<C-n>"
endif
endif
endfunction
if s:has_autoload('eskk')
imap <expr> <C-j> !eskk#is_enabled() ? <SID>keys_to_complete() . "\<C-n>" : "\<C-j>"
else
imap <expr> <C-j> <SID>keys_to_complete() . "\<C-n>"
endif
- 84 :
- × if &l:omnifunc ==# 'ClangComplete'
○ if &l:omnifunc !=# 'ClangComplete'
- 85 :
- >>77-78
ありがとうございます。参考になりました。
- 86 :
- :h termcap-cursor-color
によると、xtermではインサートモードのときカーソルの色を
変えられるらしい。うちのckではできなかった。残念。
- 87 :
- 昨日のVim Advent Calendarは欠番になっちゃったな。
正月だと難しいところもあるんだろうな。代打も出なかったようだし。
とにかくあと少しだから頑張ってくれ。
- 88 :
- ええ?なんだかんだでここの人たちにも見てる人いるんだ
- 89 :
- え、見るだろ?
- 90 :
- うう。。。
新しいskk.vim、"skk_external_prog"周りが変更になってる。。。
辞書サーバからの応答が何故文字化けするのか全然分かんなかった。。。
- 91 :
- Vim scriptスレさっそく落ちとるがな
- 92 :
- eskk.vim導入して、インサートモードで<C-j>してエンターキー押したら
<80>yS(eskk:filter:
)
と挿入されて困っています。
neocomplcacheも導入済み。
だれか
- 93 :
- skk.vimを使いなされ。
- 94 :
- Windowsで
slimv.vim - Superior Lisp Interaction Mode for Vim ("SLIME for Vim")
http://www.vim.org/scripts/script.php?script_id=2531
これ試そうとして
Lisp Cabinet
http://lispcabinet.sourceforge.net/
をインストールしたら環境変数PATHが消えてしまったので注意しよう
- 95 :
- すいません。
:!start $VIM . '/gvim.exe ' %
みたいなことをやりたいんですが$VIMが展開できません
:echo $VIM
との違いは何だろう?
ご教授願います
- 96 :
- すいません。事故解決しました。
execute ":!start ". $VIM. "/gvim.exe %"
- 97 :
- function! Restart()
try
"全て保存してあるとエラーを起こす。それを利用
bmodified
return
catch
" nop.
endtry
" :!start "C:\Program Files\vim73-kaoriya-msvc10_x64j\gvim.exe " %
execute ":!start ". $VIM. "/gvim.exe %"
execute 'qall'
endfunction
restart.vimのオプションで出来そう
- 98 :
- vimでファイルを開くと、^Mが行末に表示されるファイルがあるのですが、
これは何なのでしょうか?
表示しないようにするには普通どうしますか?
- 99 :
- ^M^
- 100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
・ 次のスレ
8: w3m その8 (371)
9: Cygwin使っている人いますか? その20 (842)
10: ■Solaris9 ってどうよ?■ (245)
11: FreeBSDを語れ Part32 (787)
-