Vim Part30

■ このスレッドは過去ログ倉庫に格納されています
2020/12/18(金) 12:18:50.83
Vim 6以降に関する話題です。
http://www.vim.org/

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

関連情報は>>2-3あたり
2021/03/29(月) 05:13:52.77
おすすめのvim指南書あったら教えて下さい
2021/03/29(月) 06:17:11.52
オライリーとかから出てるやつ?
:hの方がよっぽどいいと思うぞ、日本語訳もちゃんとしてるし
紙で欲しいなら、値が張るかもしらんが印刷しなさい
2021/03/29(月) 11:28:35.90
なるほどお
2021/03/29(月) 12:10:54.38
マスタリングVimが新しめで最近の事情を知るにはいい
今は電子版しかないが実践Vimは組み込み機能を知るために読んだ方がいい
もちろん付属のヘルプもユーザーマニュアルくらいは読んだ方がいい
2021/03/29(月) 18:34:53.18
かなり古いけどvim完全バイブルってのを通して読んだら全体像がつかめた
中古で安く入手できるならオススメ
2021/03/29(月) 20:15:26.01
>>165
:h の謎を解かなきゃ先に進めない気がする
2021/03/29(月) 20:19:09.31
vim完全バイブルがアマゾンで実質無料だから買っちゃおうかな
あとは必要に応じてマスタリングvimとか手出してみようと思います
いろんな意見ありがとう
2021/03/29(月) 20:26:55.60
>>164
https://anond.hatelabo.jp/20170602122519
2021/03/29(月) 20:41:31.98
まあ人それぞれな気がする
2021/03/29(月) 20:45:12.62
>>169
よろしくないよなー、初めてvimscript書くとき参考に既存のファイル開いたらse et au! au!言っててなんじゃこりゃって
そして:abに気付くのはもっと先の話…
せめてスクリプトに書くの非推奨って明言してほしい、vim内部でも使われてるけどな!
2021/03/29(月) 20:58:50.20
:ecchi
2021/03/29(月) 21:03:00.47
hjklに慣れろってのは反対だなー
それで別に何か生産性が上がるわけでもなし

使って慣れる必要があり、かつ習熟で効率が最も上がる移動コマンドはf(次にタイプした文字へジャンプ)コマンドでしょう
hjkl連打してるのは危険サイン、nunmup h(jkl)で矯正しよう

