Vim Part29

■ このスレッドは過去ログ倉庫に格納されています
2019/02/14(木) 00:54:19.01
Vim 6以降に関する話題です。
http://www.vim.org/

前スレ
Vim Part28
https://mevius.5ch.net/test/read.cgi/unix/1526552297/

関連情報は>>2-3あたり
2019/05/31(金) 18:48:11.62
>>232
そんなこと書くと「こんなとこ」の人がきちゃうかもしれないねw
2019/05/31(金) 19:03:29.37
>>230
押しかけてとか言っちゃってるし、これ脅迫罪じゃね?
2019/05/31(金) 19:06:38.65
kensuke君必死すぎ
2019/05/31(金) 19:11:27.69
何がしたいんだ?お前ら
2019/05/31(金) 19:26:29.92
お前らというより自演でしょ
2019/05/31(金) 20:17:45.43
そういうことにしておこう
2019/06/01(土) 05:14:03.70
そのkensukeとTwitterで「vimtutorに5時間掛かった」って言ってるkensuke11021618とは別人だと思うんだけど
2019/06/01(土) 07:39:10.03
aaa-foo
bbb-bar

aaa-001_foo
bbb-002_bar
範囲選択した行の指定位置に連番入れる方法ある?
行頭や行末にも入れたいんだけど
2019/06/01(土) 11:26:04.13
>>242
連判だとマクロがいいのかな?
C-aでインクリメントしてヤンクしてから次の行に移ってペーストとか?
2019/06/01(土) 11:30:30.23
固定文字列ならビジュアルモードからIだろうけど
連番だとマクロやfunction作るのが手っ取り早いかと
2019/06/01(土) 11:38:59.30
最近Vim自身に連番機能ついたような
まぁ自分はプラグイン使ってるけど
2019/06/01(土) 12:41:59.98
v_CTRL-Aじゃなくて?
2019/06/01(土) 14:42:54.50
単なる加算と連番挿入は意味が違うと思うけど
2019/06/01(土) 15:22:25.46
>>242
範囲選択してコマンドモードで
:'<,'>s/\v^(\w{3}-)(.*)/\=printf('%s%03d_%s', submatch(1), line('.')-5, submatch(2))

で、できまーす
printfだから連番の挿入場所も連番の桁数も自由自在
ちなみに連番の初めの数字はline('.')-5で調整する、line('.')は現在の行数が入るから
aaa-foo が6行目にあると仮定して、連番が1から始まるように-5としている
2019/06/01(土) 15:37:25.40
矩形選択で全行に000_を挿入したあと矩形選択で全000を選択してg<C-a>でいいんじゃね
2019/06/01(土) 17:57:14.21
>>249
おーこれすげぇな
もうExcelにコピペして右下つまんで下にドラッグする必要ないなw
2019/06/01(土) 18:40:14.21
>>249
おぉ、出来た!
>248もこんなのも出来るんだって感心したけど
シンプルさで>249のインパクトが勝った

242じゃないけど勉強になったよ
両名ともありがとう
2019/06/01(土) 18:55:23.67
ExcelじゃなくてGoogleスプレッドシートならarrayformulaで一気に連番できる
2019/06/01(土) 20:07:43.41
>>249
vimが古くてできなかった悲しみ
れ、連番の新規作成ならseqがあるし
2019/06/01(土) 20:42:07.99
>>253
OS分からんけど、FlatpakやLinuxbrewやGuix等で既存のVimとは別に新しいVim入れられるんじゃね
2019/06/03(月) 00:05:02.00
function! SearchTest()
execute '/hoge'
endfunction
command! S1 call SearchTest()

こんなスクリプトをsourceで呼んだ後、
:S1 でhoge が検索されると思うんだけど、
n キーで次のhogeを探しに行くようにするには
どうしたら?
純粋にコマンドとして検索した文字列を見に行っちゃう。。。

こんな感じのvim上のコマンドとスクリプトの
境界が分かりやすく説明してあるページあるかな?
もしくはhelpでも。
vim-script 〜でググってもvimのコマンドの答えしか
探せなくて萎える時が多々あります。
2019/06/03(月) 07:32:21.39
>>255
let @/ = ′hoge′
でいけないかな?
2019/06/03(月) 08:20:28.23
レジスタに値をセットするのも手だけど、他にもっといい手はないんだろうかね
:execute 以外の検索だとレジスタまで更新してくれたりしないんだろうか

