Vim Part23
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2014/02/26(水) 09:53:39.61http://www.vim.org/
前スレ
Vim Part22
http://toro.2ch.net/test/read.cgi/unix/1365071542/
関連情報は>>2-6あたり
0618名無しさん@お腹いっぱい。
2014/08/02(土) 11:39:14.86特にハイライトが重かったft=vimのファイルとか
カーソルライン使ってもあまり気にならない
0619名無しさん@お腹いっぱい。
2014/08/02(土) 14:04:35.660620名無しさん@お腹いっぱい。
2014/08/02(土) 14:11:43.580621名無しさん@お腹いっぱい。
2014/08/03(日) 23:35:43.92mousepadだとちゃんと表示できますのでたぶん原因が文字コードがShift_JISだと思うんですがどうやってちゃんと表示できるようになりますか?
0622名無しさん@お腹いっぱい。
2014/08/03(日) 23:40:26.81nkf -g ファイル名
で精度の高いエンコード推定できる
そして、
:e ++enc=正しいエンコード
で開き直せばちゃんと見れる。しかしながら、
.vimrcのエンコードの優先順位いじった方が今後も楽
0623名無しさん@お腹いっぱい。
2014/08/03(日) 23:49:37.490624名無しさん@お腹いっぱい。
2014/08/04(月) 00:51:06.18自動判定とかやりだすとキリ無いんでごちゃごちゃやってたら↓に落ち着いた
set fencs=ucs-bom,utf-8,euc-jp,cp932,gb18030
0625名無しさん@お腹いっぱい。
2014/08/04(月) 02:18:29.31euc-jpとeucjp-msとかも。
0626名無しさん@お腹いっぱい。
2014/08/04(月) 02:33:27.25そんなに痛くはない
0627名無しさん@お腹いっぱい。
2014/08/04(月) 08:30:22.77ISO-2022-jpはメールでしか使わんからmuttに任せっぱなし。
BOM無しutf-8のcsvがExcelで開けんて言われるぐらい。
0628名無しさん@お腹いっぱい。
2014/08/04(月) 21:56:43.040629名無しさん@お腹いっぱい。
2014/08/04(月) 22:01:57.030630名無しさん@お腹いっぱい。
2014/08/04(月) 23:08:05.75いや、utf-8の環境で混ざったときに大惨事おきるべ。
asciiだけのテキストをiconvで
-f sjis -t utf-8 と-f cp932 -t utf-8してみるよろし。
0631名無しさん@お腹いっぱい。
2014/08/07(木) 12:01:31.09whichwrapを設定したのですがinsertモードでしか有効になりませんでした
0632名無しさん@お腹いっぱい。
2014/08/07(木) 13:39:38.180633名無しさん@お腹いっぱい。
2014/08/07(木) 16:45:43.98設定がおかしいだけでは?
:set ww?
でbs<>など目的の動作が含まれているか確認
:set cp?
でnocompatibleになってるか確認
詳しくは
:h ww
0634名無しさん@お腹いっぱい。
2014/08/07(木) 23:40:38.94カーソルキーなら
se whichwrap+=<,> でいけると思うけどあかんの?
0635名無しさん@お腹いっぱい。
2014/08/08(金) 14:02:29.19具体的に言うと
imap <C-@> <ESC>
みたいなことをしたいのですが、できません
たぶん@が特殊文字扱いされているのだと思います、、
直前にバックスラッシュおいてみたり、クォーテーションでくくってみたりしましたがダメでした
なんとかならないでしょうか
0636名無しさん@お腹いっぱい。
2014/08/08(金) 14:15:38.16inoremap <C-@> <ESC>:EasyBuffer<CR>
これで動作しているぞ?
.vimrc等のどこか前方ですでにmapされてたりしないだろうか?
0637名無しさん@お腹いっぱい。
2014/08/08(金) 14:23:28.61CTRL-@ 直前に挿入されたテキストをもう一度挿入し、挿入を終了する。{Vi:
最初に入力された時だけ、かつ最大128文字まで}
定義済みだからnoreで上書きしないとダメかもね
0638名無しさん@お腹いっぱい。
2014/08/08(金) 16:26:55.19vimと違うレイヤーでC-@をescapeに当てたりしてたので、ややこしくなってましたが
よくよく確かめた結果、確かに<C-@> <ESC>で効いてる場合もありました
例えばLinuxに直接入ってるときやOSXのターミナル経由でvimを開いてるときなんかは大丈夫のようです
ただ、win8+teraterm経由で入ってると、どうも<C-@>が効かないみたい
<C-a>とか他のは大丈夫なのですが<C-@>だけ効かない、、、
どうもvimの問題じゃなくて、winマシンのハードの問題みたいですね
すいませんでした
#初めて来たUNIX板が意外にアクティブでびっくりした
0639名無しさん@お腹いっぱい。
2014/08/08(金) 16:37:57.27noremapでもダメみたいです
ありがとうございます
0640名無しさん@お腹いっぱい。
2014/08/08(金) 16:53:53.10Windowsのteratermとかいうものに関しての知識がからっきしなので
あまりサポートできないが、
その端末がC-@を認識できないというオチはないだろうか?
viが基本的に端末上で動作してきた歴史上、F1等とCtrlの組み合わせをマップできない歴史と
似たものがあるかもしれないという電波が届いた
0641名無しさん@お腹いっぱい。
2014/08/08(金) 17:46:40.65動作するね
debian
0642名無しさん@お腹いっぱい。
2014/08/08(金) 17:54:12.26:inoremap <C-@> 123<CR>
同じく動作する
0643名無しさん@お腹いっぱい。
2014/08/09(土) 14:27:38.77i_<C-@> といえば、日本語キーボードを OS で USキーボードとして使ってる時に
余ったキーが押された時に Null を出すんだけど、<Nul> って <C-@> だから
直前の挿入が繰り返されて ???????? ってなったことがある。気付くのにかなりかかった
0644教えて リンク・ジャンプ
2014/08/10(日) 12:51:15.43おけば、C-c C-o 操作で名前で指定されたファイルを開き、アンカーで指定された文字
列を検索して その行まで飛んでくれます。
[[file:fileName ::anchorString]
Vim では似た操作として norma mode では gf/gF 操作があります。下のように書くこと
でファイルと飛び先の行までを飛ばせます。
fileName 156
でも gF では anchor 文字列を指定できません。下のように書いても単純にファイルを
開くだけでアンカーに飛んでくれません。
fileName -c /anchorString
何とか Emacs org mode でのようにアンカーまで飛ぶ方法が Vim にもないでしょうか。
ただし ctag を使うのは無しです。飛び先のファイルが様々すぎるからです。
0645名無しさん@お腹いっぱい。
2014/08/10(日) 13:56:10.06gf ではできなさそうやけど、:edit なら +/{pat} で最初に見つかった{pat}まで飛んでくれるけどそれじゃあかんか
0646名無しさん@お腹いっぱい。
2014/08/10(日) 14:46:09.68matchlist って関数増えてたんだ
以下を .vimrc/_vimrc に入れて
file:fileName ::anchorString がある行で
gf すれば、fileName を開いて、anchorString のある場所に飛べる
正規表現が気に入らなければ、書き直してください
nmap gf :call <sid>go_anchor()<cr>
function! s:go_anchor()
let sline=getline('.')
let re='file:\(\f\+\)\s\+::\(\w\+\)'
if sline =~ re
let md=matchlist(sline, re)
exec 'edit +/' . md[2] . ' ' . md[1]
else
normal! gf
endif
endfunction
0647名無しさん@お腹いっぱい。
2014/08/10(日) 14:59:23.44path, line, colの他にsearchとかがあると簡単になりそうな気もする。
0648教えて リンク・ジャンプ
2014/08/10(日) 15:02:58.46>:edit なら +/{pat} で最初に見つかった{pat}まで飛んでくれるけど
私の Kaoriya Vim 7.3 および 7.4 32bit on Win7 では、下のコマンドを実行しても
d:\link ファイルを新規に開いてくれてしまいます。
:edit D:\my\sf2\emacs\memoV.txt /link
たぶん Windows 用にコンパイルしてあるため / をディレクトリ記号に解釈しているのだと思います。
0649教えて リンク・ジャンプ
2014/08/10(日) 15:06:28.40:edit D:\my\sf2\emacs\memoV.txt +/link
0650名無しさん@お腹いっぱい。
2014/08/10(日) 15:07:40.30じゃないの。今手元にWindows無いから確認できないけど。
0651名無しさん@お腹いっぱい。
2014/08/10(日) 15:17:39.32Windows使ってるならそうと書いておいたほうが良いと思うぜよ。
ファイルパス系は、shellslashやisfnameの考慮も必要になる場合があるし。
0652名無しさん@お腹いっぱい。
2014/08/10(日) 15:21:41.30+/link にせんといかん
0653教えて リンク・ジャンプ
2014/08/10(日) 15:45:46.54ご指摘のとおりでした。これで "link" の文字列サーチも行ってくれました。下もサー
チまで動きました。後は >>646 さんのコードを少し手直しすればよさそうです。
:tabe +/fullwid D:\my\sf2\emacs\memoV.txt
ありがとうございました。
その他のご指摘くれた皆様にも感謝します。
0654名無しさん@お腹いっぱい。
2014/08/18(月) 18:26:34.04GVim の起動が速くなったのでワロタ
0655名無しさん@お腹いっぱい。
2014/08/18(月) 18:33:24.260656名無しさん@お腹いっぱい。
2014/08/18(月) 20:09:01.36メインメモリの空きが増えると若干影響するかもな。
0657名無しさん@お腹いっぱい。
2014/08/18(月) 22:49:36.580658名無しさん@お腹いっぱい。
2014/08/18(月) 22:51:19.600659名無しさん@お腹いっぱい。
2014/08/18(月) 22:58:53.420660名無しさん@お腹いっぱい。
2014/08/19(火) 03:42:24.13下みたいなコードを全文インデントすると、コメント内の閉じてない括弧のせいで
インデントがずれるんで困ってます。
int main(){
for(int i=0; i<5; ++i){
//if( hoge == 0 ){
printf("hello world");
}
return 0;
}
0661名無しさん@お腹いっぱい。
2014/08/19(火) 04:01:56.28↓これでどうかな?
int main(){
for(int i=0; i<5; ++i)
//if( hoge == 0 )
{
printf("hello world");
}
return 0;
}
やっぱダメ?w
0662名無しさん@お腹いっぱい。
2014/08/20(水) 12:10:09.34意図した挙動というよりは indent/c.vim のバグのようにも見える
あんまりあのへんの雰囲気知らないけど vim-jp で報告とかどうだろうか
0663名無しさん@お腹いっぱい。
2014/08/22(金) 22:15:09.34これから学ぼうと思っているので自分で書くのは不可能と判断しました
0664名無しさん@お腹いっぱい。
2014/08/22(金) 22:19:31.350665名無しさん@お腹いっぱい。
2014/08/23(土) 09:40:20.34実用言語じゃないのであえて作ろうという人がいなそう
他のアセンブラのsyntaxファイルはいくつかあるみたいなのでそれである程度代用できんかね
使えるやつがあればそれを改造するなど
0666名無しさん@お腹いっぱい。
2014/08/27(水) 15:52:58.79使ってみたら、重たかったとかカラースキームファイルの手入れが面倒だったとか感想はあるだろうか?
https://gist.github.com/othree/6087586
https://groups.google.com/forum/#!topic/vim_use/OixiqMYqcns
You can search vim-dev for my patch that adds true color support (named 24-bit-xterm, xterm-truecolor or such).
But this means you need to compile vim yourself.
You can use https://bitbucket.org/ZyX_I/vim to get branch with this patch (it is mercurial bookmark though,
not mercurial branch), use local-default bookmark to get the same version I am using (it includes xterm-truecolor and a number of other patches).
0667名無しさん@お腹いっぱい。
2014/09/01(月) 20:12:39.03外部のフォーマッタに任せた方が早い。
それこそCならindent(1)が鉄板じゃないの?
.vimrcに↓突っ込んで
au FileType c setl ep=indent\ -kr\ -i8
gg=G
0668名無しさん@お腹いっぱい。
2014/09/05(金) 13:33:08.38vimのほうがターミナルから出なくて便利じゃん
0669名無しさん@お腹いっぱい。
2014/09/05(金) 13:45:04.06colorschemeの描写がより見やすい配色を選択でき、
表現が広いことだろうか
0670名無しさん@お腹いっぱい。
2014/09/05(金) 17:21:07.17むしろ、ターミナルに戻らない。
だったら、vimでなくてgvimでいいでしょ。
0671名無しさん@お腹いっぱい。
2014/09/05(金) 17:22:22.640672名無しさん@お腹いっぱい。
2014/09/05(金) 22:00:57.370673名無しさん@お腹いっぱい。
2014/09/05(金) 22:05:58.36ターミナルで実行
これが一番やりやすい
ワイドスクリーンが普及して、窓を二つ並べておいても
窮屈じゃない時代になったしな
0674名無しさん@お腹いっぱい。
2014/09/05(金) 22:34:53.25terminal の複数 tab で片方 vim, もうひとつ shell が個人的には一番便利
tex 書くときはなんとなく gvim 使うけど
0675名無しさん@お腹いっぱい。
2014/09/05(金) 22:45:16.34vimshellは必要性感じない
0676名無しさん@お腹いっぱい。
2014/09/05(金) 23:48:39.84pythonとかGoとかCとかキーを割り当てて実行してる
0677名無しさん@お腹いっぱい。
2014/09/06(土) 02:05:53.08俺もtmuxやわ
tmux使ってないときはgvimだった
0678名無しさん@お腹いっぱい。
2014/09/06(土) 03:03:31.650679名無しさん@お腹いっぱい。
2014/09/06(土) 11:42:28.80依存の少なさは本当にありがたい。
0680名無しさん@お腹いっぱい。
2014/09/06(土) 22:38:54.79screenのが使いやすい
0681名無しさん@お腹いっぱい。
2014/09/07(日) 04:26:50.200682名無しさん@お腹いっぱい。
2014/09/07(日) 13:05:35.73あと色の種類も少ないから好みの配色にできない。
まぁ後者は我慢できるとして前者が致命的。
アホっぽい全角文字を大量に打ち込むクソみたいな受託案件ばっかしてる低層プログラマは辛いです。
0683名無しさん@お腹いっぱい。
2014/09/07(日) 13:32:24.150684名無しさん@お腹いっぱい。
2014/09/07(日) 13:44:03.64使うこと無いから気にしたことがない
0685名無しさん@お腹いっぱい。
2014/09/07(日) 14:04:53.80使う人いるよね
0686名無しさん@Vim%Chalice
2014/09/07(日) 14:23:30.820687名無しさん@お腹いっぱい。
2014/09/07(日) 14:53:17.18端末や、シェル、screen/tmuxなんかもそれぞれ対処しないといけなかったりするから厄介よな。
一応、Linuxサーバ上のtmux-1.9a(パッチ当て)+vimを、WindowsからRLogin/TeraTermでssh接続
して使う分には、目立ったところでは解消してる。
gnome-terminalは、VTE_CJK_WIDTH=1を設定する方法でいけるんだっけ?
0688682
2014/09/07(日) 15:47:33.37情報ありがとうございます!
ambiwidth=doubleは設定してたけど、シェル側も対応しないといけないのか。
Macのデフォルトのシェルでそのまま□とか打っても問題ないのにvimを通すと駄目になるんだよね。
vimだけの問題だと思ってた。色々試してみよう
>>684
□とか使うのは、単純にお客の要望だよ。
WEB系の受託で、この文章入れといて、みたいなオーダーがきて
■とか☆とか※とかたくさん使う。
0689682
2014/09/07(日) 15:56:51.70ターミナルの環境設定で「Unicode東アジアA(曖昧)の文字幅をW(広)にする」にチェック入れたら解決した!
長年の悩みがこんなにあっさりw逆にターミナルで□打つと挙動おかしくなったけどw
まぁターミナルで曖昧幅文字打つことないし問題なし。
>>687さんマジでありがとうございます
0690名無しさん@お腹いっぱい。
2014/09/07(日) 19:23:19.27目立つからPCでメモ取る時にTODO管理するまでもないタスクに付けて、終わったら消す
われながら原始的だけどこれが一番しっくりくるんだよなあ
0691名無しさん@お腹いっぱい。
2014/09/07(日) 21:37:51.410692名無しさん@お腹いっぱい。
2014/09/08(月) 11:23:03.660693名無しさん@お腹いっぱい。
2014/09/08(月) 11:54:04.80>>692
xfce4-もmate-もVTEベースだからVTE_CJK_WIDTHを設定すればおk
0694名無しさん@お腹いっぱい。
2014/09/08(月) 12:54:21.78よくそんな文字もまともに表示されないような環境で使ってるな
見えだけだろ?Vim使ってるとか
0695名無しさん@お腹いっぱい。
2014/09/08(月) 13:13:27.40おお、そうなんだ
ありがとう
0696694
2014/09/08(月) 19:10:55.900697名無しさん@お腹いっぱい。
2014/09/08(月) 22:53:05.40今のところそこまで不自由はしないからまあいいかって感じですね
0698名無しさん@お腹いっぱい。
2014/09/08(月) 22:54:09.560699名無しさん@お腹いっぱい。
2014/09/09(火) 17:08:05.36imeの設定を変えずにimeに戻る方法ありませんか?
0700名無しさん@お腹いっぱい。
2014/09/09(火) 17:08:32.10linux
imeの設定を変えずにコマンドモードの時にimeをオフにする方法ありませんか?
0701名無しさん@お腹いっぱい。
2014/09/09(火) 18:30:21.49linux
imeの設定を変えずにimeに戻る方法ありませんか?
0702名無しさん@お腹いっぱい。
2014/09/09(火) 19:29:15.33どんなことがしたい?
0703名無しさん@お腹いっぱい。
2014/09/09(火) 19:36:20.630704名無しさん@お腹いっぱい。
2014/09/09(火) 19:37:15.97そのときimeがonのままなのでiを押してもインサートモードに鳴らないんですよ
なのでインサートモードからコマンドモードに移った時にimeをoffにしたいのです先輩
0705名無しさん@お腹いっぱい。
2014/09/09(火) 19:39:01.82Google IME使ってる場合も解決法があるんですが
僕の環境はLinuxでibus*mozみたいな名前のimeなんですよ
0706名無しさん@お腹いっぱい。
2014/09/09(火) 20:08:13.83設定画面の中にあって楽だな
0707名無しさん@お腹いっぱい。
2014/09/09(火) 20:16:32.700708名無しさん@お腹いっぱい。
2014/09/09(火) 20:37:02.06あとヘルプくらい全部読もうな
ttp://vim-jp.org/vimdoc-ja/options.html#'iminsert'
最近のibusは色々酷いらしいからこれで動くは知らない
0709名無しさん@お腹いっぱい。
2014/09/09(火) 22:02:26.03UbuntuでVim7.4です
:set iminsertは2になってましたが効きません
ibusは使うなuimを使えってことですか
0710名無しさん@お腹いっぱい。
2014/09/09(火) 22:24:19.13ibus 1.5系は無理。uimかFcitx使うしかない
FcitxでVimからIM制御する ― KaoriYa
http://www.kaoriya.net/blog/2014/07/20/
0711名無しさん@お腹いっぱい。
2014/09/09(火) 22:35:42.410712名無しさん@お腹いっぱい。
2014/09/10(水) 22:07:33.47どうしてですか?どうやればvimから実行できますか?
0713名無しさん@お腹いっぱい。
2014/09/10(水) 23:06:20.82:!ls したときに shell=/bin/bash だと、non-interactiveモードで動作するので、$HOME/.bash_profileは読まれないからそうなる
というようなことが、:h ! に書いてある
On Unix the command normally runs in a non-interactive
shell. If you want an interactive shell to be used
(to use aliases) set 'shellcmdflag' to "-ic".
:se shell=/bin/bash\ -ic ならエイリアスは認識してくれるけどコマンド実行後に
[1]+ Stopped vim
になってしまう
なにかオプションで回避できるかもしれんけどそこまでは調べてない
0714名無しさん@お腹いっぱい。
2014/09/10(水) 23:17:33.07よくやった!!!
これで出向先でメモ帳ICOであやしまれず(話しかけられず
作業できる。
みんなVIEWして注目度をアップさせよう。
0715名無しさん@お腹いっぱい。
2014/09/10(水) 23:29:02.520716名無しさん@お腹いっぱい。
2014/09/10(水) 23:58:38.47素直に諦めます
0717名無しさん@お腹いっぱい。
2014/09/11(木) 00:50:57.39思い切ってエイリアスやめてabcってコマンドでっち上げて
パス通しておけばいいんじゃね?
イヤか?w
■ このスレッドは過去ログ倉庫に格納されています