w/b等もfで代替可能なものなので、中級者以降でも練習のつもりでやってみるのもいいと思う
2021/03/29(月) 21:16:32.93
EWS-UX/Vの頃から40年vi使ってるけど、実践Vimはとてもためになったよ
こんな機能あるんだ!って目から鱗がたくさん落ちたさ
2021/03/29(月) 21:25:08.04
i/ctrl-[
yy/p/P
q:
qq
@@
f/F
:reg
:ls/bn
/
:% s/
:r
これだけ覚えれば大体なんとかなる

外部ツールならこうするんだけど、って思ったら無理にvimでやる必要はない
その場にコマンド書いてyyでコピー、q:で(普通のコマンドが自由に使える)exコマンドラインを開き、pで貼り付け実行、:r !cmdで結果を次行へ読み込めばいい
記録も残せる
2021/03/29(月) 21:50:08.07
>>177
たのしいUNIX 坂本 文著
のレベルっすね。
2021/04/01(木) 09:17:49.25
>>175
fは次の行いってくれるとうれしいんだが
;,は便利そう
2021/04/01(木) 10:02:40.66
>>179
f拡張のclever-f.vimとか
2021/04/01(木) 12:58:32.06
>>175
korn shell でset −o vi するなら hjkl,x は知らないと死にそうになる。
bash でよければ要らないな、とは思う。
2021/04/01(木) 14:08:44.50
バイナリやログじゃなくて普通のソースコードはf...で移動してるな
2021/04/01(木) 14:15:59.15
>>182
.で飛べるのは多分標準じゃなくてプラグイン
2021/04/01(木) 14:22:08.10
.は飛んだ所で書き換えの繰り返しにfと合わせて便利なので、検索と意味的にも合うnをマップするのを薦める
2021/04/01(木) 19:01:33.52
おれはしない
2021/04/04(日) 22:31:31.10
shellではemacsキーバインドを使ってしまう
viキーバインド使う人はどこにメリットを感じてるんやろ(´・ω・`)
2021/04/04(日) 23:09:15.56
好みや慣れ
2021/04/04(日) 23:15:43.95
シェルはemacs風でいいんでないの
さすがに一行編集にモード切り替えはつらい
素早くy/pで行単位で編集できるのが強みなわけで
シェルスクリプト組む時はインタラクティブシェルでfcをvimに紐付けて素早くサイクル回し、仕上ったスニペットを.shへ順次追記してる
2021/04/04(日) 23:28:24.16
readlineの話になるけど、あんまり良く出来てるとは思えないしなvi風モード
2021/04/04(日) 23:33:41.89
>>85らへんで話題になった:termからシェルに繋ぐのはアリだと思う
出力をリダイレクトし忘れた時とか取りあえずログ取りたいときとか
おもむろに:wして、不要部はdgg/dG$してしまえばいい
2021/04/05(月) 00:14:50.66
>>186
emacs ではカーソル使うせいでキーバインド覚えてないんだが。
最初に覚えたのがviで、覚えないと1文字でも間違えると直し方わからん、新しいファイルでゼロから打つかな、みたいな事をしてたせいなんだが。
2021/04/05(月) 12:27:43.46
メリットはないが手が勝手に動いてくから仕方なく使ってる
2021/04/07(水) 22:33:09.42
viとemacsとwindowsのショートカットを同時に使うと
結構混乱するよな
まあC-pぐらいしか間違えないんだけど
194名無しさん@お腹いっぱい。
垢版 |
2021/04/11(日) 20:27:45.73
1234
5678
1234
5678

という4行の文の1行目に
123 4
という感じにスペースを挿入後
2〜4行目に対しても3文字めの後ろにスペースをまとめて挿入する方法はありますか?
ご教授ください
ってテキスト行に
123 4という感じにスペースを挿入後
2021/04/11(日) 21:39:40.00
%s/^.../\0 /g
2021/04/11(日) 22:02:05.10
ブロック選択してブランク挿入とか
2021/04/11(日) 23:26:32.73
C-vの矩形選択
2021/04/12(月) 00:14:47.90
>>195
括弧でキャプチャしなくても取れるの初めて知った
\0はヒットしたものをキャプチャしてるのか
勉強になった
199名無しさん@お腹いっぱい。
垢版 |
2021/04/12(月) 08:13:30.54
数十行までなら最初の行に入れた後にj.j.j.j.の連打でよい
2021/04/22(木) 06:14:32.46
>>195
gはいらない
2021/04/23(金) 08:56:53.99
>>195
\0 は & でいい
2021/04/25(日) 22:07:45.59
ターミナルからvimrcを開く方法を教えてください

$ vim -c "$MYVIMRC"
では開けませんでした
203202
垢版 |
2021/04/25(日) 22:11:18.21
すいません~/.vim/vimrcのようにパスを指定するのではなく
$MYVIMRCを指定して開けるようにしたいです
2021/04/25(日) 22:27:03.91
>>202
vim ~/.vimrc
2021/04/25(日) 22:32:43.05
単に$MYVIMRCを定義してやれば良いだけでしょ。
2021/04/25(日) 22:34:03.97
>>203
MIVIMRCはvimが最初に見つけた設定ファイルの名前を入れる変数だからshellからはアクセスできないよ
どうしてもやりたいならshellの環境変数に設定するとか
2021/04/25(日) 22:35:02.44
$ vim -c 'expand("$MYVIMRC")'

vimを起動したら$MYVIMRC定義されているはずですので
こんな漢字でターミナルから起動したら展開されるかなと思ったんですけど無理でした
2021/04/25(日) 22:51:57.78
これで行けるな
シェルの環境変数として展開されるわけじゃないけど
vim +':e $MYVIMRC'
2021/04/26(月) 02:13:24.32
それですね
ありがとうございました
2021/04/26(月) 02:54:50.65
vimのオプションコマンド指定ほんと便利よね
中身exec $VISUAL +"…$1 ..."みたいなラッパスクリプトを~/binに:cmdとして量産してる(:prefixで名前衝突回避)
$ :find limits.h [count]が自分的キラースクリプト、オススメ
exec $VISUAl +":$2find $1"みたいな感じにしてる(参照してないので動作確認してよしなに直してね)

$ :hとかも重宝、ナイーブにやると新しいバッファも開かれて画面半分占められてしまうけど、|bd 1付けて自動で閉じればフルスクリーンで快適に読める

rc読まないオプション(-esとかだっけ)付けるとUI開かず(爆速になる)、stdin/stdoutで入出力してくれるからフィルタ書くのにも最適だね
211名無しさん@お腹いっぱい。
垢版 |
2021/04/27(火) 21:34:17.86
Vimmerの達人達は、どんな職業の人が多いんだろ?
ちなみにオイラはレコーディングエンジニアで駆け出しVimmer
2021/04/28(水) 11:34:44.48
無職です
2021/04/28(水) 20:51:27.49
オイラはドラマー
2021/04/28(水) 21:41:49.69
ヤ○○なドラマー
2021/04/28(水) 22:50:15.45
呼ぶぜ
2021/04/29(木) 01:17:36.66
そこにvimがあるから
2021/04/29(木) 22:03:30.00
出所不明なプラグイン入れてるからか、ふとg:を眺めてたらループ変数っぽいiやらkが結構お漏らししてるのな
どこでletされたかオプションみたいに追えなかったっけ?
初期化されて使い回されるから多分無害なグローバル変数だろうけど、きになる
2021/04/29(木) 23:41:21.56
>>217
starting.txt参照の-Vでログが取れるがプラグインディレクトリで素直にg:iでgrepした方が早い気がする
2021/05/02(日) 10:04:08.82
11月まで人類は生き延びられるだろうか

Learning the vi and Vim Editors, 8th Edition
by Arnold Robbins, Elbert Hannah
Released November 2021
Publisher(s): O'Reilly Media, Inc.
ISBN: 9781492078807
https://www.oreilly.com/library/view/learning-the-vi/9781492078791/
2021/05/02(日) 10:17:13.57
nvimへの言及はまだなさそうだな
2021/05/02(日) 10:26:19.24
>>219
VIM新版かとオモタ。
オライリーのそれを読む未来は無いので、人類滅亡してもいいや。
2021/05/02(日) 11:22:42.26
Emacsはスクリプトのネイティブコンパイル版来るらしいけどvimはどうなるんだろ?まあスピードの要求されるプラグインは元々Cのモジュール呼び出す仕組みだけど
2021/05/02(日) 11:56:50.14
vim9scriptが速いらしい
2021/05/02(日) 12:23:58.52
>>223
おーmattn氏によると文法は変える必要があるけど4〜5倍速くなるみたいなので期待出来ますね
2021/05/02(日) 13:18:12.00
ヘルプにも開発中のものって書いてあるのにこういう無神経な事を平気で書く奴は本当失礼だと思う

https://twitter.com/gorilla0513/status/1227969205552676866
https://twitter.com/5chan_nel (5ch newer account)
2021/05/02(日) 13:55:03.81
vimが好きになる本書いてるのに嫌いにさせてどうする
2021/05/02(日) 14:06:10.68
Lua?
2021/05/02(日) 14:18:31.09
>>225
やっぱりゴリラかw
2021/05/05(水) 10:30:18.24
メジャーバージョンアップの間隔だんだん長くなってるから9なんて当分先の話か
2021/05/05(水) 13:39:41.36
別に9じゃなくてもバグバグじゃ…と思ってしまった
標準プラグインから引っ張ってきた定型文しか書かないことにしている
2021/05/05(水) 13:52:29.30
日本語でおk
2021/05/08(土) 01:05:22.13
https://rome.tools/ に対応したプラグインありますか?
2021/05/08(土) 05:32:03.97
>>232
vim-lspでもなんでも好きなものを
2021/05/11(火) 10:30:46.17
ホームディレクトリ直下にvimrcとかinfoとかばらばらに配置されるのが嫌なんですけど楽な方法ないでしょうか
2021/05/11(火) 12:13:52.14
.vimディレクトリ作れ
2021/05/11(火) 17:20:19.44
linuxとmacなら~/.vim/
windowsなら~/vimfiles/
2021/05/11(火) 20:30:04.26
うわーなんだそんなことなのか
ありがとう
2021/05/11(火) 21:45:09.24
ctrl-w_r やctrl-w_h などのctrl-w_?キーを代替できるexecコマンド( :hoge )無いの?
2021/05/11(火) 23:50:20.98
:h execute
2021/05/11(火) 23:50:47.84
:h normal
2021/05/12(水) 08:54:29.48
:h hoge
242名無しさん@お腹いっぱい。
垢版 |
2021/05/17(月) 07:27:22.64
raspberrypi 3でneovimとdeoplete動かそうとしたのですが

[deoplete] deoplete failed to lo...rt Neovim. See also :checkhealth.

というエラーを吐かれて動きません
:checkhealthで確認したところ
ERROR: Require msgpack 1.0.0+ was not successful
との記述があったのでpipでmsgpackをインストールしましたが改善せず

なにか解決策ありますか
2021/05/17(月) 13:52:58.43
>>242
https://github.com/Shougo/deoplete.nvim/issues/1073
244名無しさん@お腹いっぱい。
垢版 |
2021/05/17(月) 16:28:06.21
>>243
レスありがとうございます
依然として同様のエラーを吐かれてしまって現状お手上げって感じです
2021/05/17(月) 16:54:32.14
>>244
今手元のrpi3にnvimとdeoplete入れてみたけど242と同じようなエラーは出たものの、指示に従ってやったらエラー出なくなったな
pip3 install msgpack pynvim neovim
で起動時に :Update なんちゃらを実行しろみたいなメッセージは出ないかな?
自分の環境では :UpdateRemotePlugins を実行したあとはエラー消えたわ
246名無しさん@お腹いっぱい。
垢版 |
2021/05/17(月) 18:23:36.36
>>245
無事動きました
ありがとうございます
2021/05/23(日) 00:44:00.83
neovimのコマンドラインモードでtabキー押したら
ポップアップが表示されるのとても便利
Vimにもバッファ上にはある機能だけどコマンドラインモードにも実装されるのかな?
2021/05/23(日) 00:53:55.41
:じゃなくてq:で立ち上がる通常バッファと同じ操作体系のコマンドならInsertモードと同じ補完は効くはずだけど、どの補完機能の事か分からん
2021/05/23(日) 01:36:57.02
ごめんtabはwildcharのデフォルトなのな、タブよく使う派だから切ってる俺のほうがおま環だった

vimヘルプによればwildchar連打でコマンドライン上に補完候補複数出るのはwildmenuで、コンパイルオプション+wildmenuならオンらしいよ
2021/05/23(日) 01:43:37.99
nvim使って気付いた機能は大体vimにあって初期設定の違いだけだったパターンが多い
ずっと標準プラグインだけどvimではkeywordprg初期設定されてないman.vimとか
vimの底は見えぬ
2021/05/23(日) 02:04:23.71
完全に理解した。
252名無しさん@お腹いっぱい。
垢版 |
2021/05/28(金) 12:12:22.41
css html php javascriptなどをやる場合、vimを使うメリットはあるのでしょうか?
vscodeのほうが色々便利そうなんですが。
2021/05/28(金) 14:18:12.67
vimであるということがメリット
vscodeの方が便利だ
2021/05/28(金) 15:45:07.70
この時代にphpをやるメリットも考えたら
2021/05/28(金) 15:56:09.89
ないのでvscode使った方が良いよ
2021/05/28(金) 17:47:46.61
VimよりVSCodeの方が便利だけど、
Vimのキーバインドの方がVSCodeのキーバインドより便利
VSCode+Vimキーバインド拡張がベスト
257名無しさん@お腹いっぱい。
垢版 |
2021/05/28(金) 18:23:51.18
>>254
どういうことですか?
>>255
253
256
はい
2021/05/28(金) 21:01:02.93
タグの内外をテキストオブジェクトとして扱えるから結構html/xmlは向いてるのでは
ci<的な、多分2前置で2階層セレクトとか

順序気にしないxmlなんかはpwshとかのコマンドラインでこねこねしてダンプが多分一番楽
2021/05/28(金) 21:17:52.67
開始タグと終了タグ間のブロック選択は何だっけと思ったらtか
タグごと消すのはdat, 挟まれたテキストだけはdit
2021/05/28(金) 21:21:48.62
webページのささっとプロトタイプにはcolorschemeとか調整して:ToHtmlという手もあるか
中まで見た事ないので汚いコード吐くかもしれんが
261名無しさん@お腹いっぱい。
垢版 |
2021/05/28(金) 22:01:13.69
デバッガーとかインテリセンスとかはついてないですよな
2021/05/28(金) 22:06:41.62
vimでは標準じゃないけどnvimはlsp組み込みだよ
:h lsp
2021/05/28(金) 22:10:51.14
まあインテリセンスより自分で文脈を指定できるc-x補完に慣れた方がいいと思うけどね
2021/05/28(金) 22:22:31.76
vimscriptバリバリ書いて高機能な特定言語用vimプラグイン使うよりはlspを勧めたい
msのlanguage-server-protocol/implementors/servers/から落として:h lspのvimrc例をコピペするだけで動いて軽い

vim8系でもポートあるはず
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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