Vim script でそんな検索をしたいと思ったことがないのでよく分からん
2019/06/03(月) 08:24:52.45
>>256
おぉ、出来た!ありがとう!
しかし、「最終検索パターン用レジスタ」とか素人には
検索ワードとして思いつかないなぁ…
https://vim-jp.org/vimdoc-ja/change.html#quote_/
2019/06/03(月) 08:41:51.53
>>258
っ「実践 Vim」
各レジスタの説明も載っている (/レジスタについてはほんの少しだけ)

Vim は機能がありすぎて普通に使っていても知らない機能が多々あるから少しずつ覚えていくんや
2019/06/03(月) 09:09:37.01
>>258
よかったよかった
自分もそんなワードでググって見つけるのは無理ぽ
検索ワードセットしたい→そういや <C-r>/ で検索ワードとれるな、あれどこに入ってるんだろ→ :h <C-r>
って感じだわ
2019/06/03(月) 15:36:00.92
>>259
書籍版えらい高いのね
2019/06/03(月) 15:45:14.28
>>261
たしか絶版になってたような...
2019/06/03(月) 17:10:31.53
>>262
そのせいか
ナルホド
2019/06/03(月) 23:46:13.33
実践Vimの書籍は本当に手に入れてみたい1品や…
5000円くらいなら手出せるんだがなぁ…
2019/06/04(火) 00:11:05.93
その値段でいいなら売ってる
2019/06/04(火) 08:54:05.64
Kindle版買えばいいじゃん書籍にこだわる意味あんの?
オレなんか自分で自炊したんだぜ?w
自炊のために書籍はバラバラのポイってなもんよw
2019/06/04(火) 10:41:04.72
Kindleは持っているんですが、PCのディスプレイを見ながらkindleのディスプレイを見ながら…ということをすると目が痛くなるんですよね…
2019/06/04(火) 10:56:09.14
kindke端末で見るものではない
せっかくリンクあるんだからPCで読め
2019/06/04(火) 11:51:26.51
絶版本がないとろくに使えないエディタとかまさに骨董品
2019/06/04(火) 14:19:38.13
おじいちゃんしかいないのか?
2019/06/04(火) 14:48:22.17
ばあさんや、新しいパッチはまだかのぅ...
2019/06/04(火) 15:20:28.37
>>260
おじいちゃん、今朝もパッチあてたでしょ!!
2019/06/04(火) 15:20:56.24
>>272
安価ミス乙
2019/06/04(火) 16:50:50.15
みんなパッチとか結構当ててるの?
リポジトリに8.1無かったから、8.1buildインスコした時に
1-1032まで適用されてた版らしいけどその後なんか変わった?
2019/06/04(火) 18:04:20.16
>>274
今は 8.1.1462 が最新やね

