Vim Part22
■ このスレッドは過去ログ倉庫に格納されています
0001ほらよ
2013/04/04(木) 19:32:22.37http://www.vim.org/
前スレ
Vim Part21
http://toro.2ch.net/test/read.cgi/unix/1342368545/
関連情報は>>2-6あたり。
0054名無しさん@お腹いっぱい。
2013/04/28(日) 03:21:15.60-N オプションを指定してみるとか?
0055名無しさん@お腹いっぱい。
2013/04/28(日) 08:59:17.11runtimepathの変更がしたいのなら
http://nanasi.jp/articles/howto/config/runtimepath.html
あとこれもやりたいことに近いのかな
http://teppeis.hatenablog.com/entry/20080705/1215262928
0056名無しさん@お腹いっぱい。
2013/04/28(日) 10:36:46.50いまはロシア語の表示が悲惨なことになってる。
フォントを探せばいいのかあるいは別の何かの設定を変えればいいのか見通しがつかない。
http://2ch-ita.net/upfiles/file5243.jpg
0057名無しさん@お腹いっぱい。
2013/04/28(日) 11:39:12.47常用するような人はキリル文字は半角で表示したいんだろな
0058名無しさん@お腹いっぱい。
2013/04/28(日) 11:45:39.40gvim使えば多少は緩和するのかね
0059名無しさん@お腹いっぱい。
2013/04/28(日) 11:57:40.91なんかターミナルのイメージがあるが
0060名無しさん@お腹いっぱい。
2013/04/28(日) 13:29:12.20助かった。ありがとう。
驚いたことに英語の半角はそのままでロシア語のみが影響を受けるとか予想もしなかった。
0062名無しさん@お腹いっぱい。
2013/04/29(月) 17:26:02.21ちょっと自分の環境で試してみたら vim より gvim の方がアレだった。
gvim はなんかつまってるというか文字幅がフォントとあってなかった。ambiwidth=double で合う。
xterm 上の vim は ambiwidth=single で合ってるけど PIXEL_SIZE 13 なんでちょっと小さいかも。
ロシア語の小さめ表示って普通どんくらいなんだろう。
0063名無しさん@お腹いっぱい。
2013/04/29(月) 18:32:42.17で
string
のある行を全部表示してくれるけど
これを保存する方法は無いかな?
0064名無しさん@お腹いっぱい。
2013/04/29(月) 18:52:24.37:g は使わないから知らない。できないような
r!grep "string"
もしくは
!grep "string" % >file
0065名無しさん@お腹いっぱい。
2013/04/29(月) 18:54:23.20ひとつめは
:r!grep "string" file
0066名無しさん@お腹いっぱい。
2013/04/29(月) 19:39:54.00let @a=""
g/PATTERN/y A
でレジスタa に保存される
実行前にレジスタの中身クリアしとかないと、結果がレジスタに残ってる値に追加されるので注意
それか
redir => res
g/PATTERN/
redir END
で結果を任意の変数に保存できる
0067名無しさん@お腹いっぱい。
2013/04/29(月) 19:40:55.64ありがとう。
!grep "string" % >file でうまくいった。
0068名無しさん@お腹いっぱい。
2013/04/29(月) 19:41:48.490069名無しさん@お腹いっぱい。
2013/04/29(月) 19:43:07.94なら、
redir >> kekka.txt
g/NANTOKA/
redid END
も用意しております
0070名無しさん@お腹いっぱい。
2013/04/29(月) 19:43:50.26まちごた
s/redid END/redir END/
0071名無しさん@お腹いっぱい。
2013/04/29(月) 20:04:29.84なんと、こちらは行数まで付加されて記録か。奥が深い。
初めて見た構文の "redir" 使ったコマンドモードは
開眼ものでした。重ね重ねありがとうございました。
0072名無しさん@お腹いっぱい。
2013/04/29(月) 22:36:14.25redir => a
redir END
let a
a ^@
redir => a
echo 1
redir END
let a
a ^@^@1^@
改行が ^@ と表示されるのもわかりにくいけど、
それは別として余計な改行の由来がわかりにくかった。
1 の前の改行2つは何だよっていう。
というか echo 1 の出力だけほしいときって
↓ でも 1つ付くけどどうすんの?削ればいいんだけど。
redir => a|echo 1|redir END
let a
a ^@1
redir マスタはどうしてんだろう。削ればいいんだけど。
0073名無しさん@お腹いっぱい。
2013/04/30(火) 15:25:26.740074名無しさん@お腹いっぱい。
2013/04/30(火) 20:09:58.19そういう関数を作るしかないような気がする
なんで余計なもんつけんのかね…ソースコード読めばわかるんだろうけど
0075名無しさん@お腹いっぱい。
2013/05/04(土) 02:27:00.80それとも一人黙々とあそこでプラグイン書いたりしてるの?
0076名無しさん@お腹いっぱい。
2013/05/04(土) 02:54:32.29なにかしらそこら辺界隈に関わりありそうだね
0077名無しさん@お腹いっぱい。
2013/05/06(月) 20:35:11.66:nunmap can also be used outside of a monastery.
(:nunmap は修道院の外でも使えます)
なる一文があるんですが、どういう意味なんでしょう。
さらっとググった限りではちょっとしたジョークっぽいんですがニュアンスが分かりません。
0078名無しさん@お腹いっぱい。
2013/05/06(月) 20:37:27.54https://github.com/vim-jp/vimdoc-ja/blob/master/doc/map.jax
:nunmap は修道院の外でも使えます。{訳注: nunは修道女の意}
0079名無しさん@お腹いっぱい。
2013/05/06(月) 22:30:19.780080名無しさん@お腹いっぱい。
2013/05/19(日) 18:38:50.19例えば、全ての全角空白の入力を半角空白に置き換える、みたいな。
0081名無しさん@お腹いっぱい。
2013/05/19(日) 19:54:12.78プロジェクトのプログラミングはnetrwなどを使いつつ、gvim内でほぼ完結しています。
しかしシェル上でちょこっとファイルを編集しくなった時は、
わざわざgvimに切り替えてそのパスまで行くのが面倒なので
シェル内でviコマンドを使って編集してます。
理想としては、シェル上で簡単なコマンドを打つだけで、既に起動中のgvim内に新しいタブでファイルが開ければベストなのですが
シェルから起動中のgvimにどうやってアクセスすればいいのか分かりません。
何かいい方法無いでしょうか。
0082名無しさん@お腹いっぱい。
2013/05/19(日) 20:02:39.71http://stackoverflow.com/questions/894811/open-files-in-existing-gvim-in-multiple-new-tabs
0083名無しさん@お腹いっぱい。
2013/05/19(日) 20:22:06.27難易度高そうだけど解読してみます!ありがとうございます
0084名無しさん@お腹いっぱい。
2013/05/20(月) 00:15:59.78stackoverflow にも書いてあるけど、gvim やったらサーバ動いてると思うから、
端末から vim --remote-tab foo.c とかやれば gvim のタブで開けるんじゃない?
0085名無しさん@お腹いっぱい。
2013/05/20(月) 00:52:40.43ただ一つだけ、ディレクトリを指定した時にnetrwが起動してほしいですがそれだけ出来ないですね。
英語のサイト読み飛ばしてるようじゃ駄目だなーと反省。。。
0086名無しさん@お腹いっぱい。
2013/05/20(月) 01:12:38.98ほんまやな。:e<Cr> してあげたらnetrw起動してくれるみたいやけど
vim --remote-send ':e /path/to/foo<Cr>' ならいけるから、引数がディレクトリかどうかで
よしなにやってくれるシェルスクリプトでも書いたらおkやな
0087名無しさん@お腹いっぱい。
2013/05/20(月) 02:01:58.73タブで開きたいので
vim --remote-send ':tabnew /path/to/foo<Cr>'
って感じですね。
ファイルの時もこれでいけるのでこのコマンドで完結しそうです。
ただ--remote-tabはgvimが起動してなくても起動してくれるけど--remote-sendはエラーを吐きますね!どうでもいいですけどね。
0088名無しさん@お腹いっぱい。
2013/05/20(月) 11:39:54.78つか、vim --help よみなさい
0089名無しさん@お腹いっぱい。
2013/05/23(木) 00:04:55.200090名無しさん@お腹いっぱい。
2013/05/23(木) 00:30:02.087.3長いよな…2010年8月〜
7.4 の新機能 (予定)
(1) improve Python support
(2) include a faster regexp engine
(3) include pending patches and fix bugs
7.3 で新しく実装されたのが Vim script の float サポートとかそんなんだったときの残念感に比べたらちょっと楽しみか…
0091名無しさん@お腹いっぱい。
2013/05/23(木) 12:55:57.790092名無しさん@お腹いっぱい。
2013/05/23(木) 15:11:51.77どちらのpowerlineでしょうか?python版?
0093名無しさん@お腹いっぱい。
2013/05/24(金) 22:14:40.33全角空白が map できないとかそういう話?
0094名無しさん@お腹いっぱい。
2013/05/24(金) 22:49:41.06キーボードの右上の方にある円マークのキーです。
コンソールの中のvimだとバックスラッシュが出力されるのに
gvimだと円マークになります。
なんとかならないでしょうか。
0095名無しさん@お腹いっぱい。
2013/05/24(金) 22:55:00.960096名無しさん@お腹いっぱい。
2013/05/24(金) 23:14:43.820097名無しさん@お腹いっぱい。
2013/05/25(土) 01:06:52.00autocmd InsertCharPre 使ったらいけそうな雰囲気
こゆこと?
autocmd! InsertCharPre <buffer> let v:char = (v:char == ' ' ? ' ' : v:char)
0098名無しさん@お腹いっぱい。
2013/05/25(土) 01:17:36.28どうしてもバックスラッシュっぽい文字が入力したければインサートモードにて
<C-v>u29f5
とすればそれっぽい文字を入力することができます
ただ、これは正確にはバックスラッシュではないことをご了承ください
0099名無しさん@お腹いっぱい。
2013/05/27(月) 23:29:29.21re 速くなるのか。\%v 系が速くなるといいんだが。あれ割と遅いからなあ。
でもあんまり使われてなさそうだから変わってないかも。
0100名無しさん@お腹いっぱい。
2013/05/28(火) 15:36:59.70方法って何かないでしょうか
PCの前に座っている際はgvimで編集してて、それを放置したまま
リモートからつなぎ、ターミナル上のvimで作業を継続したいの
ですが
いまはgvimをkillして、vimで開きなおしてrecoverしていますが、
スマートじゃないので
0101名無しさん@お腹いっぱい。
2013/05/28(火) 15:44:56.300102名無しさん@お腹いっぱい。
2013/05/28(火) 15:46:07.960103名無しさん@お腹いっぱい。
2013/05/28(火) 15:56:19.240104名無しさん@お腹いっぱい。
2013/05/28(火) 16:33:12.890105名無しさん@お腹いっぱい。
2013/05/28(火) 16:40:50.99あれ?
>そもそもなんでgvimなんて使う?
って、日本語としておかしかった?
0106名無しさん@お腹いっぱい。
2013/05/28(火) 17:08:02.08日本語周りとかでターミナル側の設定とか?で悩まなくてすむし
ターミナルの方はtmux越しのことが多いので、
はじめからリモートで作業するのが分かってればvimにするんですけど
0107名無しさん@お腹いっぱい。
2013/05/28(火) 17:24:12.51日本語としてはおかしくないけど
gvimを悪く言わなくてもいいじゃない、と思ったもので。
0108名無しさん@お腹いっぱい。
2013/05/28(火) 17:25:34.46あんまり変わらんか。
0109名無しさん@お腹いっぱい。
2013/05/28(火) 18:01:50.96ああ、なるほど
remote-sendと組み合わせられるならいけるかもですね
0110名無しさん@お腹いっぱい。
2013/05/28(火) 18:15:49.74編集中のファイルを上書き保存して問題ない場合は
gvim --remote-send "<C-?><C-N>:mks!<CR>:wq!<CR>"
vim -S
でいけそうです
保存してない変更もそのまま引き継げればベストですが
まあgitか何かで差分修正がすぐできるなら、これでもいいか
0111名無しさん@お腹いっぱい。
2013/05/28(火) 18:33:25.24そこまでやる必要があるかどうかは別として、スワップファイル使えば保存済みかどうかも含めて復元できるで
vim -r /path/to/swapfile
0112名無しさん@お腹いっぱい。
2013/05/30(木) 02:37:50.35PHPでインデントが行えません
smartindnt, autoindentともにダメです HTMLならできるのですがPHPだと必ず行頭に戻ってしまいます
解決法をご存知のかたは教えていただけたら幸いです
0113名無しさん@お腹いっぱい。
2013/05/30(木) 10:15:17.43エラーメッセージは、large indent deactivedと表示されます
0114名無しさん@お腹いっぱい。
2013/05/30(木) 23:31:12.61一度開発版試してみたら
ttps://github.com/2072/PHP-Indenting-for-VIm
安定版(?)はこっちらしい
ttp://www.2072productions.com/to/phpindent.txt
indent/php.vim ちょっとみたけど、長々と色々やってるから途中であきらめた…
0115名無しさん@お腹いっぱい。
2013/05/31(金) 16:23:04.00開発版の方はすでに試していましたが治らずといった感じです
設定をいろいろ触ったせいか概ねのものにはちゃんとインデントしてくれるのですが
どうしても閉じタグだけ勝手に行頭に戻ってしまいます
0116名無しさん@お腹いっぱい。
2013/06/01(土) 00:38:33.93トライ済みか…
現象を再現できる最小限のコードを示して開発者に投げるのが手っ取り早そう
0117名無しさん@お腹いっぱい。
2013/06/01(土) 01:15:46.02わかりました これを気にgitHubも利用してみます
わざわざありがとうございました
0118名無しさん@お腹いっぱい。
2013/06/01(土) 01:28:07.82Issuesにこんなん登録されてるけど同じ現象?
0119名無しさん@お腹いっぱい。
2013/06/01(土) 01:33:01.76そうです
具体的には
<div>
<?php
?>
</div>
と書いても勝手にこうされてしまいます
<div>
<?php
?>
</div>
0120名無しさん@お腹いっぱい。
2013/06/01(土) 01:35:04.980121名無しさん@お腹いっぱい。
2013/06/02(日) 16:38:46.560 とか $ とか 4h とかそういうのじゃなくて、
1秒間 k 押したら 6行移動したとして、何か設定加えると 1秒k押したら 12行移動てきるようなの。
俺の移動速度より3倍くらい早い vim 使いを タリーズでみたけど、あの設定を知りたい。
0122名無しさん@お腹いっぱい。
2013/06/02(日) 16:54:48.02システムのキーリピート間隔の問題じゃないのか
0123名無しさん@お腹いっぱい。
2013/06/02(日) 16:57:14.581秒k押し続けるより12kのほうが速いだろ?
0124名無しさん@お腹いっぱい。
2013/06/02(日) 17:21:44.490125名無しさん@お腹いっぱい。
2013/06/02(日) 17:37:41.09>>123の言う通り12kの方が早いんじゃないの。
3倍早いってのは単純にキーを打つのが早かっただけじゃないのかね。
0126名無しさん@お腹いっぱい。
2013/06/02(日) 17:44:41.570127名無しさん@お腹いっぱい。
2013/06/02(日) 18:12:21.35スクロール目的なら ctrl-d や ctrl-f とか
画面内のカーソル移動が目的なら H M L 使う
0128名無しさん@お腹いっぱい。
2013/06/02(日) 19:00:31.850129名無しさん@お腹いっぱい。
2013/06/02(日) 21:00:50.480130名無しさん@お腹いっぱい。
2013/06/02(日) 21:05:19.460131名無しさん@お腹いっぱい。
2013/06/02(日) 21:11:11.140132名無しさん@お腹いっぱい。
2013/06/03(月) 22:01:48.100133名無しさん@お腹いっぱい。
2013/06/03(月) 22:16:51.48shift-m
shift-l
0134名無しさん@お腹いっぱい。
2013/06/03(月) 22:30:56.350135名無しさん@お腹いっぱい。
2013/06/04(火) 00:59:07.75accelerated-jkっていう押しっぱなしでj k移動が高速になるプラグインがあるんだが、
それを参考にhやlにも応用すれば、あるいは希望通りの動作になるのでは
0136名無しさん@お腹いっぱい。
2013/06/13(木) 12:56:04.66vimじゃなくキーリピートの設定を変えるとはやくなるよ。
以前hjklをバカみたいに速くしてたけど、
思い通りのところに止まらないトラブルなど頻出したので普通に使ってる。
板違いだけど、このソフト設定が分かりやすい
http://www.forest.impress.co.jp/article/2000/06/23/kbdacc.html
0137名無しさん@お腹いっぱい。
2013/06/15(土) 13:48:45.70元々 repeat で正確に止めるのは無理があるんで(結構遅くしないと)
その辺はあまり気にしない。
vim の話じゃないけど。まあ関係はするし、いいかな。
0138名無しさん@お腹いっぱい。
2013/06/15(土) 21:41:41.66おまえらが無理して vi 系エディタを使う意味はないと思うよ
キーリピートの遅い端末上でも速いカーソル移動を実現する目的で
豊富なキーアサインを用意するというのが vi 系の考え方なんだから
おまえらには gedit っていうもっといいのを勧めるよ
0139名無しさん@お腹いっぱい。
2013/06/15(土) 21:46:31.240140名無しさん@お腹いっぱい。
2013/06/16(日) 19:26:39.14あんたにとってはキーリピートが利くならgeditの方がいいわけね。
俺にとっては他にもvimの利点があるんで簡単に乗り換えられないんだが。
0141名無しさん@お腹いっぱい。
2013/06/16(日) 19:34:56.72端末が遅いゆえに数えるほうが速かった時代の話をされましても。
というか、その思想を大事にするってことは色もハイライトも範囲選択もつかわないの?
0142名無しさん@お腹いっぱい。
2013/06/16(日) 20:54:01.530143名無しさん@お腹いっぱい。
2013/06/17(月) 00:05:49.29というか下手な考えで人の心配はしない方がいい。
的外れだし無意味だ。
0144名無しさん@お腹いっぱい。
2013/06/17(月) 11:24:24.340145名無しさん@お腹いっぱい。
2013/06/22(土) 00:35:46.05どうやら先頭にタブや空白などがあると空行とはみなされずスルーされてしまいます。
かといって autoindent を切ることもしたくないのですが、{ と } 愛好家の皆さんは
どうやって対応していますか?
0146名無しさん@お腹いっぱい。
2013/06/22(土) 01:10:25.940147名無しさん@お腹いっぱい。
2013/06/22(土) 01:33:43.89help見てみたけどわからんかった
そういう関数作るしかないんやろか…
0148名無しさん@お腹いっぱい。
2013/06/22(土) 04:09:47.06https://github.com/deris/parajump
0149名無しさん@お腹いっぱい。
2013/06/22(土) 06:13:25.81'cindent'や'smartindent'だったら空行作るときにインデント削除すると思う。
今ある/^\s\+$/な行は:%s/^\s\+$//で空白削除すれば良いのでは。
0150名無しさん@お腹いっぱい。
2013/06/22(土) 07:51:03.33EasyMotion
0151名無しさん@お腹いっぱい。
2013/06/22(土) 07:54:49.91便利だろうけど美しくないというか
0152名無しさん@お腹いっぱい。
2013/06/22(土) 12:00:46.45vimのデフォルトのコマンドはすべてダイレクトだ
0153145
2013/06/23(日) 00:21:16.28個人的には >>148 の parajunp が最適解でした。
私は Vundle 使っているので、.vimrc に
Bundle 'deris/parajump'
して BundleInstall で OK でした。
作者の方のエントリーも張っておきますね。
http://deris.hatenablog.jp/entry/20120209/1328806168
他のレスくれた方もありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています