Vim Part16
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2009/01/16(金) 00:56:51http://www.vim.org/
前スレ
Vim Part15
http://pc11.2ch.net/test/read.cgi/unix/1202050038/
関連情報は>>2-8あたり。
0663名無しさん@お腹いっぱい。
2009/09/08(火) 17:15:45入力モード、コマンドモードに関わらず、括弧上にカーソルが移動する「だけ」で、
対応する括弧上でブロックカーソルが表示されるようになってるけど、
これってどのオプションが効いてるの?
0664名無しさん@お腹いっぱい。
2009/09/08(火) 17:33:540665名無しさん@お腹いっぱい。
2009/09/08(火) 17:45:19:he matchparen
をみてみてください
0666名無しさん@お腹いっぱい。
2009/09/08(火) 18:33:00:NoMatchParen でキャンセルできた。
あんがと。
0667名無しさん@お腹いっぱい。
2009/09/08(火) 18:39:51let loaded_matchparen = 1
って入れてもできた。
0668名無しさん@お腹いっぱい。
2009/09/11(金) 10:08:48vimで保存したファイルの内容の各文字毎にnull文字が挿入される
hdコマンドで見るとこんな感じ
00000000 66 00 75 00 67 00 61 00 0a 00 |f.u.g.a...|
原因はfileencoding=ucs-2leであったこと
適当に :set fileencoding=euc-jp で解決
ucs-2leでエンコードされたファイルをPerlに食わせたら
変な怒り方したんで調べた
ファイルエンコーディングの話だからVim以外でも起こりうる問題だけど…
0669名無しさん@お腹いっぱい。
2009/09/11(金) 10:19:450670名無しさん@お腹いっぱい。
2009/09/11(金) 10:49:32ucs-2leでエンコードされてる事を知らない時に見ると、「null文字が挿入」されてるように見えたって事です
null文字では無いことはわかりました
> "ucs-2le" はリトルエンディアンの 2 バイト Unicode です。
http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/usr_45.html#45.4
0671名無しさん@お腹いっぱい。
2009/09/11(金) 11:45:06> 香り屋版のvimrcは(中略)空のファイルを開くと文字コードがucs-2leとして判定されてしまう
http://d.tir.jp/pw?vim
この記事の更新日は2005/01/13らしいので少し古いですが、今でも同様の問題が
現在、香り屋のVim 7.2に入ってる日本語の自動判別はruntime\encode_japan.vimに書いてあります
ここのvimrcとencode_japan.vimをそのまま使ってたので問題が起きてました
0672名無しさん@お腹いっぱい。
2009/09/11(金) 13:14:02statuslineにfileencodingを表示させておけばすぐ判ったのにね
set laststatus=2
set statusline=%<%f\ %m%r%h%w[%{&fileformat}][%{has('multi_byte')&&\ &fileencoding!=''?&fileencoding:&encoding}]\ 0x%B%=%l,%c\ %P
0673名無しさん@お腹いっぱい。
2009/09/11(金) 14:49:180674名無しさん@お腹いっぱい。
2009/09/11(金) 15:47:37最強に感謝している!!!!!!!!
0675名無しさん@お腹いっぱい。
2009/09/11(金) 15:52:510676名無しさん@お腹いっぱい。
2009/09/11(金) 16:22:58> > 香り屋版のvimrcは(中略)空のファイルを開くと文字コードがucs-2leとして判定されてしまう
> http://d.tir.jp/pw?vim
>>668が使用OSを明記しないからこんなことに。。。
OS明記汁!!
0677名無しさん@お腹いっぱい。
2009/09/11(金) 16:55:160678名無しさん@お腹いっぱい。
2009/09/11(金) 18:33:48Winでは新規でもcp932がデフォ、というところが引っかかる。
普通にそのまま保存すればcp932だが、普通にunicodeで保存すればucs-2le
0679名無しさん@お腹いっぱい。
2009/09/11(金) 19:13:330680名無しさん@お腹いっぱい。
2009/09/11(金) 19:20:060681名無しさん@お腹いっぱい。
2009/09/11(金) 19:54:050682名無しさん@お腹いっぱい。
2009/09/11(金) 20:45:22一応指定できる
>>678
> 普通にunicodeで保存すればucs-2le
違う!ちゃんと確認してから書き米や方形
0683名無しさん@お腹いっぱい。
2009/09/11(金) 20:50:36おお、これは素敵
>>676
OSはFreeBSD 7.2です。あとLANG=ja_JP.eucJP
>>677の言う通り、unix居だから書く必要があまり無い気がしたもんで。
まぁWinで使われる設定ファイルをそのままFreeBSDに持ってきた事が
書かれてなかったからこそそんなことに。。。
>>681-682
Winのメモ帳ではファイル保存時に選べるエンコーディング(「文字コード」と表記されてる)が
ANSI、Unicode、Unicode big endian、UTF-8というカオス(表記が文字コードだからセーフなんだろうけど…)
で、ここでのUnicodeがucs-2leになってる
0684名無しさん@お腹いっぱい。
2009/09/11(金) 20:52:40ANSI (cp932)
Unicode (ucs-2le)
Unicode big endian (utf-16)
UTF-8 (utf-8)
が指定できたよ。括弧の中はそのファイルをvimで開いたときに判定されたfenc。
なので、普通にunicodeで保存すればというのは間違えてもないような?
0685名無しさん@お腹いっぱい。
2009/09/11(金) 20:54:220686名無しさん@お腹いっぱい。
2009/09/11(金) 20:55:440687名無しさん@お腹いっぱい。
2009/09/11(金) 21:52:340688名無しさん@お腹いっぱい。
2009/09/12(土) 02:41:26これも設定で変更することは可能ですか?
また、一般的にはデフォルトのまま使う人が多いのでしょうか?
0689名無しさん@お腹いっぱい。
2009/09/12(土) 02:57:03Controlキーとのコンビで代用。
0690名無しさん@お腹いっぱい。
2009/09/12(土) 03:00:49Ctrl + [ でエスケープと同じになるよ
0692名無しさん@お腹いっぱい。
2009/09/12(土) 03:15:330693名無しさん@お腹いっぱい。
2009/09/12(土) 03:16:230694名無しさん@お腹いっぱい。
2009/09/12(土) 07:32:100695名無しさん@お腹いっぱい。
2009/09/12(土) 08:08:33TABの上にESCキーが付いてるキーボードを買う
ついでに言えばEnterの上はDeleteが望ましい。
0696名無しさん@お腹いっぱい。
2009/09/12(土) 09:47:53「みたい」じゃなく<Esc>が標準だからでしょ。
CTRL-Cを<Esc>の代替にできるのはvim以外に無いんでないの?
MS-DOSのstevieとかだったらCTRL-Cするとvi自体が落ちたりして。
0697名無しさん@お腹いっぱい。
2009/09/12(土) 13:47:12何このEmacs脳
そもそもvimはキー配置を変えなくても快適に使えるってのもvimの利点だった
CtrlとCapsLockの入れ替え前提のEmacsはオリジナル環境じゃないと何もできない
0698名無しさん@お腹いっぱい。
2009/09/12(土) 13:48:38ハイライトされてしますのですが、これって防ぐ方法あるのでしょうか?
ハイライトは:nohすればいいでしょうけど、前回の検索結果は保持しておきたいんです。
/ を使わない他の方法があるのでしょうか・・・よくわららないもんで。
0699名無しさん@お腹いっぱい。
2009/09/12(土) 14:40:410700名無しさん@お腹いっぱい。
2009/09/12(土) 15:18:42前回の検索結果は @/ に保持されてるはずだから
let tmp = @/
とか、一時的に退避させて後で
let @/ = tmp
で戻すようにすれば良いんじゃない?
0701名無しさん@お腹いっぱい。
2009/09/12(土) 15:56:12$hoge->foo(bar => {
hoge => huga, # 何か余計にインデントされる
}); # ここも
$var # ここからはインデントは左端
となるんですが、これを
$hoge->foo(bar => {
hoge => huga,
});
とは出来ませんか?
0702名無しさん@お腹いっぱい。
2009/09/12(土) 16:19:42ハイ、次。
0703名無しさん@お腹いっぱい。
2009/09/12(土) 16:37:540704名無しさん@お腹いっぱい。
2009/09/12(土) 22:19:11例えば、インターネットをしていてブラウザ上の文章をコピーして、それをvimでペーストしたりしたいのです。
0705名無しさん@お腹いっぱい。
2009/09/12(土) 22:31:18ノーマルモードの時は、"*p
インサートモードの時は、Ctrl+r*
はい、次。
0706名無しさん@お腹いっぱい。
2009/09/13(日) 01:55:55プラグイン作成したとき添付しようとおもっていて
0707名無しさん@お腹いっぱい。
2009/09/13(日) 02:42:230708名無しさん@お腹いっぱい。
2009/09/13(日) 12:54:48vimballとかついてなかったかな
0709名無しさん@お腹いっぱい。
2009/09/13(日) 18:03:390710名無しさん@お腹いっぱい。
2009/09/13(日) 19:10:00puttyでvim使っているなら
シフトキー押しながらコピー
0711710
2009/09/13(日) 19:12:47http://kaede.to/~canada/doc/vimiythyyuceoioei
0712名無しさん@お腹いっぱい。
2009/09/13(日) 19:18:48「挿入モード解除に、ESC の代わりに Ctrl+[ が使える」
キーの組み合わせたくさんありすぎるな
0713名無しさん@お腹いっぱい。
2009/09/13(日) 19:21:140714名無しさん@お腹いっぱい。
2009/09/13(日) 20:26:17xtermではダメだった。
0715698
2009/09/14(月) 01:09:27結局私のやりたいことって、f, F, t, T での移動を
行をまたいでやりたい!!って事なんですよね〜。
これ絶対出来たほうがいいと思うんだけど
whichwrap じゃだめみたいだし。
0716名無しさん@お腹いっぱい。
2009/09/14(月) 06:55:06・ほげほげ
・ふがふがふがふがふがふ
ふがふが
* ぴよぴよぴよぴよぴよ
ぴよぴよぴよ
- ふー
・ばー
みたいに、箇条書きとインデントを便利に書く方法ってないかな
0717名無しさん@お腹いっぱい。
2009/09/14(月) 17:28:41:%s / /\n/g
0718名無しさん@お腹いっぱい。
2009/09/14(月) 17:36:47:%s/ /Ctrl-vCtrl-m/g
0719名無しさん@お腹いっぱい。
2009/09/14(月) 17:54:49?
0720名無しさん@お腹いっぱい。
2009/09/14(月) 18:00:540721名無しさん@お腹いっぱい。
2009/09/14(月) 19:14:38\n じゃなくて \r でいけないか?
:%s/ /\r/g
0722名無しさん@お腹いっぱい。
2009/09/14(月) 19:42:53?
大抵>>721を使うけど。
0723名無しさん@お腹いっぱい。
2009/09/14(月) 23:46:150724名無しさん@お腹いっぱい。
2009/09/15(火) 12:39:51なんで\rだとうまくいくのかな?
\rはCR、\nはLFという認識なんだけど。
fileformat=unixだったら\nでうまくいきそうなんだが。
自分は>>718みたいにしちゃうけど。
0726名無しさん@お腹いっぱい。
2009/09/15(火) 16:29:10menu.vimにこれ付け足したら幸せになる。(koaoriyaからエンコ変換引用)
an 10.360 File.-SEPICONV- <Nop>
an 10.361.100.100 File.LineBreak\.\.\..Reload\.\.\..DOS<Tab>ff=dos :e ++ff=dos<CR>
an 10.361.100.110 File.LineBreak\.\.\..Reload\.\.\..Mac<Tab>ff=mac :e ++ff=mac<CR>
an 10.361.100.120 File.LineBreak\.\.\..Reload\.\.\..Unix<Tab>ff=unix :e ++ff=unix<CR>
an 10.362.100.100 File.LineBreak\.\.\..Convert\.\.\..DOS<Tab>ff=dos :set ff=dos<CR>
an 10.362.100.110 File.LineBreak\.\.\..Convert\.\.\..Mac<Tab>ff=mac :set ff=mac<CR>
an 10.362.100.120 File.LineBreak\.\.\..Convert\.\.\..Unix<Tab>ff=unix :set ff=unix<CR>
" <続く>
0727名無しさん@お腹いっぱい。
2009/09/15(火) 16:30:23let support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
an 10.396.100.100 File.Encoding\.\.\..Open\.\.\..SJIS<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR>
if !support_jisx0213
an 10.396.100.110 File.Encoding\.\.\..Open\.\.\..EUC<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR>
an 10.396.100.120 File.Encoding\.\.\..Open\.\.\..JIS<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR>
else
an 10.396.100.110 File.Encoding\.\.\..Open\.\.\..EUC<Tab>fenc=euc-jisx0213 :browse confirm e ++enc=euc-jisx0213<CR>
an 10.396.100.120 File.Encoding\.\.\..Open\.\.\..JIS<Tab>fenc=iso-2022-jp-3 :browse confirm e ++enc=iso-2022-jp-3<CR>
endif
an 10.396.100.130 File.Encoding\.\.\..Open\.\.\..UTF-8<Tab>fenc=utf-8 :browse confirm e ++enc=utf-8<CR>
" <続く>
0728名無しさん@お腹いっぱい。
2009/09/15(火) 16:31:23if !support_jisx0213
an 10.396.110.110 File.Encoding\.\.\..Reload\.\.\..EUC<Tab>fenc=euc-jp :e ++enc=euc-jp<CR>
an 10.396.110.120 File.Encoding\.\.\..Reload\.\.\..JIS<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR>
else
an 10.396.110.110 File.Encoding\.\.\..Reload\.\.\..EUC<Tab>fenc=euc-jisx0213 :e ++enc=euc-jisx0213<CR>
an 10.396.110.120 File.Encoding\.\.\..Reload\.\.\..JIS<Tab>fenc=iso-2022-jp-3 :e ++enc=iso-2022-jp-3<CR>
endif
an 10.396.110.130 File.Encoding\.\.\..Reload\.\.\..UTF-8<Tab>fenc=utf-8 :e ++enc=utf-8<CR>
an 10.396.115 File.Encoding\.\.\..-SEP1- <Nop>
an 10.396.120.100 File.Encoding\.\.\..Save\.\.\..SJIS<Tab>fenc=cp932 :set fenc=cp932 \| w<CR>
if !support_jisx0213
an 10.396.120.110 File.Encoding\.\.\..Save\.\.\..EUC<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR>
an 10.396.120.120 File.Encoding\.\.\..Save\.\.\..JIS<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR>
else
an 10.396.120.110 File.Encoding\.\.\..Save\.\.\..EUC<Tab>fenc=euc-jisx0213 :set fenc=euc-jisx0213 \| w<CR>
an 10.396.120.120 File.Encoding\.\.\..Save\.\.\..JIS<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR>
endif
an 10.396.120.130 File.Encoding\.\.\..Save\.\.\..UTF-8<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
endif
0729名無しさん@お腹いっぱい。
2009/09/15(火) 16:37:51wikiに貼り付けてくれば良いんじゃない?
0730名無しさん@お腹いっぱい。
2009/09/15(火) 16:50:27_vimrc にこれ書いたらできん?
set clipboard=unnamed
>>729
wikiって?
0731名無しさん@お腹いっぱい。
2009/09/15(火) 16:54:480732名無しさん@お腹いっぱい。
2009/09/15(火) 18:55:12:help s/\n
:help s/\r
まぁ変な仕様だけどしょうがない
0733名無しさん@お腹いっぱい。
2009/09/15(火) 19:34:12張ってきたYo
0734名無しさん@お腹いっぱい。
2009/09/15(火) 20:03:32疑問を持ちつついつも<CR>を使ってたってこと?
0735724
2009/09/15(火) 20:58:03\nを置換の右側に書いたときはNULを表すのか。
vimの内部での改行の扱い上の都合があるようですね。
:help NL-used-for-Nul
sedでも右側に\nは書けないんだね。
The escape sequence \n matches a newline character embedded in the pattern space. You cannot, however, use a literal newline character in an address or in the substitute command.(man sed)
>>734
^MがLFともCRだと思ってなかった。疑問も持たずに、
ただ改行のときはこれ使うみたいな。
0736名無しさん@お腹いっぱい。
2009/09/15(火) 21:06:34うちはふつうにブラウザかvimにcmd+c/vでコピペできるよ。
vimrcにも特に設定してないと思う。
vimは7.2.108だね(10.6付属)。
もしかしてOSってOSXじゃない?
0737名無しさん@お腹いっぱい。
2009/09/15(火) 21:36:52なるほど。
\<CR>を今日知ったけど、多分使うことないんだろうなぁ。。。
0738名無しさん@お腹いっぱい。
2009/09/15(火) 21:41:29だってShift-JISなテキスト開くと^Mがいっぱいあったから……
0739名無しさん@お腹いっぱい。
2009/09/15(火) 21:43:250740名無しさん@お腹いっぱい。
2009/09/15(火) 21:46:54Windowsで書いたテキストです。
0741名無しさん@お腹いっぱい。
2009/09/15(火) 21:54:310742名無しさん@お腹いっぱい。
2009/09/15(火) 22:16:57^MがCRなのだろうな、という推測はできてもいいんじゃないかと
0743名無しさん@お腹いっぱい。
2009/09/15(火) 22:37:51GNUのsedは\n使える
0744名無しさん@お腹いっぱい。
2009/09/15(火) 22:56:12その推測の仕方は間違っちゃいないか。
0745名無しさん@お腹いっぱい。
2009/09/16(水) 00:33:14Windowsで書かれたテキストを読む事無いかい?
0746名無しさん@お腹いっぱい。
2009/09/16(水) 01:39:07確認した。使えるね。
正規表現も実装によって微妙に違うんだね。
これまで使ってきて、気づくことはなかったけど。
>>735はOSX(FreeBSD?)のsedの話だった。
0747名無しさん@お腹いっぱい。
2009/09/16(水) 01:47:590748名無しさん@お腹いっぱい。
2009/09/17(木) 06:11:12をvimで開けると、1行目とか、行頭とか、ハイフンに続く文字列に色が付いている
んだけど、これってどうなっているの?
このREADME_w32j.txtをコピーしたりリネームしたファイルも同じようになる。
0749名無しさん@お腹いっぱい。
2009/09/17(木) 07:48:580750名無しさん@お腹いっぱい。
2009/09/17(木) 13:05:57filetype=memo
0751名無しさん@お腹いっぱい。
2009/09/17(木) 19:31:12ありがとう!
モードラインやfiletypeっていう概念があるとは知らなかった!
README_w32j.txtの最後に
vim:set ts=8 sts=2 sw=2 tw=78 et ft=memo:
って確かに書いてあった。なるほど。
正規表現で指定すれば好きなように色づけできると分かったので
調べてみます。助かりました。
0752名無しさん@お腹いっぱい。
2009/09/18(金) 01:19:05白ネのソロとか糞しかいねぇ
0753名無しさん@お腹いっぱい。
2009/09/21(月) 20:38:59誰か教えて!
0754名無しさん@お腹いっぱい。
2009/09/21(月) 22:19:280755名無しさん@お腹いっぱい。
2009/09/22(火) 15:50:04:e main.cpp; :vs main.h; :tabnew sub.cpp; :vs sub.h
みたいにして一発でcppとhを開くようなことをしたいと思っています。
0756名無しさん@お腹いっぱい。
2009/09/22(火) 22:34:18| で繋げれば良い
0757名無しさん@お腹いっぱい。
2009/09/25(金) 02:28:23:so $VIMRUNTIME/syntax/hitext.vim とは違うような・・??
文字のハイライトが変更できても、保存ができないんです。
:highlight
String xxx links to Constant ってのを
:highlight link String Hoge とかにして
String xxx links to Hoge に変更はできて文字色も変わるけど、ファイル閉じたら
元通りになってしまう。。
0758名無しさん@お腹いっぱい。
2009/09/25(金) 04:32:53自分用のcolorschemeを作るといいよ
0759名無しさん@お腹いっぱい。
2009/09/26(土) 08:53:30ありがとん。カラースキーム作ろうかと思ったけど、公式でよさそうなの
たくさん配布されてるな〜オープンソースばんざい!
0760名無しさん@お腹いっぱい。
2009/09/26(土) 20:03:47windowsでも動くやつ。。(現状sunipet emuしかいれられない.
. sunipetmateつかいたいです、 あと最近unix上でのプログラミン
グに移行しようとおもってんだけど、 winよりやっぱunixのFTPの
ほうがべんりなのかなwinscpで いまやってるんだけど、、gfとかつ
かえなくてさ。。vimrcのパスいじれば いけるとおもうけどめんどい
。。 でもunix上だとvimとか勝手にいじれない
0761名無しさん@お腹いっぱい。
2009/09/26(土) 21:03:36日本語でおk
0762名無しさん@お腹いっぱい。
2009/09/26(土) 22:33:49全角の行を40文字目で改行させる方法はありますか?
・・・難しい
0763名無しさん@お腹いっぱい。
2009/09/26(土) 23:58:37日本語でおk
■ このスレッドは過去ログ倉庫に格納されています