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/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
急雲風を告げる
2019/06/26(水) 23:01:38.67
lightlineはアクティブと非アクティブウィンドウで違うもの表示できるけど
2019/06/27(木) 01:36:46.84
StatuLineNCはstatus line in non-current-windowを指定するので結局Act/Inactを切り替えられるのでは。
2019/06/27(木) 03:08:40.07
>>335
plugin無しでvimrcに記述するだけで似たようなの再現できないかなと思いました。

>>336
set statusline=%1*[NORMAL]%*
これの非アクティブWindow版は無いかな?と言うことなのです。
やっぱ自前で非アクティブのだけ手で更新してるんですかね…
2019/06/27(木) 07:11:43.89
>>337
vim scriptで書かれたプラグインで出来てるならそこを読めばいいだけ
2019/06/29(土) 00:18:37.52
>>338
airlineだと複雑だったのでlightlineを参考にしたら解決しました。
setwinvarを使うようですね。
WinLeaveイベントに仕込んでも行けそうです。
340名無しさん@お腹いっぱい。
垢版 |
2019/07/01(月) 21:11:00.71
白い兎に付いて行け。
2019/07/03(水) 17:59:58.16
ivimスレはありますか?
2019/07/03(水) 22:01:54.07
あるんじゃないかな
2019/07/04(木) 00:26:35.63
ivim冷やかし半分で入れてみたら
案外面白くて
軽くggってもqiitaの軽いもんしかなくてさ
2019/07/04(木) 08:32:24.18
ivim特有のものはヘルプに書いてある
2019/07/04(木) 12:48:23.61
過去のレスにもあったけどさ
欲しいのはVimそのものというよりVimのインターフェースだから
例えば↓
https://qiita.com/kedama17/items/bb1455464f47259c9f02
こんな感じ(ていうかこの記事はほとんど何も言ってないけど…)で
「Vim第1水準」→移動系キーバインド対応・テキストオブジェクト対応
「Vim第2水準」→mapコマンド対応
↓以下続く
みたいに「ああ,このVim風の拡張機能はこういうインターフェースで使えるんだな」というのを把握できたら嬉しいな。
2019/07/04(木) 13:14:47.80
キーバインドはたいていプラグインがあるしあんまりvimに近いとvimでよくなる
いい感じのGUIが欲しいならOnivimみたいにneovimのGUIを実装したほうが良さそう
2019/07/04(木) 15:12:26.45
いや実装というか規格が欲しいという話っす。
まあ妄言なんでそんなに気にせず……。

ところでOnivimを使ってみようとDebian sidに入れてみたけど
ファイルのツリー表示こそされるものの編集画面が真っ暗w
2019/07/04(木) 15:38:45.87
規格かー面白いかもね

ここ最近しょうがなくvim触りだしたけど
テキストエディタという、ひと塊りだったツール認識が
いい意味で壊されたわ

拡大解釈すると
スマートフォンのスワイプで文章閲覧して
必要に応じタップして編集
のスタイルに近しいね

現行のテキストエディタって編集→編集→編集っていうのが前提で
閲覧もあくまで編集の枠にはいるというか、、、


プロダクトデザイン的に日本のテレビリモコンがボタンの多さで揶揄されることがあるけど
それをソフトウェア的に上手くフォローしているというか、、、


規格にすることで
ソフト的にもハード的にもUIデザインの進化や再解釈ができるのでは?と&#129300;



チラ裏すまん
2019/07/04(木) 15:43:56.04



























2019/07/04(木) 18:11:34.34
>>159
命名規則が明瞭なものを選ぶ
2019/07/04(木) 19:57:44.62
>>349
えへ
えへへへへ、、、
ありがと////
2019/07/04(木) 20:54:41.74
Onivimの最新版は有料なのか……まあ仕方無いね。
Vim使うはww
2019/07/05(金) 00:13:48.32
oniたんぺろぺろ
2019/07/05(金) 01:18:22.53
oniって何のoniだろう?
355名無しさん@お腹いっぱい。
垢版 |
2019/07/05(金) 03:05:33.13
クリップボードを有効にしたVimで
sコマンドによる削除がクリップボードに移ってしまうのを防ぐにはどうすればいいですか。
2019/07/05(金) 07:20:35.76
有効とか無効とかそんな余計なことしなくても
Ctrl + ins: コピー
Shift + ins: 貼り付け
Shift + del: 切り取り
でクリップボードの操作できるでしょ
macなら知らんけど
ttp://nanasi.jp/articles/howto/editing/clipboard.html#id2
2019/07/05(金) 09:38:20.06
null レジスタに送っておけば?
nnoremap s "_s

