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あたり
2022/07/22(金) 07:21:52.34
>>625
ありがとうございます
まだ完全理解ではありませんが光明が見えました
精進します
2022/07/22(金) 14:25:25.92
>>623
:h magic
:h &

https://vim-jp.org/vim-users-jp/2009/08/11/Hack-55.html
2022/07/23(土) 08:02:59.03
>>627
ありがとうございます、理解が深まりました
magicオプションが'magic'である時は
{ が文字リテラルとして扱われるルールであると
全く知らなかったので助かりました
2022/07/23(土) 10:12:20.50
>>617で完全移行した気になっていたけど全角文字が半角表示になって表示がくずれていることに気づきました
vim-ambiwidthプラグインを導入してほぼ治ったんですが、一部の全角文字はダメだったんで
vim-ambiwidthプラグインに全角表示する文字を追加して気づいた分は治りました
以下、追加した全角表示文字

[0x222b, 0x222b] " ∫
"全角のBox_Drawing
[0x2500, 0x2503] " ─━│┃
[0x250c, 0x250c] " ┌
[0x250f, 0x250f] " ┏
[0x2510, 0x2510] " ┐
[0x2513, 0x2514] " ┓└
[0x2517, 0x2518] " ┗┘
[0x251b, 0x251d] " ┛├┝
[0x2520, 0x2520] " ┠
[0x2523, 0x2525] " ┣┤┥
[0x2528, 0x2528] " ┨
[0x252b, 0x252c] " ┫┬
[0x252f, 0x252f] " ┯
[0x2530, 0x2530] " ┰
[0x2533, 0x2534] " ┳┴
[0x2537, 0x2538] " ┷┸
[0x253b, 0x253c] " ┻┼
[0x253f, 0x253f] " ┿
[0x2542, 0x2542] " ╂
[0x254b, 0x254b] " ╋

同じように困ってる方の参考になれば幸いです
2022/07/23(土) 10:15:01.33
>>629
素晴らしい!
2022/07/23(土) 10:21:31.68
基本的な事で恐縮ですが
linuxのターミナルエミュレータで
結構な頻度で表示される1文字がおかしくなります。
大文字のLを打ってリロードすれば正しく表示されるのですが、対策はありますでしょうか?

環境変数 TERM=linux としていますが、色々やっても同じでした。
2022/07/23(土) 10:31:56.03
結構な頻度で使ってるがそんなこと無いけどねえ
そう言う質問なら環境書かんとね
(使用ターミナルエミュレータやその設定・使用フォント・~/.vimrcの内容など、解決の助けになる事は思い付く限りなんでも)
2022/07/23(土) 10:47:25.70
そうですね。失礼しました。

linux mint mate 最新版で使ってるのは mint-terminal です。.vimrc は削除した状態でも変わりませんでした。
2022/07/23(土) 11:00:14.31
> 表示される1文字
kwsk
2022/07/23(土) 11:16:04.06
>>634
すいません、表現が不十分でした。
入力モードからESCで抜けたときに、その抜けた位置にランダムな1文字が表示されるときがあります。

具体的には、abcの3文字を入力する場合
iabc<ESC>
と5文字打ちますが、画面の表示が
abx
となるときがあります。(xはその時によって異なる)
その状態でLリロードすると正しく
abc
と表示されます。
2022/07/23(土) 11:20:09.90
どうもおまかんぽいが何か事例があるかもしれんのでしばし待たれよ
637名無しさん@お腹いっぱい。
垢版 |
2022/07/27(水) 08:24:57.07
Windowsでも.vimrcって使えるんか?
使い方教えてください
638名無しさん@お腹いっぱい。
垢版 |
2022/07/27(水) 08:48:07.38
cygwin とかの /home に添える
必要ならシンボリックリンク( git 管理するとか)
2022/07/27(水) 08:53:26.65
多分そういう変な事しなくても解決する内容の話題かと
2022/07/27(水) 09:05:01.86
どのVimか書かれてないから何とも
2022/07/27(水) 11:05:42.62
>>637
一般的な環境ならホーム直下に_vimrcとして置けば使える
2022/07/27(水) 11:08:47.02
真っ先に思いつくのはそういう事よな
2022/07/27(水) 13:39:49.77
環境変数HOMEを設定すれば別の所にも置けるんだっけ
2022/07/27(水) 14:34:39.55
wslのvimは別のvimrc見るからめんどくさい
2022/07/27(水) 14:43:04.73
それこそsymlinkでええやん
2022/07/27(水) 15:20:47.48
:versionみろ
2022/07/27(水) 15:52:06.29
:h vimrc だかを一度読んでみるといい
2022/07/27(水) 16:29:09.97
何を理解させんのかしらんが簡単なのはwslのVimで、

システム vimrc: "/etc/vim/vimrc"
ユーザー vimrc: "$HOME/.vimrc" -> /mnt/c/Users/ユーザー/_vimrc

みたくすればいいんでね?
2022/07/27(水) 19:23:11.09
vimrcはonedriveに置いてmklink/niコマンドでSymbolicLink指定、\Users\me\.vimrcに貼って使ってる
_でも.でもいいのは古いファイルシステムの名残りだろうか

winget install vimで入るvimはvimfilesなるフォルダ作ったけど、これはファイルシステム内でのフォルダへのリンクなので.vimへのJunctionにした
2022/07/27(水) 19:31:11.98
wingetパッケージのvimが9.0.0050になってるな、アップデしてみるか
2022/07/29(金) 01:34:33.73
:h vim9script読んだけど、vi互換のために譲歩したとの記述が未だに目立つな
歴史的に"vi"なんて山ほどあったはずだが、一体どのviなんだよ、と
まあIEEE/posixで定義された架空のvi、
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex.html
なんだろうけど、対話アプリケーションにUIの細部まで決める事自体が異質な感じがするんだが
本当にそこまで意識して使ってる/規定されてないと困るなんて人なんて存在するのかね?
折返し行は~で示す、折返し無しビジュアル選択でスクリーンに収まらない行には@で示す、論理行でなく表示行スクロール時の計算式まで明示とかポータビリティに一切関係なくね?

もちろんvimに非が無いとは言わない、[no]compatibleはcpoを弄ってホンシツ的にviのまま拡張を繰り返した
独立したvi互換モードと(微妙な)互換性を捨てたvimモードを分けでりゃ良かったんだよ
viとしても使えるという売り文句なら、それで満たせるだろ

よく非直感的だと不評を買うsetのパースも変更できないから、let &optのような変種を大量に生み出すことになってしまった(map等もそうだけど、未解決)
コマンド短縮ルールと一文字記号名のコマンドの継承で、短い一等地なコマンド名はほぼ占拠されてしまった
例えば|(パイプ、カラム移動)や#コマンド、ほぼ全ての記号がコマンドとして予約されてしまってるのがvimscriptの可読性の悪さの根源
|に至っては記号足りねーからセパレータにも流用して文法に曖昧性を産んだ

nviも触ってたが、一番普及してるだろうviであるvimへの贔屓は感じられるのでそこはまあ、有り難いと思う

:py3とか:perlとか組み込み拡張言語やバインディングも用意したけど、システムや別に入れた既存の処理系そのまま使えないことが多々、結局独自ビルドの処理系内蔵してバイナリ膨れ上がって衰退(vim9scriptのrationaleにも言葉を濁して触れてる)

vi風味を残しつつも後方互換性をスッパリ切った独自言語が必要な事は確かだが、俺にはそれがvim9scriptだとは思えない、vim10に期待…
2022/07/29(金) 01:48:37.44
散々貶しといてなんだけど、vimに名前そっくりで微妙に挙動の違うオプションが乱立してる経緯は、この規格読んだらちょっと理解できた気がする
俺くらいの平均的ユーザは一読する価値あると思う
2022/07/29(金) 18:17:11.43
ちょっと読んだけど、vimが自動で読み込むシンタックスハイライトやftプラグイン以外はviの範囲内の使い方しかしてない事に気付いた…意外とviだけで高機能

こういう規定は拡張性に深刻な問題あると思う
Commands that consist of any prefix of the characters in the command name delete, followed immediately by any of the characters 'l', 'p', '+', '-', or '#' shall be interpreted as a delete command, followed by a <blank>, followed by the characters that were not part of the prefix of the delete command. The maximum number of characters shall be matched to the command name delete; for example, "del" shall not be treated as "de" followed by the flag l.

接頭辞de-で始まる英単語が一体どれだけあるのかと
2022/07/29(金) 18:23:28.34
:commandによるユーザ定義コマンドが大文字縛りなのはこういう罠避けるために不可欠か
2022/07/30(土) 00:21:31.00
vimは後方互換を気にしてるからなあ
vimscriptがどうしても嫌ならneovimでLua書けばいいが答えになりそう
2022/08/04(木) 20:17:09.44
vimしか使えない環境になることなどないだろうからvimrcは捨てて完全にneovim+init.luaに移行しちゃった
2022/08/04(木) 21:25:11.43
neovimちゃんはLuaちゃんにぞっこんだよね、Vim9スクリプトには対応するのかしら?
vimscript v1と完全互換をうたっているから対応するとは思うけども
658名無しさん@お腹いっぱい。
垢版 |
2022/08/05(金) 10:20:34.94
'<,'>は選択範囲のある行を指定するが
行ではなく選択範囲を指定するのはなんだったかな?
659名無しさん@お腹いっぱい。
垢版 |
2022/08/07(日) 05:51:27.70
>>658
¥%V
2022/08/07(日) 08:31:10.13
exコマンドで行番号範囲指定時の区切り文字はセミコロンのようですが
このセミコロンについてのヘルプを見るキーワードは何でしょうか
h ; だと別の説明が出ます
661名無しさん@お腹いっぱい。
垢版 |
2022/08/07(日) 09:11:52.97
>>660
cmdline-ranges
https://vim-jp.org/vimdoc-ja/cmdline.html#cmdline-ranges
662名無しさん@お腹いっぱい。
垢版 |
2022/08/07(日) 09:14:00.54
>>660
:h :;
2022/08/07(日) 10:38:42.70
>>660
いつもコンマで指定していたのでセミコロン?って思ったが
どっちも使えるのか。知らなかったから勉強になったよ。
2022/08/07(日) 12:00:21.47
>>661-662
ありがとうです。Vimはヘルプが豊富なのはいいけど
ズバリのキーワードでないとたどり着けないものがあるのがもどかしいですね

>>663
自分はカンマの動作が難解で苦手なのでセミコロン派です
最近はビジュアル行モードも良いなと感じています
2022/08/07(日) 19:14:14.08
無引数:hで各種コマンドやオプションのの引き分け方が…と思ったら;はコマンドでもなく:[range]excmd ...のrangeの構文だから出ないのか

>>651にも,と;の記載があるので歴史は深そう

頻用で引きにくいのは構文の% # | あたりか、チュートリアル通読すれば書いてるはずだが


試してて:#[!]の存在に気が付いた
:#!
修飾子の乱用かよ
2022/08/07(日) 19:19:32.96
チュートリアル以外でちゃんと文法詳説されてるのはeval.txtと、そこからリンク貼られてる各所かね
2022/08/07(日) 19:24:04.30
おまじないの#! /path/to/vim -Sは特別扱いされてるのかとおもってたわ
:#コマンドの変種だったのな…
2022/08/09(火) 18:18:24.70
gvimで勉強してるのですが、jjをEscに置き換えているのですが、日本語モードでjjと押した時も置き換えたりできませんか?さすがに無理ですよね?
2022/08/09(火) 19:37:33.94
>>668

詳しくないけど自分の場合はESCで抜けるか CTRL+[ で抜ける

日本語入力モード時の挙動はVim側ではなく日本語入力システムに依存する気がする
670名無しさん@お腹いっぱい。
垢版 |
2022/08/09(火) 20:42:49.16
Plug 'tyru/eskk.vim'
let g:skk_sticky_key = ';'
inoremap <silent> jj <ESC>
inoremap <silent> っj <ESC>
2022/08/10(水) 20:56:32.57
俺はEcs派だからあまり意識してなかったけどjjとかに割り当てると抜けなくなるのか当然っちゃ当然だけどな
2022/08/11(木) 02:05:26.93
ひらがなでもマッピングできるっぽい
https://qiita.com/ssh0/items/9e7f0d8b8f033183dd0b
673名無しさん@お腹いっぱい。
垢版 |
2022/08/12(金) 22:48:28.64
neovim はいつ1.0になるんだ?
2022/08/12(金) 22:59:50.42
スレチ、どっかいけ
675名無しさん@お腹いっぱい。
垢版 |
2022/08/12(金) 23:02:22.93
意外にもまだ neo は時間掛っているんだな ->v1
676名無しさん@お腹いっぱい。
垢版 |
2022/08/12(金) 23:12:39.99
esc は独自の変更を加えないと遠いから
skk.vim 薦めるけどね
# インサートモード
<C-j>で 日本語入力に
l で半角英語入力に
jj は上のように日本語でも抜ける
抜けた時には安定して英語状態になる

#他のメリット
OSを選ばずvimが走る環境ならどこでも同じIME
遠方の<ESC> いらず
emacs でも ddskk で違和感少ない
変換の辞書の登録や削除が簡単

# 興味がでてきたら
🐬TOTUGEKI🐬
2022/08/13(土) 18:06:20.19
vimのskkはddskkほど安定してない気がしてやめた記憶があるけど最近はどうなのかな?
以前からあるeskkとは違うskkeletonを試しに導入してみたけど、
辞書サーバーにも対応してて今のところ無難に使えてる。
2022/08/15(月) 23:45:28.05
やっぱりちょっとまだいろいろ無理っぽい。
とりあえずuim-skkでかなり満足してるからいいけど。
679名無しさん@お腹いっぱい。
垢版 |
2022/08/16(火) 13:16:20.77
【芸能人体調不良】 多すぎ 【救急車のサイレン】
://rio2016.5ch.net/test/read.cgi/body/1651722234/l50
2022/08/17(水) 17:10:45.43
iとaを間違った時のイライラを救ってほしい・・・
2022/08/17(水) 18:37:52.58
それにはまず遠く離れたキーをどうやったら間違うかの説明をしないと
682名無しさん@お腹いっぱい。
垢版 |
2022/08/17(水) 19:32:01.25
dvorak keyboardという電波が飛んできた
これは左キャップロックから順にaoeui で並んでいる
a:右にカーソル潜らせたいのに左側に
i:左にカーソル(略
2022/08/17(水) 20:24:36.23
>>681
>>682が俺が言いたいことを言ってくれたよ
こういうこと。こんがらがる。aで左、iで右にカーソルが言ってくれれば何の問題もなかった・・・
684名無しさん@お腹いっぱい。
垢版 |
2022/08/17(水) 20:29:06.06
:imap :inoremap :iunmap Insert
これが役に立つかもな
685名無しさん@お腹いっぱい。
垢版 |
2022/08/17(水) 20:30:22.70
:noremap i a
:noremap a i
であった
2022/08/17(水) 21:27:47.82
i・・・insert
a・・・add(追記)
で覚えりゃ間違わん。まだ使い始めたばっかりなんだろうが慣れろ。
2022/08/17(水) 22:58:55.71
少しの間違いなどCtrl+[ さえ指先に浸透すりゃ全然気にならないと思うのは
多分おれがイナカモンで自然の恵みの影響下にあるからなんだろうな
2022/08/18(木) 16:05:32.16
Dvorakってこれか
https://i.imgur.com/LwgVilI.jpg

俺には全然合わなかったらしくスマホを豪速球でブン投げそうになったが
2022/08/18(木) 16:31:51.26
文章入力へのdvorak使用は悪くないけどdvorakのままvim使うのはノーマルモードのキーが大混乱して無理そう
2022/08/18(木) 17:02:13.62
指の位置で操作を記憶してるかアルファベットで操作を記憶してるか次第じゃない?
691名無しさん@お腹いっぱい。
垢版 |
2022/08/18(木) 17:25:14.87
emacs で腱鞘炎になってから dvorakJP で日本語入力の省略をしていたころは
vim emacs 共に qwerty に最適化したキーバーインド達が苦労するようになった
vim では jklh の配置が見ての通りバラバラになるし、skk も ; が小指から外れて
使いやすくなかった
2022/08/18(木) 20:46:44.45
日本語はかな入力で打つから安心してjjにマップできる
2022/08/19(金) 04:56:40.52
Dvorak といえば、Apple ][c
694名無しさん@お腹いっぱい。
垢版 |
2022/08/19(金) 06:19:59.45
まあ当然そうだよなーそうでないはずが無い
695名無しさん@お腹いっぱい。
垢版 |
2022/08/19(金) 13:26:59.15
^a, ^dで漢数字やローマ数字をインクリメント、デクリメントするようなアドイン?あります?

たとえば百三十二→百三十三、[→\、とインクリメントしてくれるようなの
696名無しさん@お腹いっぱい。
垢版 |
2022/08/19(金) 15:25:56.06
function search_digit(text} ) {......}
function (Rome2Kan){...}
function (Kan2Rome){...}
function (Rome2Greek){...}
function (Greek2Rome){...}
2022/08/19(金) 20:33:33.54
>>695
これ
https://github.com/tpope/vim-speeddating
ローマ数字は対応してるっぽい
カスタマイズもできそう
698名無しさん@お腹いっぱい。
垢版 |
2022/08/20(土) 01:32:58.43
>>697
ありがと〜

どっちかというと漢数字の方が必要なんで格闘してみる
699名無しさん@お腹いっぱい。
垢版 |
2022/08/20(土) 04:21:04.28
#perl
use Lingua::JA::Numbers;

my $enc = 'cp932';

my $str = num2ja(1234567890, {style => 'kanji'});
print Encode::encode($enc, $str), "\n"; # 十二億三千四百五十六万七千八百九十

my $str2 = ja2num(Encode::decode($enc, '六千五'), {style => 'kanji'});
print $str2, "\n"; # 6005
2022/08/30(火) 22:14:33.39
abcd
e

という文があるとして、これを一発で
abcde

に治せるキーってありますか?

普通のエディタだとeの前にカーソル置いてBSや
dの後ろにカーソル置いてDELキーだけでいいのですが。
2022/08/30(火) 22:19:05.12
>>700
Jx かなぁ
2キー使うけど
2022/08/30(火) 22:22:11.19
>>701
ありがとうございます。連結というの初めて知りました。これでも大丈夫です。
2022/08/31(水) 01:14:08.30
gj
704名無しさん@お腹いっぱい。
垢版 |
2022/08/31(水) 08:26:31.96
gj
xを使わずレジスタ荒らさずにすむ
2022/08/31(水) 08:33:26.13
ウチdとかxでレジスタに残らないように設定ファイルいじってる
たまにめんどくさいけど
2022/08/31(水) 08:36:17.58
gJ
かな?
2022/08/31(水) 09:47:11.78
グッジョブかと思った
gJは行頭のスペースがそのまま連結されるから、スペースが無い場合やスペース消してから複数行まとめて連結する際に使ってる
708名無しさん@お腹いっぱい。
垢版 |
2022/09/17(土) 06:41:49.46
vim9使うてる人いる?
ネット見てるとみんなneovimに移行してそうやけど。
2022/09/17(土) 07:44:39.50
ネット見てる(このスレ)
710名無しさん@お腹いっぱい。
垢版 |
2022/09/17(土) 12:07:12.83
version 8.1.1240
Oh my gosh
2022/09/17(土) 12:38:11.00
>>708
Vim7のままですな
これ以上アップデートする必要を感じない
2022/09/17(土) 12:41:30.59
g<C-a>使いたいからvim8は要る
terminalもたまに使う
713名無しさん@お腹いっぱい。
垢版 |
2022/09/17(土) 12:53:20.57
vim9 g<C-a> 消えちゃうの?
エイプリルフールじゃなくてマジか
2022/09/17(土) 13:19:40.02
vim9 や neovim へのこだわりが皆さん凄いんだな。
俺の頭は古臭いんだと思った。
2022/09/17(土) 16:56:31.65
Neovimでしか使えない優秀なプラグインも多いので自然とNeovimに移行した
2022/09/17(土) 18:31:40.19
vim8からvim9に移行したけど
いまのところ特に問題ない

というか、何が良くなったのか実感できない
2022/09/17(土) 18:56:08.08
>>714
人の置かれた環境と用途次第じゃね
自分は設定ファイルや簡単なシェルスクリプトの編集くらいにしか
使っていないから、ぶっちゃけ素のViでも構わないし
2022/09/17(土) 20:18:43.99
Neovimだとターミナルバッファ上でnormalモードのときにpキーでレジスタの内容がターミナルのカーソル位置に挿入されるんだけどvimのターミナルだと同じことができない。
ターミナルへペーストは結構便利なのでこれがないとvimへ戻ることはできない。
719名無しさん@お腹いっぱい。
垢版 |
2022/09/18(日) 02:49:42.68
確かに
vim8 term だと *レジスタから Shift+Insert ぐらいだろう
720名無しさん@お腹いっぱい。
垢版 |
2022/09/18(日) 19:59:18.61
https://vim.fandom.com/wiki/Example_vimrc

ここの.vimrcをそのままコピペしたけど、

gg
=G
しても左揃えになるだけで、綺麗にフォーマットしてくれないんだけどなぜ?
2022/09/18(日) 20:26:06.59
vimに取り組みだしてから きょうで4日目です!

gedit3-vim-mode というプラグインを使った gedit で練習してます。

りゆうはvimそのものだとあまりにも取っつきにくいからです。

これでよいでしょうかっ?
2022/09/18(日) 20:27:01.14
ザコが死ねよ
2022/09/18(日) 20:30:03.60
マジレスすると、vimtutor すれば、なのだけど釣なんだろうな
2022/09/18(日) 20:30:37.31
>>722
www 相手してほしいんか?したろか?
2022/09/18(日) 20:32:44.63
>>724
消え失せろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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