ここにいる人は毎日ビルドしてたりするんじゃないの?知らんけど
2019/06/04(火) 19:20:48.81
気が向いたときに最新版にしてる
2019/06/07(金) 09:02:58.58
バイナリ読み込んだ時に非表示文字を検索したいんだけど、
/\%0d とかだとパターンが見つからないと怒られます。
他にコードで検索する方法あります?
2019/06/07(金) 10:43:25.10
Vinariseなるプラグイン見つけた。
これでいいや。ってか凄いなコレw
2019/06/13(木) 21:06:29.45
>>274
そのバージョンはテキストファイル開いただけでPC乗っ取られるぞ
https://arstechnica.com/information-technology/2019/06/if-you-havent-patched-vim-or-neovim-text-editors-you-really-really-should/
2019/06/13(木) 22:15:26.48
>>279
マジか
カッケーな
バージョンアップするわ
2019/06/14(金) 00:09:33.03
>>280
pull してbuildしたら 1523になった。安全安心。
2019/06/15(土) 19:26:30.90
:set nomodeline してるので古いバージョン使ってても安心や
2019/06/16(日) 01:21:19.32
:diffsplit 機能便利だわ
mklink vimdiff.exe gvim.exe
ってリンク作ると、ちゃんとdiffモードで起動するんだね
2019/06/16(日) 17:26:42.67
標準入力の内容をVimで実行して結果を標準出力に返すシェルスクリプトって作れる?
例えばこんなことがしたい。
$ vimrun 'echo 3+3'
6
$ vimrun 'if has('lambda')| let F = {arg1, arg2 -> arg1 + arg2}| echo F(2,3)| endif'
5
みたいな。
2019/06/16(日) 17:40:49.82
>>284
ttps://qiita.com/watiko/items/3ce5086c0defc0c148bf
2019/06/16(日) 20:24:26.57
>>285
ありがとう。
でも標準入力からは読み取れないみたいね。残念。
2019/06/16(日) 20:31:22.17
やっと>>219解決できたわ
exじゃなくてvim -Eで起動するんだとさ
改良版exモードでこれなら日本語も無問題だった
eximでも起動できるらしいがそっちは入ってなかった
2019/06/16(日) 23:03:46.48
>>287
ただの興味本位で訊くけど
なんでexを使いたいの?
ラインエディタならedでいいし
高機能ならVimのほうが使い勝手がはるかに上だと思うんだけど
2019/06/16(日) 23:06:10.92
新ダンジョンで聖王と魔王の記憶の追体験があるんだろ多分
2019/06/16(日) 23:06:41.51
失礼
2019/06/17(月) 05:55:24.05
>>288
ただの好奇心なんで気にしなくていいよ
新幹線好きの現代っ子だってSLにも興味くらい持つもんだ
2019/06/17(月) 23:23:34.57
>>291
懐かしい文字列が目に入ったので久々にインストールしてみた
相変わらずのSLだった
ありがとう
2019/06/19(水) 01:09:00.27
$ lmc
みたいなコマンドを妄想した。
リニアモーターカーのAAがすさまじい速度で端末を駆け抜ける
2019/06/19(水) 01:30:06.09
lmcコマンドの為にGPUを入れよう!
2019/06/20(木) 12:44:44.65
国際化のためmlコマンドに組み込まれました
2019/06/21(金) 01:48:10.40
>>255
emacs occur moccur のうち
前者は確か組み込みで実現されてて
後者はプラグインが github にあったはず
2019/06/21(金) 02:04:15.79
>>242
perl が使えるなら覚えること少ないよ
正規表現も保守性保って記録でいるから
q: 等履歴参照から再使用しやすい

'<,'>perldo s{ ( .{4} ) }{ sprintf("%s%03d", $1, ++$i) }ex

$i がインクリメントされていくから使い捨て
2019/06/21(金) 02:13:26.42
perl のワンライナーがvimでも便利 
こんなデータがあるとして 摂氏と華氏を変えたくても
1行で済む

https://i.imgur.com/layV4I0.jpg


時刻や天気や湿度に全く影響を与えず
温度だけを対象に型崩れなく仕上がる
x オプションがあるから
2019/06/21(金) 02:16:03.41
いちおう perl 解説

x オプション
マッチの部分で空白無視
正規表現の最小単位で区切ることで保守性が高まる

e オプション
2019/06/21(金) 02:17:54.58
e オプション
置換部分を perl コードとして扱う
2019/06/21(金) 08:42:42.94
うっかりvimの検索でperlが使えるようにならないかな
一々括弧をエスケープするのイクナイ
2019/06/21(金) 09:21:03.87
>>301
\v ではダメ?
2019/06/21(金) 09:33:46.93
>>296
名前からしてemacsのpluginっぽいけどvimのpluginなん?
2019/06/21(金) 09:36:35.86
>>301
自分も\v使ってるヨ
2019/06/21(金) 12:40:36.42
>>301
\v デフォルトでオンにしてるけど癖あるからperlの使いたい気持ちもわからんじゃない
.*? みたいな最短マッチのやり方をいつも忘れてしまう
2019/06/21(金) 14:02:12.93
>>303
vimだと Github の thinca/vim-qfreplace
だった気がする
2019/06/21(金) 17:25:07.58
たまに履歴が分散するんだけど何が原因だろ
.iminfo.tmpが作られてなぜかカレントの履歴がそっちに移動してる
同時に空ファイルのviminfu.tmpやviminfv.tmpも作られてる
vimの強制終了が原因じゃないようだしよく分からん
さっきも.iminfoとtmpをマージしてきた
正規表現に方言があるってvimで知ったなぁ(遠い目)
2019/06/21(金) 21:33:21.89
>>305
デフォルトでオンにする設定なんてあるんだね
2019/06/22(土) 00:49:45.11
>>307
結構長いことVimを使ってるけどそんな状況に遭遇したことないな。
あまり力にはなれそうにないけど
:set viminfo?