"_ がそれ
:h "_
2019/07/05(金) 09:52:17.81
>>356
Linuxで使っています。
PRIMARYにある文字列が保存されているとして
文章中のある(それとは別の)文字列をsコマンドで消去すると
Shift+Insをした際にPRIMARYにある文字列ではなくsコマンドで消去した文字列が挿入されてしまうのです。
2019/07/05(金) 09:57:48.90
>>357
ありがとうございます。
すいません。なぜかそれでも上手くいきませんでした。
まず"_sと直接入力した場合はPRIMARYにある文字列も消えてしまいました。
またnnoremap s "_sとして設定した場合は相変らず>>358の現象が起こります。
なにかクリップボードの設定を弄ったおぼえはないんですがね……。

VimはDebian sidのパッケージマネージャで入れたvim-gtk3 8.1.0875-5です。
clipboard・xterm_clipboard共に有効になっています。
2019/07/05(金) 12:24:02.60
‘clipboard’にunnamedを設定してる?
2019/07/05(金) 21:11:30.58
>>360
ありがとうございます。
set clipboard-=autoselect
↑これで解決しました。
2019/07/06(土) 10:24:05.79
カーソル位置の文字で直接ヘルプを引くプラグインってない?
vimのメモや.vimrc上でヘルプを引くけどコマンド入力が手間なんで直接検索したい
2019/07/06(土) 10:32:26.51
Ref.vim あたりがそういうの設定で何でもできるイメージ
2019/07/06(土) 10:36:18.09
最悪マクロの類(コマンド

C-r C-w
これでコマンドモードでも
ノーマルモードのカーソルがいた位置の文字が参照されて入るから
nnoremap で何かトリガー引いたら後は
:h C-r C-w <Enter> みたいな流れ

CTRL-R CTRL-W
Insert the object under the cursor:
2019/07/06(土) 11:35:25.97
つ.vimrcにset keywordprg=:help
使い方はノーマルモードで検索対象の上にカーソル置いてKキーポチる
setが読みたいならset上でK
2019/07/07(日) 10:38:48.90
>>362

もう解決やとおもうけど

http://cohama.hateblo.jp/entry/20130108/1357664352
(記事の真ん中らへん)

これのことよね?
2019/07/07(日) 14:20:32.83
>>366
>364やね。
これをどっかにmapすりゃよい。
2019/07/09(火) 06:51:33.89
C-r_C-w はどんなファイルでも使える汎用的な物なので知っておくと便利
Vim のヘルプを引くという要件だと keywordprg=:help のほうがおすすめ
というか、$VIMRUNTIME/ftplugin/vim.vim で定義されているから .vim なファイルを開いた時に K キーを押せばヘルプが開くはず
2019/07/09(火) 07:58:23.96
>>368
便利ね。でもwordの定義が固定されてるから「=」とかが含まれてる時にまともに機能しないね
2019/07/09(火) 09:25:21.86
@-moz-documentに入れ子になってるCSSのシンタックスハイライトでおかしな配色になる時があるけど
どういう場合に再現するか分からんから報告もできず……。
例えば
@-moz-document url("http://example.com";) {
:root { /* ←ここから色が付かない */
color: red;
}
}
2019/07/09(火) 09:50:47.04
imgur に スクリーンショットを上げて
2019/07/09(火) 10:13:10.11
>>371
https://imgur.com/xFZNJsB
こんな感じです。

$ vim -u /usr/share/vim/vim81/defaults.vim ~/var/tmp/jnk/a.css
で起動)
2019/07/09(火) 12:12:33.16
>>372
https://imgur.com/xFZNJsB.jpg
374名無しさん@お腹いっぱい。
垢版 |
2019/07/09(火) 14:35:06.37
>>370
@-moz-documentに限らないね
そこを@media screenとかに変えても同じ
もっと言えば @… を除いてブレース { … } だけでも再現する
それとコロンを含むセレクターの組合せが、問題の引き金みたい

まとめるとこう

コロン : を含むセレクターを持つCSS宣言ブロックがブレース {} で括られている場合
そのコロンから一つめのプロパティーまでと
最後の閉じブレースが正しくハイライトされない

確認用CSS
https://pastebin.com/raw/tKdJpvXa
この場合 8&#12316;10行目、19行目、21行目 で問題あり
他は正しくハイライトされる
https://i.imgur.com/cykqKUM.png
2019/07/09(火) 16:48:51.62
>>374
ナイス分析
2019/07/09(火) 21:11:38.66
はぇーかしこい
2019/07/09(火) 21:29:59.93
:set filetype=scss
以前、余所で聞いたときの答え
2019/07/09(火) 21:34:30.19
vim同梱のやつが古いだけで元のリポジトリでは修正済み
ttps://github.com/JulesWang/css.vim/issues/69
2019/07/09(火) 21:34:59.90
あ、すみません。
それ以後気にせず使ってたんですが
html,
html:root,←scssだとここがおかしいですね
2019/07/11(木) 07:32:06.56
Vimに特化した話でも何か目新しいって訳でもないけどこんなのあった

“完璧”なカラー設定「Solarized」の魅力は、計算し尽くされたものだった
https://wired.jp/2019/07/09/very-mathematical-history-perfect-color-combination/
2019/07/11(木) 09:31:57.28
その割に異様に読みにくかったり大抵は修正が必要だよな
そのまま使わせちゃくれない
2019/07/11(木) 10:18:07.47
perl でサブルーチンよびだしがハイライトされない
https://i.imgur.com/3u76nhj.jpg


解決方法ありますか?
デフォルトはハイライトおかしいのが有名なので
Plug 'vim-perl/vim-perl', { 'for': 'perl' }

してます
2019/07/11(木) 14:47:22.82
>>380

あざうす
2019/07/11(木) 21:13:58.09
自分はSolarizedは青すぎて好きになれんかったな。
もちろん好みの問題だけど,Campbellはなかなか良い。
黒字に白というかなり標準的な配色ながら原色ケバケバしていないのが好感。
385名無しさん@お腹いっぱい。
垢版 |
2019/07/11(木) 22:50:36.00
>>384
日本人には青すぎて馴染めない。
2019/07/12(金) 11:26:06.63
つまりSolarizedは坊やってことですか?
387382
垢版 |
2019/07/12(金) 11:28:58.98
& を付けるとシンタックスハイライトが効きます
しかし、類似する表現と見分けがつきにくいので
& 付けないでサブルーチン呼び出しをします

このハイライトされないことに対して
なにか方法はありますか
2019/07/12(金) 12:31:43.81
背景真っ黒はつまらないな
色つけるなら青くらいしかない
2019/07/14(日) 12:03:04.83
MX-18.3(Debian 9)のxfce4-terminalでvim-hybridのカラースキームを使ってるんですが、
行スクロールすると文字が入力されていない部分の背景色だけがターミナルの設定色(黒)になり、
まだらになってしまいます(ページスクロールするとカラースキーム通りの背景色になる)。
これまでKona 3.0(Debian 8)のxfce4-terminalでは正常に表示されています。
これはどこをチェックすればいいんでしょうか?

https://i.imgur.com/pZc7ovV.png
2019/07/14(日) 20:38:54.62
>>389
環境は仮想マシン?
391390
垢版 |
2019/07/14(日) 21:02:34.44
>>390
いえ、普通にHDDにインストールしたLinuxです。
念のためVimやxfce4-terminalを最新にしてみても駄目でした。
Neovimでは問題がないようです。
392389
垢版 |
2019/07/15(月) 11:45:39.63
とりあえず検証のためにsttermを入れて試してみたら問題ありませんでした。
xfce4-terminalの問題のようですが、
別のKona 3.0(Debian 8)の環境はxfce4-terminal 8.4で、
現在のMX-18.3(Debian 9)とxfce4-termnal 8.3/8.8と何が違うのかはわかりません。
2019/07/15(月) 18:57:53.77
>>392
set t_ut=
ってやってみて。値は空ね。
394389
垢版 |
2019/07/15(月) 19:26:30.72
>>393
> set t_ut=
ずばりこれで解決しました!最初の値はt_ut=yでした。
ありがとうございます。助かりました。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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