:set viminfofile?
の結果を教えてくれるか。
310307
垢版 |
2019/06/22(土) 09:28:18.35
>>308
:set viminfo?
viminfo=!,'100,<50,s10,h,n~/.viminfo
:set viminfofile?は未知のオプション
~/.viminfoにはset viminfo+=n~/.viminfo

どうもvimが古いみたいだ
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:42:42)
適用済パッチ: 1-52
追加拡張パッチ: 8.0.0056
2019/06/22(土) 15:53:28.22
平成の Vim じゃん
2019/06/22(土) 17:14:04.39
>>308
/押したときに/\vと入力されるようにマッピングするだけでは
2019/06/22(土) 17:45:03.77
自分は nnoremap / /\v を使ってる
2019/06/22(土) 23:38:47.47
令和のVimに乗り換えるヨロシ
2019/06/23(日) 00:06:28.89
neovim はどうなったのだろうか
2019/06/23(日) 01:34:25.27
NeoVimは2017くらいに盛り上がってきりだな
やっぱりVimに舞い戻ってる人が多い印象。
2019/06/23(日) 07:47:41.53
virtual textやfloating windowとかvimが後追いで作ってる物がある
2019/06/23(日) 13:51:18.37
機能は後追いでも Neovim の実装をパクってる訳じゃないよ
Neovim は Vim のパッチをパクるけどね
2019/06/23(日) 15:05:42.72
完全フリーのものをパクろうがどうでもいい
そのソフトウェアの向上になるならば
2019/06/23(日) 15:37:32.54
むしろ車輪の再発明こそ悪
でも先行品の品質とか設計が自分のプロジェクトの基準に合わないなら書き直しも已む無し
2019/06/23(日) 15:57:37.72
OSSがさもパクリじゃないかの言い方はNG
この界隈で最も厄介なのは常に玉石混交故に迷子になること
何がいいか一通り試して見極めろとか冗談
2019/06/23(日) 19:21:21.78
玉石混交なんて当たり前だろ
何でお前のために選り分けてやらなきゃならないんだよ
323名無しさん@お腹いっぱい。
垢版 |
2019/06/24(月) 02:43:44.89
>>317-322
完全にゼロから創造し、更に改良するなんて荒業が出来るようになれなどと我々日本人のOS(古事記)には組み込まれてない。
~が創造し生み落とし与えられた物を、メンテナンスし使いやすくしなさいというのが修理固成(つくりかためなせ)という古事記の有難い教えがあるように、物作りの精神を忘れてはならない。
324名無しさん@お腹いっぱい。
垢版 |
2019/06/24(月) 02:54:25.48
>>322
仰る通りですな。
既にあるものを取捨選択し、使えそうなモノを採用し改良を加えていくようにと古事記にもそう書かれてます。
そういう意味ではneovimは日本人には最適なテキストエディタではないでしょうか。
2019/06/24(月) 13:33:29.34
この界隈は改造好きの成れの果てなんだから意見しても癇癪起こすだけだぞ
業界自体が標準のなさを美徳としている以上対立してみせても無駄
お仕着せの窓林檎と放任主義のペンギンと両極端でもそれ以外ないんだからアキラメロン
326名無しさん@お腹いっぱい。
垢版 |
2019/06/24(月) 13:48:01.04
そこでAndroidという救世主が現れただろ。
(;´_ゝ`)
2019/06/25(火) 01:42:39.44
船頭多くして船山に登るってご存知?
2019/06/25(火) 05:12:32.32
船多くして船頭山に登る
2019/06/25(火) 05:20:31.18
sed・awkして船 山に登る
2019/06/25(火) 08:29:24.01
宝船かな?
2019/06/25(火) 10:40:05.96
>>328
2019/06/25(火) 10:47:30.12
一歩のライバルだっけ?
2019/06/26(水) 18:06:44.54
vim-airlineみたいにActive/Inactiveでstatuslineの内容変えたいのだけど
属性変えるStatuLineNCみたいなのって無いようです。
どんな手段がありますでしょうか?
2019/06/26(水) 22:28:35.40
急雲風を告げる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況